Correct problem where xcatd could truncate very large responses

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@12429 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
jbjohnso 2012-05-01 20:00:30 +00:00
parent 4e9d05f9d2
commit 85ee055285

View File

@ -1842,7 +1842,14 @@ sub send_pending_responses {
$resp =~ tr/\011-\177/?/c;
#seeing if using utf-8 offloads potential issues to client terminal, it didn't
eval {
print $sock $resp;
my $rsplen = length($resp);
my $blocks = int($rsplen/4096)-1;
if ($rsplen%4096) {
$blocks += 1;
}
foreach (0..$blocks) {
syswrite($sock,$resp,4096,$_*4096);
}
};
}
sub relay_fds { #Relays file descriptors from pipes to children to the SSL socket