diff options
| author | Thierry Vignaud <tvignaud@mandriva.org> | 2003-01-27 12:08:26 +0000 |
|---|---|---|
| committer | Thierry Vignaud <tvignaud@mandriva.org> | 2003-01-27 12:08:26 +0000 |
| commit | 4dd90ba3505e5e3ac89d9b62ef5f6e6ff90e226e (patch) | |
| tree | 5707bf3f4ba20ee4d3e0741a476790d0f2feddd9 | |
| parent | f74f6058657263db32e9ff182fe4f51ad264350e (diff) | |
| download | control-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-x | control-center | 16 |
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); } } |
