ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/EV/EV.pm
(Generate patch)

Comparing EV/EV.pm (file contents):
Revision 1.117 by root, Tue Jul 14 00:09:59 2009 UTC vs.
Revision 1.125 by root, Thu Dec 31 06:59:47 2009 UTC

79package EV; 79package EV;
80 80
81use common::sense; 81use common::sense;
82 82
83BEGIN { 83BEGIN {
84 our $VERSION = '3.6'; 84 our $VERSION = '3.9';
85 use XSLoader; 85 use XSLoader;
86 XSLoader::load "EV", $VERSION; 86 XSLoader::load "EV", $VERSION;
87} 87}
88 88
89@EV::IO::ISA = 89@EV::IO::ISA =
331These advanced functions set the minimum block interval when polling for I/O events and the minimum 331These advanced functions set the minimum block interval when polling for I/O events and the minimum
332wait interval for timer events. See the libev documentation at 332wait interval for timer events. See the libev documentation at
333L<http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#FUNCTIONS_CONTROLLING_THE_EVENT_LOOP> 333L<http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#FUNCTIONS_CONTROLLING_THE_EVENT_LOOP>
334(locally installed as F<EV::libev>) for a more detailed discussion. 334(locally installed as F<EV::libev>) for a more detailed discussion.
335 335
336=item $count = EV::pending_count
337
338=item $count = $loop->pending_count
339
340Returns the number of currently pending watchers.
341
342=item EV::invoke_pending
343
344=item $loop->invoke_pending
345
346Invoke all currently pending watchers.
347
336=back 348=back
337 349
338 350
339=head1 WATCHER OBJECTS 351=head1 WATCHER OBJECTS
340 352
444 456
445=item $previous_state = $w->keepalive ($bool) 457=item $previous_state = $w->keepalive ($bool)
446 458
447Normally, C<EV::loop> will return when there are no active watchers 459Normally, C<EV::loop> will return when there are no active watchers
448(which is a "deadlock" because no progress can be made anymore). This is 460(which is a "deadlock" because no progress can be made anymore). This is
449convinient because it allows you to start your watchers (and your jobs), 461convenient because it allows you to start your watchers (and your jobs),
450call C<EV::loop> once and when it returns you know that all your jobs are 462call C<EV::loop> once and when it returns you know that all your jobs are
451finished (or they forgot to register some watchers for their task :). 463finished (or they forgot to register some watchers for their task :).
452 464
453Sometimes, however, this gets in your way, for example when the module 465Sometimes, however, this gets in your way, for example when the module
454that calls C<EV::loop> (usually the main program) is not the same module 466that calls C<EV::loop> (usually the main program) is not the same module
686 698
687=item $w = EV::signal $signal, $callback 699=item $w = EV::signal $signal, $callback
688 700
689=item $w = EV::signal_ns $signal, $callback 701=item $w = EV::signal_ns $signal, $callback
690 702
703=item $w = $loop->signal ($signal, $callback)
704
705=item $w = $loop->signal_ns ($signal, $callback)
706
691Call the callback when $signal is received (the signal can be specified by 707Call the callback when $signal is received (the signal can be specified by
692number or by name, just as with C<kill> or C<%SIG>). 708number or by name, just as with C<kill> or C<%SIG>).
709
710Only one event loop can grab a given signal - attempting to grab the same
711signal from two EV loops will crash the program immediately or cause data
712corruption.
693 713
694EV will grab the signal for the process (the kernel only allows one 714EV will grab the signal for the process (the kernel only allows one
695component to receive a signal at a time) when you start a signal watcher, 715component to receive a signal at a time) when you start a signal watcher,
696and removes it again when you stop it. Perl does the same when you 716and removes it again when you stop it. Perl does the same when you
697add/remove callbacks to C<%SIG>, so watch out. 717add/remove callbacks to C<%SIG>, so watch out.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines