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

Comparing EV/EV.xs (file contents):
Revision 1.126 by root, Tue Jul 14 00:09:59 2009 UTC vs.
Revision 1.130 by root, Wed Jul 15 16:58:53 2009 UTC

5/* fix perl api breakage */ 5/* fix perl api breakage */
6#undef signal 6#undef signal
7#undef sigaction 7#undef sigaction
8 8
9#include "schmorp.h" 9#include "schmorp.h"
10
11/* old API compatibility */
12static int
13sv_fileno (SV *fh)
14{
15 return s_fileno (fh, 0);
16}
10 17
11#define EV_PROTOTYPES 1 18#define EV_PROTOTYPES 1
12#define EV_USE_NANOSLEEP EV_USE_MONOTONIC 19#define EV_USE_NANOSLEEP EV_USE_MONOTONIC
13#define EV_H <ev.h> 20#define EV_H <ev.h>
14#include "EV/EVAPI.h" 21#include "EV/EVAPI.h"
389 perl_get_sv ("EV::API", TRUE); /* silence 5.10 warning */ 396 perl_get_sv ("EV::API", TRUE); /* silence 5.10 warning */
390 397
391 /* the poor man's shared library emulator */ 398 /* the poor man's shared library emulator */
392 evapi.ver = EV_API_VERSION; 399 evapi.ver = EV_API_VERSION;
393 evapi.rev = EV_API_REVISION; 400 evapi.rev = EV_API_REVISION;
394 evapi.sv_fileno = s_fileno; 401 evapi.sv_fileno = sv_fileno;
395 evapi.sv_signum = s_signum; 402 evapi.sv_signum = s_signum;
396 evapi.supported_backends = ev_supported_backends (); 403 evapi.supported_backends = ev_supported_backends ();
397 evapi.recommended_backends = ev_recommended_backends (); 404 evapi.recommended_backends = ev_recommended_backends ();
398 evapi.embeddable_backends = ev_embeddable_backends (); 405 evapi.embeddable_backends = ev_embeddable_backends ();
399 evapi.time_ = ev_time; 406 evapi.time_ = ev_time;
410 evapi.suspend = ev_suspend; 417 evapi.suspend = ev_suspend;
411 evapi.resume = ev_resume; 418 evapi.resume = ev_resume;
412 evapi.backend = ev_backend; 419 evapi.backend = ev_backend;
413 evapi.unloop = ev_unloop; 420 evapi.unloop = ev_unloop;
414 evapi.invoke_pending = ev_invoke_pending; 421 evapi.invoke_pending = ev_invoke_pending;
422 evapi.pending_count = ev_pending_count;
415 evapi.set_loop_release_cb = ev_set_loop_release_cb; 423 evapi.set_loop_release_cb = ev_set_loop_release_cb;
416 evapi.set_invoke_pending_cb= ev_set_invoke_pending_cb; 424 evapi.set_invoke_pending_cb= ev_set_invoke_pending_cb;
417 evapi.ref = ev_ref; 425 evapi.ref = ev_ref;
418 evapi.unref = ev_unref; 426 evapi.unref = ev_unref;
419 evapi.loop = ev_loop; 427 evapi.loop = ev_loop;
421 evapi.io_start = ev_io_start; 429 evapi.io_start = ev_io_start;
422 evapi.io_stop = ev_io_stop; 430 evapi.io_stop = ev_io_stop;
423 evapi.timer_start = ev_timer_start; 431 evapi.timer_start = ev_timer_start;
424 evapi.timer_stop = ev_timer_stop; 432 evapi.timer_stop = ev_timer_stop;
425 evapi.timer_again = ev_timer_again; 433 evapi.timer_again = ev_timer_again;
434 evapi.timer_remaining = ev_timer_remaining;
426 evapi.periodic_start = ev_periodic_start; 435 evapi.periodic_start = ev_periodic_start;
427 evapi.periodic_stop = ev_periodic_stop; 436 evapi.periodic_stop = ev_periodic_stop;
428 evapi.signal_start = ev_signal_start; 437 evapi.signal_start = ev_signal_start;
429 evapi.signal_stop = ev_signal_stop; 438 evapi.signal_stop = ev_signal_stop;
430 evapi.idle_start = ev_idle_start; 439 evapi.idle_start = ev_idle_start;
537 CHECK_SIG (signal, signum); 546 CHECK_SIG (signal, signum);
538 547
539 ev_feed_signal_event (evapi.default_loop, signum); 548 ev_feed_signal_event (evapi.default_loop, signum);
540} 549}
541 550
551unsigned int ev_pending_count ()
552 C_ARGS: evapi.default_loop
553
554void ev_invoke_pending ()
555 C_ARGS: evapi.default_loop
556
542ev_io *io (SV *fh, int events, SV *cb) 557ev_io *io (SV *fh, int events, SV *cb)
543 ALIAS: 558 ALIAS:
544 io_ns = 1 559 io_ns = 1
545 CODE: 560 CODE:
546{ 561{
907 INIT: 922 INIT:
908 CHECK_REPEAT (w->repeat); 923 CHECK_REPEAT (w->repeat);
909 CODE: 924 CODE:
910 ev_timer_again (e_loop (w), w); 925 ev_timer_again (e_loop (w), w);
911 UNREF (w); 926 UNREF (w);
927
928NV ev_timer_remaining (ev_timer *w)
929 C_ARGS: e_loop (w), w
912 930
913void DESTROY (ev_timer *w) 931void DESTROY (ev_timer *w)
914 CODE: 932 CODE:
915 STOP (timer, w); 933 STOP (timer, w);
916 e_destroy (w); 934 e_destroy (w);
1245 1263
1246void ev_unloop (struct ev_loop *loop, int how = 1) 1264void ev_unloop (struct ev_loop *loop, int how = 1)
1247 1265
1248void ev_feed_fd_event (struct ev_loop *loop, int fd, int revents = EV_NONE) 1266void ev_feed_fd_event (struct ev_loop *loop, int fd, int revents = EV_NONE)
1249 1267
1268unsigned int ev_pending_count (struct ev_loop *loop)
1269
1270void ev_invoke_pending (struct ev_loop *loop)
1271
1250#if 0 1272#if 0
1251 1273
1252void ev_feed_signal_event (struct ev_loop *loop, SV *signal) 1274void ev_feed_signal_event (struct ev_loop *loop, SV *signal)
1253 CODE: 1275 CODE:
1254{ 1276{

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines