summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2003-07-09 17:45:16 +0000
committerbala <balanatarajan@users.noreply.github.com>2003-07-09 17:45:16 +0000
commit9f5c76d84be682d124e96a9fc71e81ad6e285ee5 (patch)
tree3b289f90161690f1c929a365016781bec1a7b6bb
parentf43876a54c2fe82ff21b0813721483b6d3670f48 (diff)
downloadATCD-9f5c76d84be682d124e96a9fc71e81ad6e285ee5.tar.gz
ChangeLogTag:Wed Jul 9 12:43:37 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-rw-r--r--TAO/ChangeLog_ref5
-rw-r--r--TAO/tao/Synch_Invocation.cpp20
2 files changed, 21 insertions, 4 deletions
diff --git a/TAO/ChangeLog_ref b/TAO/ChangeLog_ref
index 9d8c608fd67..a756c8f40c3 100644
--- a/TAO/ChangeLog_ref
+++ b/TAO/ChangeLog_ref
@@ -1,3 +1,8 @@
+Wed Jul 9 12:43:37 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * tao/Synch_Invocation.cpp (TAO): Got the semantics of
+ SYNC_WITH_TRANSPORT right.
+
Wed Jul 9 12:14:15 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
* tao/Invocation_Base.cpp (TAO): Fixed a logic problem in the loop
diff --git a/TAO/tao/Synch_Invocation.cpp b/TAO/tao/Synch_Invocation.cpp
index f802e989359..89f9ea19583 100644
--- a/TAO/tao/Synch_Invocation.cpp
+++ b/TAO/tao/Synch_Invocation.cpp
@@ -226,6 +226,7 @@ namespace TAO
#endif
}
+ cout << "Got here " << endl;
return TAO_INVOKE_SUCCESS;
}
@@ -334,6 +335,7 @@ namespace TAO
this->detail_.response_flags ();
if (response_flags == CORBA::Octet (Messaging::SYNC_NONE)
+ || response_flags == CORBA::Octet (Messaging::SYNC_WITH_TRANSPORT)
|| response_flags == CORBA::Octet (TAO::SYNC_EAGER_BUFFERING)
|| response_flags == CORBA::Octet (TAO::SYNC_DELAYED_BUFFERING))
{
@@ -356,10 +358,20 @@ namespace TAO
ACE_CHECK_RETURN (TAO_INVOKE_FAILURE);
- this->send_message (TAO_Transport::TAO_ONEWAY_REQUEST,
- cdr
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (TAO_INVOKE_FAILURE);
+ if (response_flags != CORBA::Octet (Messaging::SYNC_WITH_TRANSPORT))
+ {
+ this->send_message (TAO_Transport::TAO_ONEWAY_REQUEST,
+ cdr
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (TAO_INVOKE_FAILURE);
+ }
+ else
+ {
+ this->send_message (TAO_Transport::TAO_TWOWAY_REQUEST,
+ cdr
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (TAO_INVOKE_FAILURE);
+ }
}
else
{