summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a5
-rw-r--r--TAO/tao/Transport.cpp14
2 files changed, 14 insertions, 5 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index 808b235e3cb..a251c3538e6 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,8 @@
+Tue Mar 20 09:34:53 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * tao/Transport.cpp:
+ Improved error checking for Queued_Message allocations.
+
Sat Mar 17 17:52:27 2001 Carlos O'Ryan <coryan@uci.edu>
* tao/Transport.h:
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)
{