diff options
author | Bjorn Munch <Bjorn.Munch@sun.com> | 2010-03-16 10:45:32 +0100 |
---|---|---|
committer | Bjorn Munch <Bjorn.Munch@sun.com> | 2010-03-16 10:45:32 +0100 |
commit | eb235387ae623507ca8a3549b3c433b47ad357d3 (patch) | |
tree | d656a99958375f416a1571b0080c4eba9e4fe1b4 /mysql-test/lib | |
parent | 58bf6b6d591a6aa60515bb0841891e0d16313195 (diff) | |
download | mariadb-git-eb235387ae623507ca8a3549b3c433b47ad357d3.tar.gz |
Bug #51767 Implement --start-and-exit also for MTR v2
Added option and logic, bypass safe_process
Adapted after review comments
Diffstat (limited to 'mysql-test/lib')
-rw-r--r-- | mysql-test/lib/My/SafeProcess.pm | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/mysql-test/lib/My/SafeProcess.pm b/mysql-test/lib/My/SafeProcess.pm index bfcad910a16..a4ae988ed9e 100644 --- a/mysql-test/lib/My/SafeProcess.pm +++ b/mysql-test/lib/My/SafeProcess.pm @@ -60,11 +60,12 @@ use My::Platform; my %running; my $_verbose= 0; +my $start_exit= 0; END { # Kill any children still running for my $proc (values %running){ - if ( $proc->is_child($$) ){ + if ( $proc->is_child($$) and ! $start_exit){ #print "Killing: $proc\n"; if ($proc->wait_one(0)){ $proc->kill(); @@ -149,6 +150,11 @@ sub new { push(@safe_args, "--"); push(@safe_args, $path); # The program safe_process should execute + + if ($start_exit) { # Bypass safe_process instead, start program directly + @safe_args= (); + $safe_path= $path; + } push(@safe_args, @$$args); print "### safe_path: ", $safe_path, " ", join(" ", @safe_args), "\n" @@ -528,6 +534,13 @@ sub wait_all { } } +# +# Set global flag to tell all safe_process to exit after starting child +# + +sub start_exit { + $start_exit= 1; +} # # Check if any process has exited, but don't wait. |