From 17f01f15d4569431bca42d06f79b2ec5c9dea85d Mon Sep 17 00:00:00 2001 From: schmidt Date: Sat, 22 Mar 2003 19:04:54 +0000 Subject: ChangeLogTag:Sat Mar 22 11:58:12 2003 Douglas C. Schmidt --- ChangeLog | 14 ++++++++++++++ ace/Configuration.cpp | 3 +++ 2 files changed, 17 insertions(+) diff --git a/ChangeLog b/ChangeLog index f2df08ae994..8715645ffcf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,19 @@ Sat Mar 22 11:58:12 2003 Douglas C. Schmidt + * ace/Configuration.cpp: When remove_section() was called the + buckets created for the value and section hash map were not + deleted. Added two new lines after + if (index_->unbind (SectionExtId, allocator_)) + return -1; + + as follows: + + value_hash_map->close(); + section_entry->int_id_.section_hash_map_->close(allocator_); + + Thanks to Sandip Patel for reporting + this. + * ace/Message_Queue_T.cpp: Moved the notify() hook calls within the protection of the guard lock critical section to prevent race conditions on cleanup. Thanks to Ron Muck diff --git a/ace/Configuration.cpp b/ace/Configuration.cpp index c3198c3aa70..d72222cc3b8 100644 --- a/ace/Configuration.cpp +++ b/ace/Configuration.cpp @@ -1689,6 +1689,9 @@ ACE_Configuration_Heap::remove_section (const ACE_Configuration_Section_Key& key if (index_->unbind (SectionExtId, allocator_)) return -1; + value_hash_map->close (); + section_entry->int_id_.section_hash_map_->close (allocator_); + // Free the memory ExtIdToFree.free (allocator_); IntIdToFree.free (allocator_); -- cgit v1.2.1