ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/EV/EV.xs
(Generate patch)

Comparing EV/EV.xs (file contents):
Revision 1.132 by root, Sun Jul 19 21:59:55 2009 UTC vs.
Revision 1.137 by root, Tue Mar 16 20:43:05 2010 UTC

13sv_fileno (SV *fh) 13sv_fileno (SV *fh)
14{ 14{
15 return s_fileno (fh, 0); 15 return s_fileno (fh, 0);
16} 16}
17 17
18#define EV_STANDALONE 1
18#define EV_PROTOTYPES 1 19#define EV_PROTOTYPES 1
19#define EV_USE_NANOSLEEP EV_USE_MONOTONIC 20#define EV_USE_NANOSLEEP EV_USE_MONOTONIC
20#define EV_H <ev.h> 21#define EV_H <ev.h>
22#define EV_CONFIG_H error
21#include "EV/EVAPI.h" 23#include "EV/EVAPI.h"
22 24
23#define EV_SELECT_IS_WINSOCKET 0 25#define EV_SELECT_IS_WINSOCKET 0
24#ifdef _WIN32 26#ifdef _WIN32
25# define EV_SELECT_USE_FD_SET 0 27# define EV_SELECT_USE_FD_SET 0
358 const_iv (EV_, UNDEF) 360 const_iv (EV_, UNDEF)
359 const_iv (EV_, NONE) 361 const_iv (EV_, NONE)
360 const_iv (EV_, READ) 362 const_iv (EV_, READ)
361 const_iv (EV_, WRITE) 363 const_iv (EV_, WRITE)
362 const_iv (EV_, IO) 364 const_iv (EV_, IO)
363 const_iv (EV_, TIMEOUT) 365 const_iv (EV_, TIMEOUT) /* deprecated */
364 const_iv (EV_, TIMER) 366 const_iv (EV_, TIMER)
365 const_iv (EV_, PERIODIC) 367 const_iv (EV_, PERIODIC)
366 const_iv (EV_, SIGNAL) 368 const_iv (EV_, SIGNAL)
367 const_iv (EV_, CHILD) 369 const_iv (EV_, CHILD)
368 const_iv (EV_, STAT) 370 const_iv (EV_, STAT)
386 const_iv (EV, BACKEND_POLL) 388 const_iv (EV, BACKEND_POLL)
387 const_iv (EV, BACKEND_EPOLL) 389 const_iv (EV, BACKEND_EPOLL)
388 const_iv (EV, BACKEND_KQUEUE) 390 const_iv (EV, BACKEND_KQUEUE)
389 const_iv (EV, BACKEND_DEVPOLL) 391 const_iv (EV, BACKEND_DEVPOLL)
390 const_iv (EV, BACKEND_PORT) 392 const_iv (EV, BACKEND_PORT)
393 const_iv (EV, BACKEND_ALL)
391 const_iv (EV, FLAG_AUTO) 394 const_iv (EV, FLAG_AUTO)
395 const_iv (EV, FLAG_FORKCHECK)
396 const_iv (EV, FLAG_SIGNALFD)
392 const_iv (EV, FLAG_NOENV) 397 const_iv (EV, FLAG_NOENV)
398 const_iv (EV, FLAG_NOSIGFD) /* compatibility, always 0 */
393 const_iv (EV, FLAG_FORKCHECK) 399 const_iv (EV, FLAG_NOINOTIFY)
394 400
395 const_iv (EV_, VERSION_MAJOR) 401 const_iv (EV_, VERSION_MAJOR)
396 const_iv (EV_, VERSION_MINOR) 402 const_iv (EV_, VERSION_MINOR)
397 }; 403 };
398 404
429 evapi.time_ = ev_time; 435 evapi.time_ = ev_time;
430 evapi.sleep_ = ev_sleep; 436 evapi.sleep_ = ev_sleep;
431 evapi.loop_new = ev_loop_new; 437 evapi.loop_new = ev_loop_new;
432 evapi.loop_destroy = ev_loop_destroy; 438 evapi.loop_destroy = ev_loop_destroy;
433 evapi.loop_fork = ev_loop_fork; 439 evapi.loop_fork = ev_loop_fork;
434 evapi.loop_count = ev_loop_count; 440 evapi.iteration = ev_iteration;
435 evapi.loop_depth = ev_loop_depth; 441 evapi.depth = ev_depth;
436 evapi.set_userdata = ev_set_userdata; 442 evapi.set_userdata = ev_set_userdata;
437 evapi.userdata = ev_userdata; 443 evapi.userdata = ev_userdata;
438 evapi.now = ev_now; 444 evapi.now = ev_now;
439 evapi.now_update = ev_now_update; 445 evapi.now_update = ev_now_update;
440 evapi.suspend = ev_suspend; 446 evapi.suspend = ev_suspend;
441 evapi.resume = ev_resume; 447 evapi.resume = ev_resume;
442 evapi.backend = ev_backend; 448 evapi.backend = ev_backend;
443 evapi.unloop = ev_unloop; 449 evapi.unloop = ev_unloop;
444 evapi.invoke_pending = ev_invoke_pending; 450 evapi.invoke_pending = ev_invoke_pending;
445 evapi.pending_count = ev_pending_count; 451 evapi.pending_count = ev_pending_count;
452 evapi.verify = ev_verify;
446 evapi.set_loop_release_cb = ev_set_loop_release_cb; 453 evapi.set_loop_release_cb = ev_set_loop_release_cb;
447 evapi.set_invoke_pending_cb= ev_set_invoke_pending_cb; 454 evapi.set_invoke_pending_cb= ev_set_invoke_pending_cb;
448 evapi.ref = ev_ref; 455 evapi.ref = ev_ref;
449 evapi.unref = ev_unref; 456 evapi.unref = ev_unref;
450 evapi.loop = ev_loop; 457 evapi.loop = ev_loop;
536 C_ARGS: evapi.default_loop 543 C_ARGS: evapi.default_loop
537 544
538unsigned int ev_backend () 545unsigned int ev_backend ()
539 C_ARGS: evapi.default_loop 546 C_ARGS: evapi.default_loop
540 547
541void ev_loop_verify () 548void ev_verify ()
542 C_ARGS: evapi.default_loop 549 C_ARGS: evapi.default_loop
543 550
544unsigned int ev_loop_count () 551unsigned int ev_iteration ()
545 C_ARGS: evapi.default_loop 552 C_ARGS: evapi.default_loop
546 553
547unsigned int ev_loop_depth () 554unsigned int ev_depth ()
548 C_ARGS: evapi.default_loop 555 C_ARGS: evapi.default_loop
549 556
550void ev_set_io_collect_interval (NV interval) 557void ev_set_io_collect_interval (NV interval)
551 C_ARGS: evapi.default_loop, interval 558 C_ARGS: evapi.default_loop, interval
552 559
578 C_ARGS: evapi.default_loop 585 C_ARGS: evapi.default_loop
579 586
580ev_io *io (SV *fh, int events, SV *cb) 587ev_io *io (SV *fh, int events, SV *cb)
581 ALIAS: 588 ALIAS:
582 io_ns = 1 589 io_ns = 1
590 _ae_io = 2
583 CODE: 591 CODE:
584{ 592{
585 int fd = s_fileno (fh, events & EV_WRITE); 593 int fd = s_fileno (fh, events & EV_WRITE);
586 CHECK_FD (fh, fd); 594 CHECK_FD (fh, fd);
595
596 if (ix == 2)
597 {
598 ix = 0;
599 events = events ? EV_WRITE : EV_READ;
600 }
587 601
588 RETVAL = e_new (sizeof (ev_io), cb, default_loop_sv); 602 RETVAL = e_new (sizeof (ev_io), cb, default_loop_sv);
589 RETVAL->fh = newSVsv (fh); 603 RETVAL->fh = newSVsv (fh);
590 ev_io_set (RETVAL, fd, events); 604 ev_io_set (RETVAL, fd, events);
591 if (!ix) START (io, RETVAL); 605 if (!ix) START (io, RETVAL);
1260 if (loop != evapi.default_loop) /* global destruction sucks */ 1274 if (loop != evapi.default_loop) /* global destruction sucks */
1261 ev_loop_destroy (loop); 1275 ev_loop_destroy (loop);
1262 1276
1263void ev_loop_fork (struct ev_loop *loop) 1277void ev_loop_fork (struct ev_loop *loop)
1264 1278
1265void ev_loop_verify (struct ev_loop *loop) 1279void ev_verify (struct ev_loop *loop)
1266 1280
1267NV ev_now (struct ev_loop *loop) 1281NV ev_now (struct ev_loop *loop)
1268 1282
1269void ev_now_update (struct ev_loop *loop) 1283void ev_now_update (struct ev_loop *loop)
1270 1284
1276 1290
1277void ev_set_timeout_collect_interval (struct ev_loop *loop, NV interval) 1291void ev_set_timeout_collect_interval (struct ev_loop *loop, NV interval)
1278 1292
1279unsigned int ev_backend (struct ev_loop *loop) 1293unsigned int ev_backend (struct ev_loop *loop)
1280 1294
1281unsigned int ev_loop_count (struct ev_loop *loop) 1295unsigned int ev_iteration (struct ev_loop *loop)
1282 1296
1283unsigned int ev_loop_depth (struct ev_loop *loop) 1297unsigned int ev_depth (struct ev_loop *loop)
1284 1298
1285void ev_loop (struct ev_loop *loop, int flags = 0) 1299void ev_loop (struct ev_loop *loop, int flags = 0)
1286 1300
1287void ev_unloop (struct ev_loop *loop, int how = 1) 1301void ev_unloop (struct ev_loop *loop, int how = 1)
1288 1302

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines