… | |
… | |
74 | package EV; |
74 | package EV; |
75 | |
75 | |
76 | use strict; |
76 | use strict; |
77 | |
77 | |
78 | BEGIN { |
78 | BEGIN { |
79 | our $VERSION = '3.33'; |
79 | our $VERSION = '3.41'; |
80 | use XSLoader; |
80 | use XSLoader; |
81 | XSLoader::load "EV", $VERSION; |
81 | XSLoader::load "EV", $VERSION; |
82 | } |
82 | } |
83 | |
83 | |
84 | @EV::IO::ISA = |
84 | @EV::IO::ISA = |
… | |
… | |
130 | |
130 | |
131 | =item $loop->loop_fork |
131 | =item $loop->loop_fork |
132 | |
132 | |
133 | Must be called after a fork in the child, before entering or continuing |
133 | Must be called after a fork in the child, before entering or continuing |
134 | the event loop. An alternative is to use C<EV::FLAG_FORKCHECK> which calls |
134 | the event loop. An alternative is to use C<EV::FLAG_FORKCHECK> which calls |
135 | this fucntion automatically, at some performance loss (refer to the libev |
135 | this function automatically, at some performance loss (refer to the libev |
136 | documentation). |
136 | documentation). |
137 | |
137 | |
|
|
138 | =item $loop->loop_verify |
|
|
139 | |
|
|
140 | Calls C<ev_verify> to make internal consistency checks (for debugging |
|
|
141 | libev) and abort the program if any data structures wree found to be |
|
|
142 | corrupted. |
|
|
143 | |
138 | =item $loop = EV::default_loop [$flags] |
144 | =item $loop = EV::default_loop [$flags] |
139 | |
145 | |
140 | Return the default loop (which is a singleton object). |
146 | Return the default loop (which is a singleton object). Since this module |
|
|
147 | already creates the default loop with default flags, specifying flags here |
|
|
148 | will not have any effect unless you destroy the default loop. |
141 | |
149 | |
142 | =back |
150 | =back |
143 | |
151 | |
144 | |
152 | |
145 | =head1 BASIC INTERFACE |
153 | =head1 BASIC INTERFACE |
… | |
… | |
568 | time the periodic watcher gets scheduled, the reschedule callback |
576 | time the periodic watcher gets scheduled, the reschedule callback |
569 | ($reschedule_cb) will be called with the watcher as first, and the current |
577 | ($reschedule_cb) will be called with the watcher as first, and the current |
570 | time as second argument. |
578 | time as second argument. |
571 | |
579 | |
572 | I<This callback MUST NOT stop or destroy this or any other periodic |
580 | I<This callback MUST NOT stop or destroy this or any other periodic |
573 | watcher, ever>. If you need to stop it, return 1e30 and stop it |
581 | watcher, ever, and MUST NOT call any event loop functions or methods>. If |
574 | afterwards. |
582 | you need to stop it, return 1e30 and stop it afterwards. You may create |
|
|
583 | and start a C<EV::prepare> watcher for this task. |
575 | |
584 | |
576 | It must return the next time to trigger, based on the passed time value |
585 | It must return the next time to trigger, based on the passed time value |
577 | (that is, the lowest time value larger than to the second argument). It |
586 | (that is, the lowest time value larger than or equal to to the second |
578 | will usually be called just before the callback will be triggered, but |
587 | argument). It will usually be called just before the callback will be |
579 | might be called at other times, too. |
588 | triggered, but might be called at other times, too. |
580 | |
589 | |
581 | This can be used to create very complex timers, such as a timer that |
590 | This can be used to create very complex timers, such as a timer that |
582 | triggers on each midnight, local time (actually 24 hours after the last |
591 | triggers on each midnight, local time (actually 24 hours after the last |
583 | midnight, to keep the example simple. If you know a way to do it correctly |
592 | midnight, to keep the example simple. If you know a way to do it correctly |
584 | in about the same space (without requiring elaborate modules), drop me a |
593 | in about the same space (without requiring elaborate modules), drop me a |