summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tvignaud@mandriva.org>2003-01-27 12:08:26 +0000
committerThierry Vignaud <tvignaud@mandriva.org>2003-01-27 12:08:26 +0000
commit4dd90ba3505e5e3ac89d9b62ef5f6e6ff90e226e (patch)
tree5707bf3f4ba20ee4d3e0741a476790d0f2feddd9
parentf74f6058657263db32e9ff182fe4f51ad264350e (diff)
downloadcontrol-center-4dd90ba3505e5e3ac89d9b62ef5f6e6ff90e226e.tar
control-center-4dd90ba3505e5e3ac89d9b62ef5f6e6ff90e226e.tar.gz
control-center-4dd90ba3505e5e3ac89d9b62ef5f6e6ff90e226e.tar.bz2
control-center-4dd90ba3505e5e3ac89d9b62ef5f6e6ff90e226e.tar.xz
control-center-4dd90ba3505e5e3ac89d9b62ef5f6e6ff90e226e.zip
alter fork_() prototype in order to consolide code from logdrake
forking
-rwxr-xr-xcontrol-center16
1 files changed, 5 insertions, 11 deletions
diff --git a/control-center b/control-center
index 856267a6..57db7cf7 100755
--- a/control-center
+++ b/control-center
@@ -636,15 +636,14 @@ my @pid_exp;
sub fork_ {
- my ($prog, $do_not_kill) = @_;
+ my ($prog, $pid_table) = @_;
+ $pid_table ||= \@pid_launched;
my $pid;
unless ($pid = fork()) {
splash_warning(N("cannot fork: %s", "$!")) unless defined $pid;
exec($prog);
}
- return if $do_not_kill;
- push @pid_launched, $pid if $embedded;
-
+ push @$pid_table, $pid if $embedded;
}
sub compute_exec_string {
@@ -695,13 +694,8 @@ sub compute_exec_string {
$exp_socket->realize;
my $exec_log = "logdrake --explain=$log_exp --embedded " . $exp_socket->window->XWINDOW . " " . $$;
$freeze_log = 0;
- if ($exec =~ /(drakfont|drakconnect|drakboot)/) { $exp_frame->hide } # $window_global->height < 600
-# fork_($exec_log, 1);
- unless ($pid = fork()) {
- splash_warning(N("cannot fork: %s", "$!")) unless defined $pid;
- exec($exec_log);
- }
- push @pid_exp, $pid;
+ $exp_frame->hide if $exec =~ /(drakfont|drakconnect|drakboot)/;
+ fork_($exec_log, \@pid_exp);
}
}