diff options
author | Thierry Vignaud <tvignaud@mandriva.org> | 2003-11-17 13:16:41 +0000 |
---|---|---|
committer | Thierry Vignaud <tvignaud@mandriva.org> | 2003-11-17 13:16:41 +0000 |
commit | 5ab6f51b520cb12dae6003ea0424348148aa64c1 (patch) | |
tree | 7fc78693345f58fbbce298130bbafe61a1f072c8 | |
parent | 5e071e58f47196b4261d1757a2cd78fa7fbbcfee (diff) | |
download | control-center-5ab6f51b520cb12dae6003ea0424348148aa64c1.tar control-center-5ab6f51b520cb12dae6003ea0424348148aa64c1.tar.gz control-center-5ab6f51b520cb12dae6003ea0424348148aa64c1.tar.bz2 control-center-5ab6f51b520cb12dae6003ea0424348148aa64c1.tar.xz control-center-5ab6f51b520cb12dae6003ea0424348148aa64c1.zip |
always kill logdrake on exit else logdrake will still parse logs and
issues gtk+ warnings on console (register logdrake pid even when not
in embedded mode so that we can kill him on exit)
-rwxr-xr-x | control-center | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/control-center b/control-center index 77458f42..9695f90e 100755 --- a/control-center +++ b/control-center @@ -703,7 +703,7 @@ sub sig_child() { my @pid_launched; # logdrake pid are stocked here -my @pid_exp; +my $pid_exp; sub fork_ { @@ -713,6 +713,7 @@ sub fork_ { if (defined $pid) { !$pid and do { exec($prog) or POSIX::_exit(1) }; # immediate exit, else forked gtk+ object destructors will badly catch up parent mcc push @$o_pid_table, $pid if $option_values{embedded}; + return $pid; } else { splash_warning(N("cannot fork: %s", "$!")); child_just_exited(); @@ -776,7 +777,7 @@ sub compute_exec_string { $w_exp->show; my $exec_log = "logdrake --explain=$log_exp --embedded " . $exp_socket->window->XWINDOW; $freeze_log = 0; - fork_($exec_log, \@pid_exp); + $pid_exp = fork_($exec_log); } } @@ -809,7 +810,7 @@ sub kill_children() { } sub kill_logdrake() { - kill_them_all(@pid_exp); + kill_them_all($pid_exp); } sub quit_global() { |