diff options
author | Sergei Golubchik <serg@mariadb.org> | 2018-05-05 14:01:59 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2018-05-05 14:01:59 +0200 |
commit | 9989c26bc99c90d3047a7b3e20e0800b62f62300 (patch) | |
tree | 0a2b04288168bf08530568c94c326f2e9a98a397 /mysql-test/lib/My | |
parent | 39d248fa555350756a569d766f11eec4c65c5b16 (diff) | |
parent | 3c07ed141c2ed885dea13fbce8603afce6250590 (diff) | |
download | mariadb-git-9989c26bc99c90d3047a7b3e20e0800b62f62300.tar.gz |
Merge branch '10.0' into 10.1
Diffstat (limited to 'mysql-test/lib/My')
-rw-r--r-- | mysql-test/lib/My/SafeProcess/safe_process.cc | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/mysql-test/lib/My/SafeProcess/safe_process.cc b/mysql-test/lib/My/SafeProcess/safe_process.cc index 8f18b137b87..f8bed800114 100644 --- a/mysql-test/lib/My/SafeProcess/safe_process.cc +++ b/mysql-test/lib/My/SafeProcess/safe_process.cc @@ -89,7 +89,7 @@ static void die(const char* fmt, ...) } -static void kill_child(bool was_killed) +static int kill_child(bool was_killed) { int status= 0; @@ -108,15 +108,15 @@ static void kill_child(bool was_killed) exit_code= WEXITSTATUS(status); message("Child exit: %d", exit_code); // Exit with exit status of the child - exit(exit_code); + return exit_code; } if (WIFSIGNALED(status)) message("Child killed by signal: %d", WTERMSIG(status)); - exit(exit_code); + return exit_code; } - exit(5); + return 5; } @@ -136,7 +136,7 @@ extern "C" void handle_signal(int sig) terminated= 1; if (child_pid > 0) - kill_child(sig == SIGCHLD); + _exit(kill_child(sig == SIGCHLD)); // Ignore further signals signal(SIGTERM, SIG_IGN); @@ -300,8 +300,6 @@ int main(int argc, char* const argv[] ) /* Wait for parent or child to die */ sleep(1); } - kill_child(0); - - return 4; + return kill_child(0); } |