Commit 0df3d939 authored by msvensson@pilot.blaudden's avatar msvensson@pilot.blaudden

Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint

into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
parents c2ed99e7 3393c1e4
...@@ -139,19 +139,18 @@ sub spawn_impl ($$$$$$$$) { ...@@ -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 ($$$$$$$$) { ...@@ -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 { ...@@ -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($?);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment