summaryrefslogtreecommitdiff
path: root/devel/ORBit2/files/patch-src::IIOP::giop-msg-buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'devel/ORBit2/files/patch-src::IIOP::giop-msg-buffer.c')
-rw-r--r--devel/ORBit2/files/patch-src::IIOP::giop-msg-buffer.c38
1 files changed, 14 insertions, 24 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
index d6184df8952a..a42320410527 100644
--- a/devel/ORBit2/files/patch-src::IIOP::giop-msg-buffer.c
+++ b/devel/ORBit2/files/patch-src::IIOP::giop-msg-buffer.c
@@ -1,34 +1,24 @@
$FreeBSD$
---- src/IIOP/giop-msg-buffer.c.orig Wed Oct 3 09:51:21 2001
-+++ src/IIOP/giop-msg-buffer.c Sat Oct 27 15:52:11 2001
-@@ -34,10 +34,6 @@
- #include "IIOP.h"
- #include "IIOP-private.h"
-
--#ifdef HAVE_LIMITED_WRITEV
--#define writev g_writev
--#endif
--
- /* type defs */
-
- #ifdef __GNUC__
-@@ -197,7 +193,7 @@
+--- 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);
-+ res = g_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) {
-@@ -227,7 +223,7 @@
-
- fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0) & ~O_NONBLOCK);
-
-- t = writev(fd, curvec, nvecs);
-+ t = g_writev(fd, curvec, nvecs);
-
- fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0) | O_NONBLOCK);
-