Have xcatd recognize EAGAIN and ECHILD as equivalent in syswrite due to flawed platform behavior

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16549 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
jbjohnso 2013-06-05 14:04:28 +00:00
parent 0df81a3dfa
commit 8d855e9e20

View File

@ -1857,7 +1857,7 @@ sub service_connection {
my $bytesread;
do { $bytesread=sysread($sock,$line,65536,length($line)) } while ($bytesread);
if (length($line)==0) {
if (not defined $bytesread and $! == EAGAIN) { next; } #
if (not defined $bytesread and (($! == EAGAIN) or ($! == ECHILD))) { next; } #
last;
}
$flags=fcntl($sock,F_GETFL,0);