mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
into pilot.blaudden:/home/msvensson/mysql/mysql-5.1-maint
This commit is contained in:
@ -139,19 +139,18 @@ sub spawn_impl ($$$$$$$$) {
|
|||||||
{
|
{
|
||||||
if ( $! == $!{EAGAIN} ) # See "perldoc Errno"
|
if ( $! == $!{EAGAIN} ) # See "perldoc Errno"
|
||||||
{
|
{
|
||||||
mtr_debug("Got EAGAIN from fork(), sleep 1 second and redo");
|
mtr_warning("Got EAGAIN from fork(), sleep 1 second and redo");
|
||||||
sleep(1);
|
sleep(1);
|
||||||
redo FORK;
|
redo FORK;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
mtr_error("$path ($pid) can't be forked, error: $!");
|
||||||
mtr_error("$path ($pid) can't be forked");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $pid )
|
if ( $pid )
|
||||||
{
|
{
|
||||||
spawn_parent_impl($pid,$mode,$path);
|
return spawn_parent_impl($pid,$mode,$path);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -216,8 +215,11 @@ sub spawn_impl ($$$$$$$$) {
|
|||||||
{
|
{
|
||||||
mtr_child_error("failed to execute \"$path\": $!");
|
mtr_child_error("failed to execute \"$path\": $!");
|
||||||
}
|
}
|
||||||
|
mtr_error("Should never come here 1!");
|
||||||
}
|
}
|
||||||
|
mtr_error("Should never come here 2!");
|
||||||
}
|
}
|
||||||
|
mtr_error("Should never come here 3!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -230,12 +232,21 @@ sub spawn_parent_impl {
|
|||||||
{
|
{
|
||||||
if ( $mode eq 'run' )
|
if ( $mode eq 'run' )
|
||||||
{
|
{
|
||||||
# Simple run of command, we wait for it to return
|
# Simple run of command, wait blocking for it to return
|
||||||
my $ret_pid= waitpid($pid,0);
|
my $ret_pid= waitpid($pid,0);
|
||||||
if ( $ret_pid != $pid )
|
if ( $ret_pid != $pid )
|
||||||
{
|
{
|
||||||
mtr_error("waitpid($pid, 0) returned $ret_pid " .
|
# The "simple" waitpid has failed, print debug info
|
||||||
"when waiting for '$path'");
|
# and try to handle the error
|
||||||
|
mtr_warning("waitpid($pid, 0) returned $ret_pid " .
|
||||||
|
"when waiting for '$path', error: '$!'");
|
||||||
|
if ( $ret_pid == -1 )
|
||||||
|
{
|
||||||
|
# waitpid returned -1, that would indicate the process
|
||||||
|
# no longer exist and waitpid couldn't wait for it.
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
mtr_error("Error handling failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
return mtr_process_exit_status($?);
|
return mtr_process_exit_status($?);
|
||||||
|
Reference in New Issue
Block a user