diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-02a | 7 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-03a | 7 | ||||
-rw-r--r-- | ace/Log_Msg.cpp | 7 |
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_); |