Merge pilot.(none):/data/msvensson/mysql/bug25657/my50-bug25657-new2
into pilot.(none):/data/msvensson/mysql/bug25657/my51-bug25657 mysql-test/lib/mtr_process.pl: Auto merged mysql-test/lib/mtr_timer.pl: Auto merged mysql-test/mysql-test-run.pl: Merge 5.0->5.1
This commit is contained in:
commit
f294219b42
@ -613,6 +613,11 @@ sub mtr_check_stop_servers ($) {
|
|||||||
if ( $pid )
|
if ( $pid )
|
||||||
{
|
{
|
||||||
# Server is still alive, put it in list to be hard killed
|
# Server is still alive, put it in list to be hard killed
|
||||||
|
if ($::glob_win32_perl)
|
||||||
|
{
|
||||||
|
# Kill the real process if it's known
|
||||||
|
$pid= $srv->{'real_pid'} if ($srv->{'real_pid'});
|
||||||
|
}
|
||||||
$kill_pids{$pid}= 1;
|
$kill_pids{$pid}= 1;
|
||||||
|
|
||||||
# Write a message to the process's error log (if it has one)
|
# Write a message to the process's error log (if it has one)
|
||||||
@ -666,6 +671,16 @@ sub mtr_check_stop_servers ($) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($::glob_win32_perl and $srv->{'real_pid'})
|
||||||
|
{
|
||||||
|
# Wait for the pseudo pid - if the real_pid was known
|
||||||
|
# the pseudo pid has not been waited for yet, wai blocking
|
||||||
|
# since it's "such a simple program"
|
||||||
|
mtr_verbose("Wait for pseudo process $srv->{'pid'}");
|
||||||
|
my $ret_pid= waitpid($srv->{'pid'}, 0);
|
||||||
|
mtr_verbose("Pseudo process $ret_pid died");
|
||||||
|
}
|
||||||
|
|
||||||
$srv->{'pid'}= 0;
|
$srv->{'pid'}= 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1043,7 +1058,7 @@ sub sleep_until_file_created ($$$) {
|
|||||||
{
|
{
|
||||||
if ( -r $pidfile )
|
if ( -r $pidfile )
|
||||||
{
|
{
|
||||||
return $pid;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check if it died after the fork() was successful
|
# Check if it died after the fork() was successful
|
||||||
|
@ -97,9 +97,14 @@ sub mtr_timer_start($$$) {
|
|||||||
# clearing the signal handler.
|
# clearing the signal handler.
|
||||||
$SIG{INT}= 'DEFAULT';
|
$SIG{INT}= 'DEFAULT';
|
||||||
|
|
||||||
|
$SIG{TERM}= sub {
|
||||||
|
mtr_verbose("timer woke up, exiting!");
|
||||||
|
exit(0);
|
||||||
|
};
|
||||||
|
|
||||||
$0= "mtr_timer(timers,$name,$duration)";
|
$0= "mtr_timer(timers,$name,$duration)";
|
||||||
mtr_verbose("timer child $name, sleep $duration");
|
|
||||||
sleep($duration);
|
sleep($duration);
|
||||||
|
mtr_verbose("timer expired after $duration seconds");
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -118,7 +123,7 @@ sub mtr_timer_stop ($$) {
|
|||||||
|
|
||||||
# FIXME as Cygwin reuses pids fast, maybe check that is
|
# FIXME as Cygwin reuses pids fast, maybe check that is
|
||||||
# the expected process somehow?!
|
# the expected process somehow?!
|
||||||
kill(9, $tpid);
|
kill(15, $tpid);
|
||||||
|
|
||||||
# As the timers are so simple programs, we trust them to terminate,
|
# As the timers are so simple programs, we trust them to terminate,
|
||||||
# and use blocking wait for it. We wait just to avoid a zombie.
|
# and use blocking wait for it. We wait just to avoid a zombie.
|
||||||
|
@ -2593,10 +2593,19 @@ sub ndbcluster_wait_started($$){
|
|||||||
sub mysqld_wait_started($){
|
sub mysqld_wait_started($){
|
||||||
my $mysqld= shift;
|
my $mysqld= shift;
|
||||||
|
|
||||||
my $res= sleep_until_file_created($mysqld->{'path_pid'},
|
if (sleep_until_file_created($mysqld->{'path_pid'},
|
||||||
$mysqld->{'start_timeout'},
|
$mysqld->{'start_timeout'},
|
||||||
$mysqld->{'pid'});
|
$mysqld->{'pid'}) == 0)
|
||||||
return $res == 0;
|
{
|
||||||
|
# Failed to wait for pid file
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get the "real pid" of the process, it will be used for killing
|
||||||
|
# the process in ActiveState's perl on windows
|
||||||
|
$mysqld->{'real_pid'}= mtr_get_pid_from_file($mysqld->{'path_pid'});
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -3759,7 +3768,6 @@ sub mysqld_arguments ($$$$) {
|
|||||||
|
|
||||||
mtr_add_arg($args, "%s--no-defaults", $prefix);
|
mtr_add_arg($args, "%s--no-defaults", $prefix);
|
||||||
|
|
||||||
mtr_add_arg($args, "%s--console", $prefix);
|
|
||||||
mtr_add_arg($args, "%s--basedir=%s", $prefix, $path_my_basedir);
|
mtr_add_arg($args, "%s--basedir=%s", $prefix, $path_my_basedir);
|
||||||
mtr_add_arg($args, "%s--character-sets-dir=%s", $prefix, $path_charsetsdir);
|
mtr_add_arg($args, "%s--character-sets-dir=%s", $prefix, $path_charsetsdir);
|
||||||
|
|
||||||
@ -4134,6 +4142,7 @@ sub stop_all_servers () {
|
|||||||
|
|
||||||
push(@kill_pids,{
|
push(@kill_pids,{
|
||||||
pid => $mysqld->{'pid'},
|
pid => $mysqld->{'pid'},
|
||||||
|
real_pid => $mysqld->{'real_pid'},
|
||||||
pidfile => $mysqld->{'path_pid'},
|
pidfile => $mysqld->{'path_pid'},
|
||||||
sockfile => $mysqld->{'path_sock'},
|
sockfile => $mysqld->{'path_sock'},
|
||||||
port => $mysqld->{'port'},
|
port => $mysqld->{'port'},
|
||||||
@ -4341,6 +4350,7 @@ sub run_testcase_stop_servers($$$) {
|
|||||||
|
|
||||||
push(@kill_pids,{
|
push(@kill_pids,{
|
||||||
pid => $mysqld->{'pid'},
|
pid => $mysqld->{'pid'},
|
||||||
|
real_pid => $mysqld->{'real_pid'},
|
||||||
pidfile => $mysqld->{'path_pid'},
|
pidfile => $mysqld->{'path_pid'},
|
||||||
sockfile => $mysqld->{'path_sock'},
|
sockfile => $mysqld->{'path_sock'},
|
||||||
port => $mysqld->{'port'},
|
port => $mysqld->{'port'},
|
||||||
@ -4392,6 +4402,7 @@ sub run_testcase_stop_servers($$$) {
|
|||||||
|
|
||||||
push(@kill_pids,{
|
push(@kill_pids,{
|
||||||
pid => $mysqld->{'pid'},
|
pid => $mysqld->{'pid'},
|
||||||
|
real_pid => $mysqld->{'real_pid'},
|
||||||
pidfile => $mysqld->{'path_pid'},
|
pidfile => $mysqld->{'path_pid'},
|
||||||
sockfile => $mysqld->{'path_sock'},
|
sockfile => $mysqld->{'path_sock'},
|
||||||
port => $mysqld->{'port'},
|
port => $mysqld->{'port'},
|
||||||
@ -4818,12 +4829,10 @@ sub run_mysqltest ($) {
|
|||||||
mtr_add_arg($args, "%s", $_) for @args_saved;
|
mtr_add_arg($args, "%s", $_) for @args_saved;
|
||||||
}
|
}
|
||||||
|
|
||||||
mtr_add_arg($args, "--test-file");
|
mtr_add_arg($args, "--test-file=%s", $tinfo->{'path'});
|
||||||
mtr_add_arg($args, $tinfo->{'path'});
|
|
||||||
|
|
||||||
if ( defined $tinfo->{'result_file'} ) {
|
if ( defined $tinfo->{'result_file'} ) {
|
||||||
mtr_add_arg($args, "--result-file");
|
mtr_add_arg($args, "--result-file=%s", $tinfo->{'result_file'});
|
||||||
mtr_add_arg($args, $tinfo->{'result_file'});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $opt_record )
|
if ( $opt_record )
|
||||||
|
Loading…
x
Reference in New Issue
Block a user