summaryrefslogtreecommitdiff
path: root/TAO/tao/Transport.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Transport.cpp')
-rw-r--r--TAO/tao/Transport.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/TAO/tao/Transport.cpp b/TAO/tao/Transport.cpp
index 24e2ba58788..5466962b802 100644
--- a/TAO/tao/Transport.cpp
+++ b/TAO/tao/Transport.cpp
@@ -376,17 +376,21 @@ TAO_Transport::send_message_i (TAO_Stub *stub,
{
// ... we are going to block, so there is no need to clone
// the message block...
- queued_message =
- new TAO_Queued_Message (
- ACE_const_cast(ACE_Message_Block*,message_block),
- 0);
+ // @@ It seems wasteful to allocate a TAO_Queued_Message in
+ // this case, but it is simpler to do it this way.
+ ACE_NEW (queued_message,
+ TAO_Queued_Message (
+ ACE_const_cast(ACE_Message_Block*,message_block),
+ 0),
+ -1);
}
else
{
queued_message =
this->copy_message_block (message_block);
+ if (queued_message == 0)
+ return -1;
}
- // @@ Revisit message queue allocations
if (TAO_debug_level > 6)
{