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

Comparing Coro/EV/EV.xs (file contents):
Revision 1.23 by root, Sat Jun 20 08:58:00 2009 UTC vs.
Revision 1.24 by root, Mon Jun 22 11:25:53 2009 UTC

119slf_init_timer (pTHX_ struct CoroSLF *frame, CV *cv, SV **arg, int items) 119slf_init_timer (pTHX_ struct CoroSLF *frame, CV *cv, SV **arg, int items)
120{ 120{
121 SV *data; 121 SV *data;
122 NV after; 122 NV after;
123 123
124 if (items != 1) 124 if (items > 1)
125 croak ("Coro::EV::timer_once requires exactly one parameter, not %d.\n", items); 125 croak ("Coro::EV::timer_once requires at most one parameter, not %d.\n", items);
126 126
127 data = sv_2mortal (newRV_inc (CORO_CURRENT)); 127 data = sv_2mortal (newRV_inc (CORO_CURRENT));
128 frame->data = (void *)data; 128 frame->data = (void *)data;
129 frame->prepare = GCoroAPI->prepare_schedule; 129 frame->prepare = GCoroAPI->prepare_schedule;
130 frame->check = slf_check_once; 130 frame->check = slf_check_once;
131 131
132 after = SvNV (arg [0]); 132 after = items ? SvNV (arg [0]) : 0;
133 133
134 ev_once ( 134 ev_once (
135 EV_DEFAULT_UC, 135 EV_DEFAULT_UC,
136 -1, 136 -1,
137 0, 137 0,
316 --inhibit; 316 --inhibit;
317} 317}
318 318
319void 319void
320timed_io_once (...) 320timed_io_once (...)
321 PROTOTYPE: $$;$
321 CODE: 322 CODE:
322 CORO_EXECUTE_SLF_XS (slf_init_timed_io); 323 CORO_EXECUTE_SLF_XS (slf_init_timed_io);
323 324
324void 325void
325timer_once (...) 326timer_once (...)
327 PROTOTYPE: $
326 CODE: 328 CODE:
327 CORO_EXECUTE_SLF_XS (slf_init_timer); 329 CORO_EXECUTE_SLF_XS (slf_init_timer);
328 330
329void 331void
330readable_ev (...) 332_readable_ev (...)
331 CODE: 333 CODE:
332 items = 1; /* ignore the remaining args for speed inside Coro::Handle */ 334 items = 1; /* ignore the remaining args for speed inside Coro::Handle */
333 CORO_EXECUTE_SLF_XS (slf_init_readable); 335 CORO_EXECUTE_SLF_XS (slf_init_readable);
334 336
335void 337void
336writable_ev (...) 338_writable_ev (...)
337 CODE: 339 CODE:
338 items = 1; /* ignore the remaining args for speed inside Coro::Handle */ 340 items = 1; /* ignore the remaining args for speed inside Coro::Handle */
339 CORO_EXECUTE_SLF_XS (slf_init_writable); 341 CORO_EXECUTE_SLF_XS (slf_init_writable);
340 342

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines