… | |
… | |
195 | |
195 | |
196 | EV::now_update |
196 | EV::now_update |
197 | $loop->now_update |
197 | $loop->now_update |
198 | Establishes the current time by querying the kernel, updating the |
198 | Establishes the current time by querying the kernel, updating the |
199 | time returned by "EV::now" in the progress. This is a costly |
199 | time returned by "EV::now" in the progress. This is a costly |
200 | operation and is usually done automatically within "EV::loop". |
200 | operation and is usually done automatically within "EV::run". |
201 | |
201 | |
202 | This function is rarely useful, but when some event callback runs |
202 | This function is rarely useful, but when some event callback runs |
203 | for a very long time without entering the event loop, updating |
203 | for a very long time without entering the event loop, updating |
204 | libev's idea of the current time is a good idea. |
204 | libev's idea of the current time is a good idea. |
205 | |
205 | |
… | |
… | |
251 | EV::RUN_NOWAIT do not block at all (fetch/handle events but do not wait) |
251 | EV::RUN_NOWAIT do not block at all (fetch/handle events but do not wait) |
252 | |
252 | |
253 | EV::break [$how] |
253 | EV::break [$how] |
254 | $loop->break ([$how]) |
254 | $loop->break ([$how]) |
255 | When called with no arguments or an argument of EV::BREAK_ONE, makes |
255 | When called with no arguments or an argument of EV::BREAK_ONE, makes |
256 | the innermost call to EV::loop return. |
256 | the innermost call to EV::run return. |
257 | |
257 | |
258 | When called with an argument of EV::BREAK_ALL, all calls to EV::loop |
258 | When called with an argument of EV::BREAK_ALL, all calls to EV::run |
259 | will return as fast as possible. |
259 | will return as fast as possible. |
260 | |
260 | |
261 | When called with an argument of EV::BREAK_CANCEL, any pending break |
261 | When called with an argument of EV::BREAK_CANCEL, any pending break |
262 | will be cancelled. |
262 | will be cancelled. |
263 | |
263 | |
… | |
… | |
301 | call as if the signal specified by $signal had occured. |
301 | call as if the signal specified by $signal had occured. |
302 | |
302 | |
303 | EV::feed_signal $signal |
303 | EV::feed_signal $signal |
304 | Feed a signal event into EV - unlike "EV::feed_signal_event", this |
304 | Feed a signal event into EV - unlike "EV::feed_signal_event", this |
305 | works regardless of which loop has registered the signal, and is |
305 | works regardless of which loop has registered the signal, and is |
306 | mainly useful fro custom signal implementations. |
306 | mainly useful for custom signal implementations. |
307 | |
307 | |
308 | EV::set_io_collect_interval $time |
308 | EV::set_io_collect_interval $time |
309 | $loop->set_io_collect_interval ($time) |
309 | $loop->set_io_collect_interval ($time) |
310 | EV::set_timeout_collect_interval $time |
310 | EV::set_timeout_collect_interval $time |
311 | $loop->set_timeout_collect_interval ($time) |
311 | $loop->set_timeout_collect_interval ($time) |
… | |
… | |
414 | If the watcher is pending, this function clears its pending status |
414 | If the watcher is pending, this function clears its pending status |
415 | and returns its $revents bitset (as if its callback was invoked). If |
415 | and returns its $revents bitset (as if its callback was invoked). If |
416 | the watcher isn't pending it does nothing and returns 0. |
416 | the watcher isn't pending it does nothing and returns 0. |
417 | |
417 | |
418 | $previous_state = $w->keepalive ($bool) |
418 | $previous_state = $w->keepalive ($bool) |
419 | Normally, "EV::loop" will return when there are no active watchers |
419 | Normally, "EV::run" will return when there are no active watchers |
420 | (which is a "deadlock" because no progress can be made anymore). |
420 | (which is a "deadlock" because no progress can be made anymore). |
421 | This is convenient because it allows you to start your watchers (and |
421 | This is convenient because it allows you to start your watchers (and |
422 | your jobs), call "EV::loop" once and when it returns you know that |
422 | your jobs), call "EV::run" once and when it returns you know that |
423 | all your jobs are finished (or they forgot to register some watchers |
423 | all your jobs are finished (or they forgot to register some watchers |
424 | for their task :). |
424 | for their task :). |
425 | |
425 | |
426 | Sometimes, however, this gets in your way, for example when the |
426 | Sometimes, however, this gets in your way, for example when the |
427 | module that calls "EV::loop" (usually the main program) is not the |
427 | module that calls "EV::run" (usually the main program) is not the |
428 | same module as a long-living watcher (for example a DNS client |
428 | same module as a long-living watcher (for example a DNS client |
429 | module written by somebody else even). Then you might want any |
429 | module written by somebody else even). Then you might want any |
430 | outstanding requests to be handled, but you would not want to keep |
430 | outstanding requests to be handled, but you would not want to keep |
431 | "EV::loop" from returning just because you happen to have this |
431 | "EV::run" from returning just because you happen to have this |
432 | long-running UDP port watcher. |
432 | long-running UDP port watcher. |
433 | |
433 | |
434 | In this case you can clear the keepalive status, which means that |
434 | In this case you can clear the keepalive status, which means that |
435 | even though your watcher is active, it won't keep "EV::loop" from |
435 | even though your watcher is active, it won't keep "EV::run" from |
436 | returning. |
436 | returning. |
437 | |
437 | |
438 | The initial value for keepalive is true (enabled), and you can |
438 | The initial value for keepalive is true (enabled), and you can |
439 | change it any time. |
439 | change it any time. |
440 | |
440 | |
… | |
… | |
530 | If called with a $repeat argument, then it uses this a timer repeat |
530 | If called with a $repeat argument, then it uses this a timer repeat |
531 | value. |
531 | value. |
532 | |
532 | |
533 | $after = $w->remaining |
533 | $after = $w->remaining |
534 | Calculates and returns the remaining time till the timer will fire. |
534 | Calculates and returns the remaining time till the timer will fire. |
|
|
535 | |
|
|
536 | $repeat = $w->repeat |
|
|
537 | $old_repeat = $w->repeat ($new_repeat) |
|
|
538 | Returns the current value of the repeat attribute and optionally |
|
|
539 | sets a new one. Setting the new one will not restart the watcher - |
|
|
540 | if the watcher is active, the new repeat value is used whenever it |
|
|
541 | expires next. |
535 | |
542 | |
536 | PERIODIC WATCHERS - to cron or not to cron? |
543 | PERIODIC WATCHERS - to cron or not to cron? |
537 | $w = EV::periodic $at, $interval, $reschedule_cb, $callback |
544 | $w = EV::periodic $at, $interval, $reschedule_cb, $callback |
538 | $w = EV::periodic_ns $at, $interval, $reschedule_cb, $callback |
545 | $w = EV::periodic_ns $at, $interval, $reschedule_cb, $callback |
539 | $w = $loop->periodic ($at, $interval, $reschedule_cb, $callback) |
546 | $w = $loop->periodic ($at, $interval, $reschedule_cb, $callback) |
… | |
… | |
620 | Simply stops and starts the watcher again. |
627 | Simply stops and starts the watcher again. |
621 | |
628 | |
622 | $time = $w->at |
629 | $time = $w->at |
623 | Return the time that the watcher is expected to trigger next. |
630 | Return the time that the watcher is expected to trigger next. |
624 | |
631 | |
|
|
632 | $offset = $w->offset |
|
|
633 | $old_offset = $w->offset ($new_offset) |
|
|
634 | Returns the current value of the offset attribute and optionally |
|
|
635 | sets a new one. Setting the new one will not restart the watcher - |
|
|
636 | if the watcher is active, the new offset value is used whenever it |
|
|
637 | expires next. |
|
|
638 | |
|
|
639 | $interval = $w->interval |
|
|
640 | $old_interval = $w->interval ($new_interval) |
|
|
641 | See above, for the interval attribute. |
|
|
642 | |
|
|
643 | $reschedule_cb = $w->reschedule_cb |
|
|
644 | $old_reschedule_cb = $w->reschedule_cb ($new_reschedule_cb) |
|
|
645 | See above, for the reschedule callback. |
|
|
646 | |
625 | SIGNAL WATCHERS - signal me when a signal gets signalled! |
647 | SIGNAL WATCHERS - signal me when a signal gets signalled! |
626 | $w = EV::signal $signal, $callback |
648 | $w = EV::signal $signal, $callback |
627 | $w = EV::signal_ns $signal, $callback |
649 | $w = EV::signal_ns $signal, $callback |
628 | $w = $loop->signal ($signal, $callback) |
650 | $w = $loop->signal ($signal, $callback) |
629 | $w = $loop->signal_ns ($signal, $callback) |
651 | $w = $loop->signal_ns ($signal, $callback) |
… | |
… | |
693 | entry in perlfunc). |
715 | entry in perlfunc). |
694 | |
716 | |
695 | $pid = $w->rpid |
717 | $pid = $w->rpid |
696 | Return the pid of the awaited child (useful when you have installed |
718 | Return the pid of the awaited child (useful when you have installed |
697 | a watcher for all pids). |
719 | a watcher for all pids). |
|
|
720 | |
|
|
721 | EV::Child::reinit [EXPERIMENTAL] |
|
|
722 | Internally, libev installs a signal handler for "SIGCHLD". |
|
|
723 | Unfortunately, a lot of Perl code does soemthing like "local |
|
|
724 | $SIG{CHLD}", which, unfortunately, is broken and will not restore |
|
|
725 | the signal handler. |
|
|
726 | |
|
|
727 | If this has happened, you can call this function to stop/rrestart |
|
|
728 | the internal libev watcher, which will reset the signal handler. |
|
|
729 | |
|
|
730 | Note that this is an experimental function, whose interface might |
|
|
731 | change. |
698 | |
732 | |
699 | STAT WATCHERS - did the file attributes just change? |
733 | STAT WATCHERS - did the file attributes just change? |
700 | $w = EV::stat $path, $interval, $callback |
734 | $w = EV::stat $path, $interval, $callback |
701 | $w = EV::stat_ns $path, $interval, $callback |
735 | $w = EV::stat_ns $path, $interval, $callback |
702 | $w = $loop->stat ($path, $interval, $callback) |
736 | $w = $loop->stat ($path, $interval, $callback) |