summaryrefslogtreecommitdiff
path: root/mysql-test/lib/My/SafeProcess
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2018-02-23 08:43:34 +0100
committerSergei Golubchik <serg@mariadb.org>2018-02-23 08:43:34 +0100
commit2732fcc608eb98345f79ba805842ab02272d49cf (patch)
treee7273c809f44432e5f60a55d5b8f35253d49963d /mysql-test/lib/My/SafeProcess
parent131d9a5d0cb51fa88a0461c939dfd2a7c68d5664 (diff)
parentb8af22af15d159b32256f7d5be8324871ae1a104 (diff)
downloadmariadb-git-2732fcc608eb98345f79ba805842ab02272d49cf.tar.gz
Merge branch 'bb-10.2-ext' into 10.3
Diffstat (limited to 'mysql-test/lib/My/SafeProcess')
-rw-r--r--mysql-test/lib/My/SafeProcess/Base.pm12
1 files changed, 8 insertions, 4 deletions
diff --git a/mysql-test/lib/My/SafeProcess/Base.pm b/mysql-test/lib/My/SafeProcess/Base.pm
index 1ac0120a735..c5ac2ab51c2 100644
--- a/mysql-test/lib/My/SafeProcess/Base.pm
+++ b/mysql-test/lib/My/SafeProcess/Base.pm
@@ -186,8 +186,10 @@ sub create_process {
# it and any childs(that hasn't changed group themself)
setpgrp(0,0) if $opts{setpgrp};
- if ( $output and !open(STDOUT, $open_mode, $output) ) {
- croak("can't redirect STDOUT to '$output': $!");
+ if ( $output ) {
+ close STDOUT;
+ open(STDOUT, $open_mode, $output)
+ or croak "can't redirect STDOUT to '$output': $!";
}
if ( $error ) {
@@ -196,8 +198,10 @@ sub create_process {
croak("can't dup STDOUT: $!");
}
}
- elsif ( ! open(STDERR, $open_mode, $error) ) {
- croak("can't redirect STDERR to '$error': $!");
+ else {
+ close STDERR;
+ open(STDERR, $open_mode, $error)
+ or croak "can't redirect STDERR to '$error': $!";
}
}