… | |
… | |
244 | else |
244 | else |
245 | sv_events_cache = sv_events; |
245 | sv_events_cache = sv_events; |
246 | |
246 | |
247 | if (SvTRUE (ERRSV)) |
247 | if (SvTRUE (ERRSV)) |
248 | { |
248 | { |
|
|
249 | SPAGAIN; |
249 | PUSHMARK (SP); |
250 | PUSHMARK (SP); |
250 | PUTBACK; |
251 | PUTBACK; |
251 | call_sv (get_sv ("EV::DIED", 1), G_DISCARD | G_VOID | G_EVAL | G_KEEPERR); |
252 | call_sv (get_sv ("EV::DIED", 1), G_DISCARD | G_VOID | G_EVAL | G_KEEPERR); |
252 | } |
253 | } |
253 | |
254 | |
… | |
… | |
402 | evapi.child_start = ev_child_start; |
403 | evapi.child_start = ev_child_start; |
403 | evapi.child_stop = ev_child_stop; |
404 | evapi.child_stop = ev_child_stop; |
404 | evapi.stat_start = ev_stat_start; |
405 | evapi.stat_start = ev_stat_start; |
405 | evapi.stat_stop = ev_stat_stop; |
406 | evapi.stat_stop = ev_stat_stop; |
406 | evapi.stat_stat = ev_stat_stat; |
407 | evapi.stat_stat = ev_stat_stat; |
|
|
408 | evapi.clear_pending = ev_clear_pending; |
407 | |
409 | |
408 | sv_setiv (sv, (IV)&evapi); |
410 | sv_setiv (sv, (IV)&evapi); |
409 | SvREADONLY_on (sv); |
411 | SvREADONLY_on (sv); |
410 | } |
412 | } |
411 | #ifndef _WIN32 |
413 | #ifndef _WIN32 |
… | |
… | |
419 | |
421 | |
420 | NV ev_time () |
422 | NV ev_time () |
421 | |
423 | |
422 | unsigned int ev_default_loop (unsigned int flags = ev_supported_backends ()) |
424 | unsigned int ev_default_loop (unsigned int flags = ev_supported_backends ()) |
423 | |
425 | |
|
|
426 | unsigned int ev_loop_count () |
|
|
427 | |
424 | void ev_loop (int flags = 0) |
428 | void ev_loop (int flags = 0) |
425 | |
429 | |
426 | void ev_unloop (int how = 1) |
430 | void ev_unloop (int how = 1) |
427 | |
431 | |
428 | ev_io *io (SV *fh, int events, SV *cb) |
432 | ev_io *io (SV *fh, int events, SV *cb) |
… | |
… | |
605 | |
609 | |
606 | if (items > 1) |
610 | if (items > 1) |
607 | { |
611 | { |
608 | int active = ev_is_active (w); |
612 | int active = ev_is_active (w); |
609 | |
613 | |
610 | if (new_priority < EV_MINPRI || new_priority > EV_MAXPRI) |
|
|
611 | croak ("watcher priority out of range, value must be between %d and %d, inclusive", EV_MINPRI, EV_MAXPRI); |
|
|
612 | |
|
|
613 | if (active) |
614 | if (active) |
614 | { |
615 | { |
615 | /* grrr. */ |
616 | /* grrr. */ |
616 | PUSHMARK (SP); |
617 | PUSHMARK (SP); |
617 | XPUSHs (ST (0)); |
618 | XPUSHs (ST (0)); |
|
|
619 | PUTBACK; |
618 | call_method ("stop", G_DISCARD | G_VOID); |
620 | call_method ("stop", G_DISCARD | G_VOID); |
619 | } |
621 | } |
620 | |
622 | |
621 | ev_set_priority (w, new_priority); |
623 | ev_set_priority (w, new_priority); |
622 | |
624 | |
623 | if (active) |
625 | if (active) |
624 | { |
626 | { |
625 | PUSHMARK (SP); |
627 | PUSHMARK (SP); |
626 | XPUSHs (ST (0)); |
628 | XPUSHs (ST (0)); |
|
|
629 | PUTBACK; |
627 | call_method ("start", G_DISCARD | G_VOID); |
630 | call_method ("start", G_DISCARD | G_VOID); |
628 | } |
631 | } |
629 | } |
632 | } |
630 | } |
633 | } |
631 | OUTPUT: |
634 | OUTPUT: |