diff options
Diffstat (limited to 'control-center')
-rwxr-xr-x | control-center | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/control-center b/control-center index 67139430..d2bfa2dd 100755 --- a/control-center +++ b/control-center @@ -705,7 +705,6 @@ $view->signal_connect('load-finished' => sub { state $done; return if $done; $done = 1; - $SIG{CHLD} = \&sig_child; Glib::Timeout->add(100, sub { sig_child('CHLD', 1); 1 }); load_program() if $program; }); @@ -1203,6 +1202,11 @@ my $pid_exp; sub fork_ { my ($prog, $o_pid_table) = @_; + state $done; + if (!$done) { + $done = 1; + $SIG{CHLD} = \&sig_child; + } $o_pid_table ||= \@pid_launched; my $pid = fork(); if (defined $pid) { |