diff options
author | bala <balanatarajan@users.noreply.github.com> | 2003-07-09 17:45:16 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2003-07-09 17:45:16 +0000 |
commit | 9f5c76d84be682d124e96a9fc71e81ad6e285ee5 (patch) | |
tree | 3b289f90161690f1c929a365016781bec1a7b6bb | |
parent | f43876a54c2fe82ff21b0813721483b6d3670f48 (diff) | |
download | ATCD-9f5c76d84be682d124e96a9fc71e81ad6e285ee5.tar.gz |
ChangeLogTag:Wed Jul 9 12:43:37 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog_ref | 5 | ||||
-rw-r--r-- | TAO/tao/Synch_Invocation.cpp | 20 |
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 { |