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

Comparing EV/EV.pm (file contents):
Revision 1.162 by root, Wed Jan 22 23:17:31 2020 UTC vs.
Revision 1.168 by root, Thu Oct 19 18:05:43 2023 UTC

10 10
11 my $w = EV::timer 2, 0, sub { 11 my $w = EV::timer 2, 0, sub {
12 warn "is called after 2s"; 12 warn "is called after 2s";
13 }; 13 };
14 14
15 my $w = EV::timer 2, 2, sub { 15 my $w = EV::timer 0, 3, sub {
16 warn "is called roughly every 2s (repeat = 2)"; 16 warn "is called as soon as possible, then every 3s";
17 }; 17 };
18 18
19 undef $w; # destroy event watcher again 19 undef $w; # destroy event watcher again
20 20
21 my $w = EV::periodic 0, 60, 0, sub { 21 my $w = EV::periodic 0, 60, 0, sub {
35 warn "sigquit received\n"; 35 warn "sigquit received\n";
36 }; 36 };
37 37
38 # CHILD/PID STATUS CHANGES 38 # CHILD/PID STATUS CHANGES
39 39
40 my $w = EV::child 666, 0, sub { 40 my $w = EV::child $pid, 0, sub {
41 my ($w, $revents) = @_; 41 my ($w, $revents) = @_;
42 my $status = $w->rstatus; 42 my $status = $w->rstatus;
43 }; 43 };
44 44
45 # STAT CHANGES 45 # STAT CHANGES
119package EV; 119package EV;
120 120
121use common::sense; 121use common::sense;
122 122
123BEGIN { 123BEGIN {
124 our $VERSION = '4.31'; 124 our $VERSION = '4.34';
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
175or locally-installed as F<EV::libev> manpage) for more info. 175or locally-installed as F<EV::libev> manpage) for more info.
176 176
177The loop will automatically be destroyed when it is no longer referenced 177The loop will automatically be destroyed when it is no longer referenced
178by any watcher and the loop object goes out of scope. 178by any watcher and the loop object goes out of scope.
179 179
180If you are not embedding the loop, then Using C<EV::FLAG_FORKCHECK> 180If you are not embedding the loop, then using C<EV::FLAG_FORKCHECK>
181is recommended, as only the default event loop is protected by this 181is recommended, as only the default event loop is protected by this
182module. If you I<are> embedding this loop in the default loop, this is not 182module. If you I<are> embedding this loop in the default loop, this is not
183necessary, as C<EV::embed> automatically does the right thing on fork. 183necessary, as C<EV::embed> automatically does the right thing on fork.
184 184
185=item $loop->loop_fork 185=item $loop->loop_fork
646 646
647=item $after = $w->remaining 647=item $after = $w->remaining
648 648
649Calculates and returns the remaining time till the timer will fire. 649Calculates and returns the remaining time till the timer will fire.
650 650
651=item $repeat = $w->repeat
652
651=item $old_repeat = $w->reapat ([$new_repeat]) 653=item $old_repeat = $w->repeat ($new_repeat)
652 654
653Returns the current value of the repeat attribute and optionally sets a 655Returns the current value of the repeat attribute and optionally sets a
654new one. Setting the new one will not restart the watcher - if the watcher 656new one. Setting the new one will not restart the watcher - if the watcher
655is active, the new repeat value is used whenever it expires next. 657is active, the new repeat value is used whenever it expires next.
656 658
754 756
755=item $time = $w->at 757=item $time = $w->at
756 758
757Return the time that the watcher is expected to trigger next. 759Return the time that the watcher is expected to trigger next.
758 760
761=item $offset = $w->offset
762
759=item $old_offset = $w->offset ([$new_offset]) 763=item $old_offset = $w->offset ($new_offset)
760 764
761Returns the current value of the offset attribute and optionally sets a 765Returns the current value of the offset attribute and optionally sets a
762new one. Setting the new one will not restart the watcher - if the watcher 766new one. Setting the new one will not restart the watcher - if the watcher
763is active, the new offset value is used whenever it expires next. 767is active, the new offset value is used whenever it expires next.
764 768
769=item $interval = $w->interval
770
765=item $old_interval = $w->interval ([$new_interval]) 771=item $old_interval = $w->interval ($new_interval)
766 772
767See above, for the interval attribute. 773See above, for the interval attribute.
768 774
775=item $reschedule_cb = $w->reschedule_cb
776
769=item $old_reschedule_cb = $w->reschedule_cb ([$new_reschedule_xcb]) 777=item $old_reschedule_cb = $w->reschedule_cb ($new_reschedule_cb)
770 778
771See above, for the reschedule callback. 779See above, for the reschedule callback.
772 780
773=back 781=back
774 782
864 872
865=item $pid = $w->rpid 873=item $pid = $w->rpid
866 874
867Return the pid of the awaited child (useful when you have installed a 875Return the pid of the awaited child (useful when you have installed a
868watcher for all pids). 876watcher for all pids).
877
878=item EV::Child::reinit [EXPERIMENTAL]
879
880Internally, libev installs a signal handler for C<SIGCHLD>. Unfortunately,
881a lot of Perl code does soemthing like C<< local $SIG{CHLD} >>, which,
882unfortunately, is broken and will not restore the signal handler.
883
884If this has happened, you can call this function to stop/rrestart the
885internal libev watcher, which will reset the signal handler.
886
887Note that this is an experimental function, whose interface might change.
869 888
870=back 889=back
871 890
872 891
873=head3 STAT WATCHERS - did the file attributes just change? 892=head3 STAT WATCHERS - did the file attributes just change?

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines