projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changed wait to waitpid in reaping
[spider.git]
/
perl
/
cluster.pl
diff --git
a/perl/cluster.pl
b/perl/cluster.pl
index a645da33f7325483e66bb348192595e3b9e99fc1..eabc56e62dc1737437a2c27ba2d520fe8e15592f 100755
(executable)
--- a/
perl/cluster.pl
+++ b/
perl/cluster.pl
@@
-66,6
+66,7
@@
use BadWords;
use Data::Dumper;
use Fcntl ':flock';
use Data::Dumper;
use Fcntl ':flock';
+use POSIX ":sys_wait_h";
use Local;
use Local;
@@
-239,8
+240,10
@@
sub cease
sub reap
{
$SIG{'CHLD'} = \&reap;
sub reap
{
$SIG{'CHLD'} = \&reap;
- my $cpid = wait;
- @outstanding_connects = grep {$_->{pid} != $cpid} @outstanding_connects;
+ my $cpid;
+ while (($cpid = waitpid(1, &WNOHANG) != -1)) {
+ @outstanding_connects = grep {$_->{pid} != $cpid} @outstanding_connects;
+ }
}
# this is where the input queue is dealt with and things are dispatched off to other parts of
}
# this is where the input queue is dealt with and things are dispatched off to other parts of