summaryrefslogtreecommitdiff
path: root/devel/ORBit2/files
diff options
context:
space:
mode:
Diffstat (limited to 'devel/ORBit2/files')
-rw-r--r--devel/ORBit2/files/patch-src::IIOP::giop-msg-buffer.c24
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) {