summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TAO/ChangeLog21
-rw-r--r--TAO/tao/Asynch_Queued_Message.cpp3
-rw-r--r--TAO/tao/Asynch_Queued_Message.h3
-rw-r--r--TAO/tao/Queued_Message.cpp5
-rw-r--r--TAO/tao/Queued_Message.h3
-rw-r--r--TAO/tao/Synch_Queued_Message.cpp5
-rw-r--r--TAO/tao/Synch_Queued_Message.h3
7 files changed, 35 insertions, 8 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index be7ee0cf1e4..d56e7dc15f3 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,24 @@
+Fri Nov 15 14:51:31 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
+
+ * tao/Asynch_Queued_Message.cpp:
+ * tao/Asynch_Queued_Message.h:
+ * tao/Synch_Queued_Message.cpp:
+ * tao/Synch_Queued_Message.h:
+ * tao/Queued_Message.cpp:
+ * tao/Queued_Message.h: Added an extra default argument to the
+ constructor that indicates whether the class is heap allocated
+ or not.
+
+ * tao/Transport.cpp: Changed the places where the
+ Asynch_Queued_Message was allocated on the heap to pass the
+ right value for the flag that indicates the status of creation
+ of the class.
+
+ Thanks to Chad Elliott for pinting out that if the
+ Asynch_Queued_Message was allocated on the heap, it may not get
+ destroyed if TAO_Asynch_Queued_Message::destroy () was
+ called.
+
Fri Nov 15 20:52:12 UTC 2002 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/Notify/Event_Map_T.h:
diff --git a/TAO/tao/Asynch_Queued_Message.cpp b/TAO/tao/Asynch_Queued_Message.cpp
index 6fca0aa65dd..fe0ac5e6fe8 100644
--- a/TAO/tao/Asynch_Queued_Message.cpp
+++ b/TAO/tao/Asynch_Queued_Message.cpp
@@ -11,7 +11,8 @@ ACE_RCSID (tao,
TAO_Asynch_Queued_Message::
TAO_Asynch_Queued_Message (const ACE_Message_Block *contents,
- ACE_Allocator *alloc)
+ ACE_Allocator *alloc,
+ int is_heap_allocated)
: TAO_Queued_Message (alloc)
, offset_ (0)
{
diff --git a/TAO/tao/Asynch_Queued_Message.h b/TAO/tao/Asynch_Queued_Message.h
index 02bd5e7e8d6..ced547e3b91 100644
--- a/TAO/tao/Asynch_Queued_Message.h
+++ b/TAO/tao/Asynch_Queued_Message.h
@@ -42,7 +42,8 @@ public:
* cannot block waiting for the message to be delivered.
*/
TAO_Asynch_Queued_Message (const ACE_Message_Block *contents,
- ACE_Allocator *alloc = 0);
+ ACE_Allocator *alloc = 0,
+ int is_heap_allocated = 0);
/// Destructor
diff --git a/TAO/tao/Queued_Message.cpp b/TAO/tao/Queued_Message.cpp
index dfb957674f4..c5ab2d88575 100644
--- a/TAO/tao/Queued_Message.cpp
+++ b/TAO/tao/Queued_Message.cpp
@@ -9,9 +9,10 @@
ACE_RCSID(tao, Queued_Message, "$Id$")
-TAO_Queued_Message::TAO_Queued_Message (ACE_Allocator *alloc)
+TAO_Queued_Message::TAO_Queued_Message (ACE_Allocator *alloc,
+ int is_heap_allocated)
: allocator_ (alloc)
- , is_heap_created_ (0)
+ , is_heap_created_ (is_heap_allocated)
, next_ (0)
, prev_ (0)
{
diff --git a/TAO/tao/Queued_Message.h b/TAO/tao/Queued_Message.h
index ece9491d047..50cb9346c54 100644
--- a/TAO/tao/Queued_Message.h
+++ b/TAO/tao/Queued_Message.h
@@ -66,7 +66,8 @@ class TAO_Export TAO_Queued_Message : public TAO_LF_Invocation_Event
{
public:
/// Constructor
- TAO_Queued_Message (ACE_Allocator *alloc = 0);
+ TAO_Queued_Message (ACE_Allocator *alloc = 0,
+ int is_heap_allocated = 0);
/// Destructor
virtual ~TAO_Queued_Message (void);
diff --git a/TAO/tao/Synch_Queued_Message.cpp b/TAO/tao/Synch_Queued_Message.cpp
index c6f62892147..61095eadc55 100644
--- a/TAO/tao/Synch_Queued_Message.cpp
+++ b/TAO/tao/Synch_Queued_Message.cpp
@@ -11,8 +11,9 @@ ACE_RCSID (tao,
TAO_Synch_Queued_Message::
TAO_Synch_Queued_Message (const ACE_Message_Block *contents,
- ACE_Allocator *alloc)
- : TAO_Queued_Message (alloc)
+ ACE_Allocator *alloc,
+ int is_heap_allocated)
+ : TAO_Queued_Message (alloc, is_heap_allocated)
, contents_ (ACE_const_cast (ACE_Message_Block*,contents))
, current_block_ (contents_)
{
diff --git a/TAO/tao/Synch_Queued_Message.h b/TAO/tao/Synch_Queued_Message.h
index d9587fb10d9..73fe8173b6e 100644
--- a/TAO/tao/Synch_Queued_Message.h
+++ b/TAO/tao/Synch_Queued_Message.h
@@ -52,7 +52,8 @@ public:
* this type.
*/
TAO_Synch_Queued_Message (const ACE_Message_Block *contents,
- ACE_Allocator *alloc = 0);
+ ACE_Allocator *alloc = 0,
+ int is_heap_allocated = 0);
/// Destructor
virtual ~TAO_Synch_Queued_Message (void);