diff options
author | Sergey Vojtovich <svoj@sun.com> | 2009-07-14 15:06:04 +0500 |
---|---|---|
committer | Sergey Vojtovich <svoj@sun.com> | 2009-07-14 15:06:04 +0500 |
commit | cc541211c8232ff41386f99cebc446da1a06cacf (patch) | |
tree | 74e564b644c182b72bd6b9ad0cc93ae70454e898 /mysql-test/lib | |
parent | 880743284eb250e1e1a33b1d3705443741b9cca2 (diff) | |
parent | f9025ea331802d0427b46235d5ddf15b7ee4e795 (diff) | |
download | mariadb-git-cc541211c8232ff41386f99cebc446da1a06cacf.tar.gz |
Merge 5.1-bugteam -> 5.1-innodb_plugin.
Diffstat (limited to 'mysql-test/lib')
-rw-r--r-- | mysql-test/lib/My/SafeProcess/safe_process.cc | 25 | ||||
-rw-r--r-- | mysql-test/lib/mtr_cases.pm | 3 |
2 files changed, 17 insertions, 11 deletions
diff --git a/mysql-test/lib/My/SafeProcess/safe_process.cc b/mysql-test/lib/My/SafeProcess/safe_process.cc index dc7b7da28c7..50c433b9b39 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 (void) +static void kill_child(void) { int status= 0; @@ -119,7 +119,7 @@ static void kill_child (void) } -static void handle_abort (int sig) +extern "C" void handle_abort(int sig) { message("Got signal %d, child_pid: %d, sending ABRT", sig, child_pid); @@ -128,8 +128,8 @@ static void handle_abort (int sig) } } - -static void handle_signal (int sig) + +extern "C" void handle_signal(int sig) { message("Got signal %d, child_pid: %d", sig, child_pid); terminated= 1; @@ -152,7 +152,7 @@ int main(int argc, char* const argv[] ) pid_t own_pid= getpid(); pid_t parent_pid= getppid(); bool nocore = false; - + /* Install signal handlers */ signal(SIGTERM, handle_signal); signal(SIGINT, handle_signal); @@ -232,10 +232,11 @@ int main(int argc, char* const argv[] ) message("setrlimit failed, errno=%d", errno); } } - + // Signal that child is ready buf= 37; - write(pfd[1], &buf, 1); + if ((write(pfd[1], &buf, 1)) < 1) + die("Failed to signal that child is ready"); // Close write end close(pfd[1]); @@ -246,8 +247,10 @@ int main(int argc, char* const argv[] ) close(pfd[1]); // Close unused write end // Wait for child to signal it's ready - read(pfd[0], &buf, 1); - if(buf != 37) + if ((read(pfd[0], &buf, 1)) < 1) + die("Failed to read signal from child"); + + if (buf != 37) die("Didn't get 37 from pipe"); close(pfd[0]); // Close read end @@ -272,7 +275,7 @@ int main(int argc, char* const argv[] ) if (WIFEXITED(status)) { // Process has exited, collect return status - int ret_code= WEXITSTATUS(status); + ret_code= WEXITSTATUS(status); message("Child exit: %d", ret_code); // Exit with exit status of the child exit(ret_code); @@ -287,6 +290,6 @@ int main(int argc, char* const argv[] ) } kill_child(); - exit(1); + return 1; } diff --git a/mysql-test/lib/mtr_cases.pm b/mysql-test/lib/mtr_cases.pm index 88bc572996b..1018ba31724 100644 --- a/mysql-test/lib/mtr_cases.pm +++ b/mysql-test/lib/mtr_cases.pm @@ -502,6 +502,9 @@ sub collect_one_suite($) next if ($test->{'name'} eq 'sys_vars.innodb_lock_wait_timeout_basic'); # Diff around innodb_thread_concurrency variable next if ($test->{'name'} eq 'sys_vars.innodb_thread_concurrency_basic'); + next if ($test->{'name'} eq 'main.innodb_bug42101-nonzero'); + next if ($test->{'name'} eq 'main.innodb_bug21704'); + next if ($test->{'name'} eq 'main.innodb_bug45357'); # Copy test options my $new_test= My::Test->new(); while (my ($key, $value) = each(%$test)) |