diff --git a/sbin/upgrade.pl b/sbin/upgrade.pl index ddfd74be6..1857cf393 100644 --- a/sbin/upgrade.pl +++ b/sbin/upgrade.pl @@ -226,18 +226,12 @@ foreach my $filename (keys %config) { } } if ($upgrade{$upgrade}{pl} ne "") { - my $pid = fork; - if (!$pid) { - @ARGV = ("--configFile=$filename", $quiet ? ('--quiet') : ()); - $0 = $upgrade{$upgrade}{pl}; - do $0; - exit; - } - waitpid $pid, 0; - if ($?) { - print "\tProcessing upgrade executable failed!\n"; - fatalError(); - } + my $cmd = $perl." ".$upgrade{$upgrade}{pl}." --configFile=".$filename; + $cmd .= " --quiet" if ($quiet); + if (system($cmd)) { + print "\tProcessing upgrade executable failed!\n"; + fatalError(); + } } $config{$filename}{version} = $upgrade{$upgrade}{to}; $notRun = 0;