summaryrefslogtreecommitdiff
path: root/TAO/tao/DynamicInterface/DII_Invocation_Adapter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/DynamicInterface/DII_Invocation_Adapter.cpp')
-rw-r--r--TAO/tao/DynamicInterface/DII_Invocation_Adapter.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/TAO/tao/DynamicInterface/DII_Invocation_Adapter.cpp b/TAO/tao/DynamicInterface/DII_Invocation_Adapter.cpp
index ae7736c018c..efcc31ba283 100644
--- a/TAO/tao/DynamicInterface/DII_Invocation_Adapter.cpp
+++ b/TAO/tao/DynamicInterface/DII_Invocation_Adapter.cpp
@@ -244,6 +244,9 @@ namespace TAO
throw CORBA::TRANSIENT (CORBA::OMGVMCID | 2, CORBA::COMPLETED_NO);
}
+ ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, transport->output_cdr_lock (),
+ TAO_INVOKE_FAILURE);
+
transport->messaging_object ()->out_stream ().reset_byte_order (
request_->_tao_byte_order ());
@@ -254,6 +257,8 @@ namespace TAO
this->rd_,
this->request_);
+ ace_mon.release ();
+
Invocation_Status status = synch.remote_invocation (max_wait_time);
if (status == TAO_INVOKE_RESTART)