summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tvignaud@mandriva.org>2005-07-19 05:50:28 +0000
committerThierry Vignaud <tvignaud@mandriva.org>2005-07-19 05:50:28 +0000
commite87d25b03542939cc97314e65bfed6aa611a47ae (patch)
treed441a4c0aeacfeb451950cbb48ba6bad7e9611a3
parente65aceea2b48b05599fe29c78847b52501eebbd4 (diff)
downloaddrakx-e87d25b03542939cc97314e65bfed6aa611a47ae.tar
drakx-e87d25b03542939cc97314e65bfed6aa611a47ae.tar.gz
drakx-e87d25b03542939cc97314e65bfed6aa611a47ae.tar.bz2
drakx-e87d25b03542939cc97314e65bfed6aa611a47ae.tar.xz
drakx-e87d25b03542939cc97314e65bfed6aa611a47ae.zip
really reap zombie children; side-effect: we can now run a second
config tool again (#16851)
-rwxr-xr-xperl-install/standalone/harddrake24
1 files changed, 3 insertions, 1 deletions
diff --git a/perl-install/standalone/harddrake2 b/perl-install/standalone/harddrake2
index c762777f7..4a448ee08 100755
--- a/perl-install/standalone/harddrake2
+++ b/perl-install/standalone/harddrake2
@@ -441,12 +441,13 @@ foreach (@classes) {
$tree->expand_row($tree_model->get_path($parent_iter), 1) unless $title eq N("Unknown/Others");
}
-$SIG{CHLD} = sub {
+sub reap_children() {
undef $pid;
# reap zombies
my $child_pid;
do { $child_pid = waitpid(-1, POSIX::WNOHANG) } until $child_pid > 0;
};
+$SIG{CHLD} = \&reap_children;
$w->{rwindow}->signal_connect(delete_event => \&quit_global);
$w->{rwindow}->set_position('center') unless $::isEmbedded;
@@ -480,6 +481,7 @@ $_->hide foreach $module_cfg_button, $config_button; # hide buttons while no dev
}
}
}
+$SIG{CHLD} = \&reap_children;
undef $wait;
gtkset_mousecursor_normal();