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

Comparing EV/EV.pm (file contents):
Revision 1.26 by root, Fri Nov 2 23:22:17 2007 UTC vs.
Revision 1.27 by root, Sat Nov 3 09:19:58 2007 UTC

40 }; 40 };
41 41
42 # CHILD/PID STATUS CHANGES 42 # CHILD/PID STATUS CHANGES
43 43
44 my $w = EV::child 666, sub { 44 my $w = EV::child 666, sub {
45 my ($w, $revents, $status) = @_; 45 my ($w, $revents) = @_;
46 # my $pid = $w->rpid;
47 my $status = $w->rstatus;
46 }; 48 };
47 49
48 # MAINLOOP 50 # MAINLOOP
49 EV::loop; # loop until EV::loop_done is called 51 EV::loop; # loop until EV::loop_done is called
50 EV::loop EV::LOOP_ONESHOT; # block until at least one event could be handled 52 EV::loop EV::LOOP_ONESHOT; # block until at least one event could be handled
356Call the callback when a status change for pid C<$pid> (or any pid 358Call the callback when a status change for pid C<$pid> (or any pid
357if C<$pid> is 0) has been received. More precisely: when the process 359if C<$pid> is 0) has been received. More precisely: when the process
358receives a SIGCHLD, EV will fetch the outstanding exit/wait status for all 360receives a SIGCHLD, EV will fetch the outstanding exit/wait status for all
359changed/zombie children and call the callback. 361changed/zombie children and call the callback.
360 362
361Unlike all other callbacks, this callback will be called with an 363You can access both status and pid by using the C<rstatus> and C<rpid>
362additional third argument which is the exit status. See the C<waitpid> 364methods on the watcher object.
363function for details.
364 365
365You can have as many pid watchers per pid as you want. 366You can have as many pid watchers per pid as you want.
366 367
367The C<child_ns> variant doesn't start (activate) the newly created watcher. 368The C<child_ns> variant doesn't start (activate) the newly created watcher.
368 369
374=item $current_pid = $w->pid 375=item $current_pid = $w->pid
375 376
376=item $old_pid = $w->pid ($new_pid) 377=item $old_pid = $w->pid ($new_pid)
377 378
378Returns the previously set process id and optionally set a new one. 379Returns the previously set process id and optionally set a new one.
380
381=item $exit_status = $w->rstatus
382
383Return the exit/wait status (as returned by waitpid, see the waitpid entry
384in perlfunc).
385
386=item $pid = $w->rpid
387
388Return the pid of the awaited child (useful when you have installed a
389watcher for all pids).
379 390
380 391
381=item $w = EV::idle $callback 392=item $w = EV::idle $callback
382 393
383=item $w = EV::idle_ns $callback 394=item $w = EV::idle_ns $callback

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines