summaryrefslogtreecommitdiff
path: root/TAO/tao/UIOP_Connect.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/UIOP_Connect.cpp')
-rw-r--r--TAO/tao/UIOP_Connect.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/TAO/tao/UIOP_Connect.cpp b/TAO/tao/UIOP_Connect.cpp
index cf76748a3de..f9ec7acfdba 100644
--- a/TAO/tao/UIOP_Connect.cpp
+++ b/TAO/tao/UIOP_Connect.cpp
@@ -278,16 +278,18 @@ TAO_UIOP_Server_Connection_Handler::handle_input_i (ACE_HANDLE,
// same Event_Handler in two threads at the same time.
// Copy message type.
- CORBA::Octet message_type = this->transport_.message_state_.message_type;
+ TAO_GIOP_Message_State &ms = this->transport_.message_state_;
+ CORBA::Octet message_type = ms.message_type;
// Copy version.
- TAO_GIOP_Version giop_version = this->transport_.message_state_.giop_version;
+ TAO_GIOP_Version giop_version = ms.giop_version;
// Steal the input CDR from the message state.
- TAO_InputCDR input_cdr (this->transport_.message_state_.cdr);
+ TAO_InputCDR input_cdr (ACE_InputCDR::Transfer_Contents (ms.cdr),
+ this->orb_core_);
// Reset the message state.
- this->transport_.message_state_.reset ();
+ this->transport_.message_state_.reset (0);
result = TAO_GIOP::process_server_message (this->transport (),
this->orb_core_,