summaryrefslogtreecommitdiff
path: root/TAO/tao/GIOP_Message_Base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/GIOP_Message_Base.cpp')
-rw-r--r--TAO/tao/GIOP_Message_Base.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/TAO/tao/GIOP_Message_Base.cpp b/TAO/tao/GIOP_Message_Base.cpp
index 3024636232b..d4a5dfcbf67 100644
--- a/TAO/tao/GIOP_Message_Base.cpp
+++ b/TAO/tao/GIOP_Message_Base.cpp
@@ -310,7 +310,7 @@ TAO_GIOP_Message_Base::process_request_message (TAO_Transport *transport,
// Create a input CDR stream.
// NOTE: We use the same data block in which we read the message and
// we pass it on to the higher layers of the ORB. So we dont to any
- // copies at all here. The same is alos done in the higher layers.
+ // copies at all here. The same is also done in the higher layers.
TAO_InputCDR input_cdr (this->message_handler_.steal_data_block (),
rd_pos,
wr_pos,
@@ -322,6 +322,11 @@ TAO_GIOP_Message_Base::process_request_message (TAO_Transport *transport,
// We know we have some request message. Check whether it is a
// GIOP_REQUEST or GIOP_LOCATE_REQUEST to take action.
+
+ // Once we send the InputCDR stream we need to just forget about
+ // the stream and never touch that again for anything. We basically
+ // loose ownership of the data_block.
+
switch (this->message_handler_.message_state ().message_type)
{
case TAO_GIOP_REQUEST:
@@ -367,6 +372,11 @@ TAO_GIOP_Message_Base::process_reply_message (
// We know we have some reply message. Check whether it is a
// GIOP_REPLY or GIOP_LOCATE_REPLY to take action.
+
+ // Once we send the InputCDR stream we need to just forget about
+ // the stream and never touch that again for anything. We basically
+ // loose ownership of the data_block.
+
switch (this->message_handler_.message_state ().message_type)
{
case TAO_GIOP_REPLY: