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

Comparing AnyEvent/lib/AnyEvent.pm (file contents):
Revision 1.22 by root, Sun Dec 31 11:54:43 2006 UTC vs.
Revision 1.24 by root, Sun Mar 25 00:14:32 2007 UTC

245 245
246package AnyEvent; 246package AnyEvent;
247 247
248no warnings; 248no warnings;
249use strict; 249use strict;
250
250use Carp; 251use Carp;
251 252
252our $VERSION = '2.51'; 253our $VERSION = '2.52';
253our $MODEL; 254our $MODEL;
254 255
255our $AUTOLOAD; 256our $AUTOLOAD;
256our @ISA; 257our @ISA;
257 258
386 or Carp::croak "required option 'pid' is missing"; 387 or Carp::croak "required option 'pid' is missing";
387 388
388 $PID_CB{$pid}{$arg{cb}} = $arg{cb}; 389 $PID_CB{$pid}{$arg{cb}} = $arg{cb};
389 390
390 unless ($WNOHANG) { 391 unless ($WNOHANG) {
391 $CHLD_W = AnyEvent->signal (signal => 'CHLD', cb => \&_child_wait);
392 $WNOHANG = eval { require POSIX; &POSIX::WNOHANG } || 1; 392 $WNOHANG = eval { require POSIX; &POSIX::WNOHANG } || 1;
393 } 393 }
394 394
395 unless ($CHLD_W) {
396 $CHLD_W = AnyEvent->signal (signal => 'CHLD', cb => \&_child_wait);
395 # child could be a zombie already 397 # child could be a zombie already
396 $PID_IDLE ||= AnyEvent->timer (after => 0, cb => \&_child_wait); 398 $PID_IDLE ||= AnyEvent->timer (after => 0, cb => \&_child_wait);
399 }
397 400
398 bless [$pid, $arg{cb}], "AnyEvent::Base::Child" 401 bless [$pid, $arg{cb}], "AnyEvent::Base::Child"
399} 402}
400 403
401sub AnyEvent::Base::Child::DESTROY { 404sub AnyEvent::Base::Child::DESTROY {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines