diff options
Diffstat (limited to 'devel/ORBit2/files')
-rw-r--r-- | devel/ORBit2/files/patch-src::IIOP::giop-msg-buffer.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/devel/ORBit2/files/patch-src::IIOP::giop-msg-buffer.c b/devel/ORBit2/files/patch-src::IIOP::giop-msg-buffer.c new file mode 100644 index 000000000000..a42320410527 --- /dev/null +++ b/devel/ORBit2/files/patch-src::IIOP::giop-msg-buffer.c @@ -0,0 +1,24 @@ + +$FreeBSD$ + +--- src/IIOP/giop-msg-buffer.c 2001/10/26 12:42:42 1.1 ++++ src/IIOP/giop-msg-buffer.c 2001/10/26 12:42:53 +@@ -197,7 +197,17 @@ + sum); + } + #endif +- res = writev(fd, curvec, nvecs); ++ for(sum = 0, t = 0; t < nvecs; t++) { ++ do { ++ res = write(fd, curvec[t].iov_base, curvec[t].iov_len); ++ } while (res < 0 && errno == EAGAIN); ++ if (res < 0) { ++ break; ++ } else ++ sum += res; ++ } ++ if (res >= 0) ++ res = sum; + + sum = (GIOP_MESSAGE_BUFFER(send_buffer)->message_header.message_size + sizeof(GIOPMessageHeader)); + if(res < sum) { |