diff options
-rw-r--r-- | TAO/ChangeLog | 21 | ||||
-rw-r--r-- | TAO/tao/Asynch_Queued_Message.cpp | 3 | ||||
-rw-r--r-- | TAO/tao/Asynch_Queued_Message.h | 3 | ||||
-rw-r--r-- | TAO/tao/Queued_Message.cpp | 5 | ||||
-rw-r--r-- | TAO/tao/Queued_Message.h | 3 | ||||
-rw-r--r-- | TAO/tao/Synch_Queued_Message.cpp | 5 | ||||
-rw-r--r-- | TAO/tao/Synch_Queued_Message.h | 3 |
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); |