summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2001-07-20 19:30:04 +0000
committerbala <balanatarajan@users.noreply.github.com>2001-07-20 19:30:04 +0000
commitef6873d6652af80614b6c018d5f962ca42c0148a (patch)
tree6e00c2f6c88e06768a94a568bd9ee21fb61664d0
parentaa6d78c05e4cfc1b02a3d52f710ceafd51432cfc (diff)
downloadATCD-ef6873d6652af80614b6c018d5f962ca42c0148a.tar.gz
ChangeLogTag: Fri Jul 20 12:58:12 2001 Balachandran Natarajan <bala@cs.wustl.edu>
-rw-r--r--TAO/tao/Transport.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/TAO/tao/Transport.cpp b/TAO/tao/Transport.cpp
index 1d6a048c1ca..a1013295475 100644
--- a/TAO/tao/Transport.cpp
+++ b/TAO/tao/Transport.cpp
@@ -1041,6 +1041,7 @@ TAO_Transport::consolidate_message (ACE_Message_Block &incoming,
"TAO (%P|%t) - TAO_Transport[%d]::consolidate_message \n"
"queueing up the message \n",
this->id ()));
+
}
// Get a queued data
@@ -1098,6 +1099,7 @@ TAO_Transport::consolidate_message_queue (ACE_Message_Block &incoming,
// Update the missing data...
missing_data = this->incoming_message_queue_.missing_data_tail ();
+
// Move the read pointer of the <incoming> message block to the end
// of the copied message and process the remaining portion...
incoming.rd_ptr (n);
@@ -1176,6 +1178,13 @@ TAO_Transport::consolidate_message_queue (ACE_Message_Block &incoming,
// Now put the TAO_Queued_Data back in the queue
this->incoming_message_queue_.enqueue_tail (qd);
+
+ // Any way as we have come this far and are about to return,
+ // just try to process a message if it is there in the queue.
+ if (this->incoming_message_queue_.is_head_complete ())
+ return this->process_queue_head (rh);
+
+ return 0;
}
// Process a message in the head of the queue if we have one..
@@ -1446,7 +1455,7 @@ TAO_Transport::process_queue_head (TAO_Resume_Handle &rh)
"TAO(%P|%t) - Transport[%d]::process_queue_head"
" the size of the queue is [%d] \n",
this->id (),
- this->incoming_message_queue_.queue_length ()));
+ this->incoming_message_queue_.queue_length()));
}
// Now that we have pulled out out one message out of the queue,
// check whether we have one more message in the queue...