summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--ChangeLogs/ChangeLog-02a7
-rw-r--r--ChangeLogs/ChangeLog-03a7
-rw-r--r--ace/Log_Msg.cpp7
4 files changed, 25 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 46b04a9abb0..03d84ada966 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Thu Oct 19 09:50:30 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/Log_Msg.cpp:
+ Fixed problems during TSS cleanup, the ipc_backend_ object was
+ used after being destroyed. Apparently this only happens on some
+ platforms, but fortunately David's build detected the bug.
+
Thu Oct 19 09:07:47 2000 Carlos O'Ryan <coryan@uci.edu>
* ace/RMCast/RMCast_Copy_On_Write.h:
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a
index 46b04a9abb0..03d84ada966 100644
--- a/ChangeLogs/ChangeLog-02a
+++ b/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,10 @@
+Thu Oct 19 09:50:30 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/Log_Msg.cpp:
+ Fixed problems during TSS cleanup, the ipc_backend_ object was
+ used after being destroyed. Apparently this only happens on some
+ platforms, but fortunately David's build detected the bug.
+
Thu Oct 19 09:07:47 2000 Carlos O'Ryan <coryan@uci.edu>
* ace/RMCast/RMCast_Copy_On_Write.h:
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index 46b04a9abb0..03d84ada966 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,10 @@
+Thu Oct 19 09:50:30 2000 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/Log_Msg.cpp:
+ Fixed problems during TSS cleanup, the ipc_backend_ object was
+ used after being destroyed. Apparently this only happens on some
+ platforms, but fortunately David's build detected the bug.
+
Thu Oct 19 09:07:47 2000 Carlos O'Ryan <coryan@uci.edu>
* ace/RMCast/RMCast_Copy_On_Write.h:
diff --git a/ace/Log_Msg.cpp b/ace/Log_Msg.cpp
index 419afa879ed..18997b4d135 100644
--- a/ace/Log_Msg.cpp
+++ b/ace/Log_Msg.cpp
@@ -542,15 +542,16 @@ ACE_Log_Msg::~ACE_Log_Msg (void)
// this block.
if (instance_count == 0)
{
+ // Destroy the message queue instance.
+ if (ACE_Log_Msg_Manager::ipc_backend_ != 0)
+ ACE_Log_Msg_Manager::ipc_backend_->close ();
+
# if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
# if defined (ACE_HAS_TSS_EMULATION)
ACE_Log_Msg_Manager::close ();
# endif /* ACE_HAS_TSS_EMULATION */
# endif /* ACE_MT_SAFE */
- // Destroy the message queue instance.
- ACE_Log_Msg_Manager::ipc_backend_->close ();
-
if (ACE_Log_Msg::program_name_)
{
ACE_OS::free ((void *) ACE_Log_Msg::program_name_);