diff options
Diffstat (limited to 'TAO/tao/DynamicInterface/DII_Invocation_Adapter.cpp')
-rw-r--r-- | TAO/tao/DynamicInterface/DII_Invocation_Adapter.cpp | 5 |
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) |