… | |
… | |
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.17'; |
125 | use XSLoader; |
125 | use XSLoader; |
|
|
126 | local $^W = 0; # avoid spurious warning |
126 | XSLoader::load "EV", $VERSION; |
127 | XSLoader::load "EV", $VERSION; |
127 | } |
128 | } |
128 | |
129 | |
129 | @EV::IO::ISA = |
130 | @EV::IO::ISA = |
130 | @EV::Timer::ISA = |
131 | @EV::Timer::ISA = |
… | |
… | |
681 | time: |
682 | time: |
682 | |
683 | |
683 | 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" }; |
684 | |
685 | |
685 | 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, |
686 | 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 |
687 | full hour (UTC). |
688 | full hour (UTC). |
688 | |
689 | |
689 | 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 |
690 | 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 |
691 | 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 |