summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>2013-04-11 17:32:48 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>2013-04-11 17:32:48 +0000
commitbe444b21a210db2f6b4f7f766fab434f8521620a (patch)
tree6e837880fa55fb2cae52f6600f47b31e89a4b4cb
parentd87cd1328eabd066d2142634fdb3a2d9a93a134c (diff)
downloadATCD-be444b21a210db2f6b4f7f766fab434f8521620a.tar.gz
ChangeLogTag:Thu
-rw-r--r--TAO/ChangeLog13
-rw-r--r--TAO/tao/Transport.cpp2
2 files changed, 14 insertions, 1 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index ae016d1c2fa..f0128b58b42 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,16 @@
+Thu Apr 11 17:18:36 UTC 2013 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * tao/Transport.cpp (TAO_Transport::send_asynchronous_message_i):
+ Applied a patch from Russ Noseworthy <J.Russell.Noseworthy at
+ TENA-SDA dot org> that fixes a problem when sending a large (>
+ 64k) number of bytes in a (oneway) RMI on OS X. What happened
+ was that, for large payloads, the send in Transport.cpp returns
+ a value of n, not equal to the number of bytes to send. What's
+ supposed to happen is that the rest of the bytes get sent with
+ the next send. Instead, if the current value of errno happens
+ to be ETIME (for any reason), the send never completes, and
+ instead declares that it's timed out. This fixes bugid 4103.
+
Thu Apr 11 16:51:31 UTC 2013 Martin Corino <mcorino@remedy.nl>
Implemented an improvement (fix) for oneways with SYNC_NONE sync scope
diff --git a/TAO/tao/Transport.cpp b/TAO/tao/Transport.cpp
index 6ade1990b36..2ef3cd684c7 100644
--- a/TAO/tao/Transport.cpp
+++ b/TAO/tao/Transport.cpp
@@ -1516,7 +1516,7 @@ TAO_Transport::send_asynchronous_message_i (TAO_Stub *stub,
}
// If it was partially sent, then push to front of queue and don't flush
- if (errno == ETIME)
+ if (n == -1 && errno == ETIME)
{
timeout_encountered = true;
if (byte_count == 0)