summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <thierry.vignaud@gmail.com>2014-01-08 04:21:42 +0100
committerThierry Vignaud <thierry.vignaud@gmail.com>2014-01-08 04:21:42 +0100
commita498acd59ffa2455b05fd6f212da87b9db0f839c (patch)
tree270adec83a3087b9b79917cc5a7e6ff725fcdc40
parent4b3fadf2bc94a9fb7f705da10e4ce222c14cced5 (diff)
downloadcontrol-center-a498acd59ffa2455b05fd6f212da87b9db0f839c.tar
control-center-a498acd59ffa2455b05fd6f212da87b9db0f839c.tar.gz
control-center-a498acd59ffa2455b05fd6f212da87b9db0f839c.tar.bz2
control-center-a498acd59ffa2455b05fd6f212da87b9db0f839c.tar.xz
control-center-a498acd59ffa2455b05fd6f212da87b9db0f839c.zip
move SIG_CHLD handler from fork_() into run_tool()
rationale: in next commit, we will block SIG_CHLD at startup then simplify starting logdrake, meaning fork() would unblock SIG_CHLD too early if "display logs" option is on
-rwxr-xr-xcontrol-center5
1 files changed, 5 insertions, 0 deletions
diff --git a/control-center b/control-center
index f72431d8..2365a085 100755
--- a/control-center
+++ b/control-center
@@ -1236,6 +1236,11 @@ sub run_tool {
my ($exec, $gtkplug) = @$tool{qw(binary embedded)};
$application_driven_menu = $tool->{application_driven_menu};
return if $tool_pids{$label};
+ state $done;
+ if (!$done) {
+ $done = 1;
+ $SIG{CHLD} = \&sig_child;
+ }
my $will_run_gurpmi;
if (! -x real_bin_path($exec)) {
if ($tool->{packages2install}) {