2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2025-05-30 01:26:38 +00:00

Do not send warning message as the output is complete

Although handshake between parent and child process fails
due to the heavy IO loading, the message received by parent
process  is complete as the block operation is used.
This commit is contained in:
chenglch 2016-03-31 03:04:45 -04:00
parent 0adba0a71b
commit 27cb585787

View File

@ -1901,21 +1901,13 @@ sub plugin_command {
$xcatresponses{xcatresponse}=[];
}
}
if ($check_fds->count > 0) {
relay_fds($check_fds,$xcatresponses{xcatresponse});
}
if (scalar(@{$xcatresponses{xcatresponse}})) {
send_response(\%xcatresponses,$sock);
$xcatresponses{xcatresponse}=[];
}
if ($check_fds->count > 0) {
my %resp_timeout = ('errorcode'=>[1],
'data'=>["Warning: Process terminated due to IO timeout, the following output may not complete.\n"]);
push @{$xcatresponses{xcatresponse}},\%resp_timeout;
my $count = scalar(@{$xcatresponses{xcatresponse}});
relay_fds($check_fds,$xcatresponses{xcatresponse});
if (scalar(@{$xcatresponses{xcatresponse}}) != $count) {
send_response(\%xcatresponses,$sock);
$xcatresponses{xcatresponse}=[];
}
}
#while (relay_fds($check_fds,$sock)) {}
# restore the old signal