summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/pkgs.pm3
1 files changed, 3 insertions, 0 deletions
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm
index db0c85780..cb2f70e47 100644
--- a/perl-install/pkgs.pm
+++ b/perl-install/pkgs.pm
@@ -1383,7 +1383,10 @@ sub install($$$;$$) {
}
closedir DIR;
foreach (keys %tree) {
+ #- remove child of this process (which will terminate).
$pid = $_; while ($pid = $tree{$pid}) { $pid == $$ and push @killpid, $_ }
+ #- remove child of 1 direct that have a pid greater than current one.
+ $_ > $$ && $tree{$_} == 1 and push @killpid, $_;
}
if (@killpid) {
log::l("killing process ". join(", ", @killpid));