… | |
… | |
47 | my ($w, $revents) = @_; |
47 | my ($w, $revents) = @_; |
48 | warn $w->path, " has changed somehow.\n"; |
48 | warn $w->path, " has changed somehow.\n"; |
49 | }; |
49 | }; |
50 | |
50 | |
51 | # MAINLOOP |
51 | # MAINLOOP |
52 | EV::run; # loop until EV::unloop is called or all watchers stop |
52 | EV::run; # loop until EV::break is called or all watchers stop |
53 | EV::run EV::RUN_ONCE; # block until at least one event could be handled |
53 | EV::run EV::RUN_ONCE; # block until at least one event could be handled |
54 | EV::run EV::RUN_NOWAIT; # try to handle same events, but do not block |
54 | EV::run EV::RUN_NOWAIT; # try to handle same events, but do not block |
55 | |
55 | |
56 | =head1 BEFORE YOU START USING THIS MODULE |
56 | =head1 BEFORE YOU START USING THIS MODULE |
57 | |
57 | |
… | |
… | |
119 | package EV; |
119 | package EV; |
120 | |
120 | |
121 | use common::sense; |
121 | use common::sense; |
122 | |
122 | |
123 | BEGIN { |
123 | BEGIN { |
124 | our $VERSION = '4.15'; |
124 | our $VERSION = '4.18'; |
125 | use XSLoader; |
125 | use XSLoader; |
126 | local $^W = 0; # avoid spurious warning |
126 | local $^W = 0; # avoid spurious warning |
127 | XSLoader::load "EV", $VERSION; |
127 | XSLoader::load "EV", $VERSION; |
128 | } |
128 | } |
129 | |
129 | |
… | |
… | |
296 | =item $active = EV::run [$flags] |
296 | =item $active = EV::run [$flags] |
297 | |
297 | |
298 | =item $active = $loop->run ([$flags]) |
298 | =item $active = $loop->run ([$flags]) |
299 | |
299 | |
300 | Begin checking for events and calling callbacks. It returns when a |
300 | Begin checking for events and calling callbacks. It returns when a |
301 | callback calls EV::unloop or the flasg are nonzero (in which case the |
301 | callback calls EV::break or the flasg are nonzero (in which case the |
302 | return value is true) or when there are no active watchers which reference |
302 | return value is true) or when there are no active watchers which reference |
303 | the loop (keepalive is true), in which case the return value will be |
303 | the loop (keepalive is true), in which case the return value will be |
304 | false. The returnv alue can generally be interpreted as "if true, there is |
304 | false. The returnv alue can generally be interpreted as "if true, there is |
305 | more work left to do". |
305 | more work left to do". |
306 | |
306 | |
… | |
… | |
682 | time: |
682 | time: |
683 | |
683 | |
684 | my $hourly = EV::periodic 0, 3600, 0, sub { print "once/hour\n" }; |
684 | my $hourly = EV::periodic 0, 3600, 0, sub { print "once/hour\n" }; |
685 | |
685 | |
686 | That doesn't mean there will always be 3600 seconds in between triggers, |
686 | That doesn't mean there will always be 3600 seconds in between triggers, |
687 | but only that the the clalback will be called when the system time shows a |
687 | but only that the the callback will be called when the system time shows a |
688 | full hour (UTC). |
688 | full hour (UTC). |
689 | |
689 | |
690 | Another way to think about it (for the mathematically inclined) is that |
690 | Another way to think about it (for the mathematically inclined) is that |
691 | EV::periodic will try to run the callback in this mode at the next |
691 | EV::periodic will try to run the callback in this mode at the next |
692 | possible time where C<$time = $at (mod $interval)>, regardless of any time |
692 | possible time where C<$time = $at (mod $interval)>, regardless of any time |