diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 2013-04-11 17:32:48 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 2013-04-11 17:32:48 +0000 |
commit | be444b21a210db2f6b4f7f766fab434f8521620a (patch) | |
tree | 6e837880fa55fb2cae52f6600f47b31e89a4b4cb | |
parent | d87cd1328eabd066d2142634fdb3a2d9a93a134c (diff) | |
download | ATCD-be444b21a210db2f6b4f7f766fab434f8521620a.tar.gz |
ChangeLogTag:Thu
-rw-r--r-- | TAO/ChangeLog | 13 | ||||
-rw-r--r-- | TAO/tao/Transport.cpp | 2 |
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) |