diff options
author | Steve Huston <shuston@riverace.com> | 2012-09-06 15:09:40 +0000 |
---|---|---|
committer | Steve Huston <shuston@riverace.com> | 2012-09-06 15:09:40 +0000 |
commit | a6a0d6560c2d6079955dbcb831e39d3968a4867c (patch) | |
tree | c205627ab9f3ee104ea81c0840176d9626905443 | |
parent | cb99a5559e9e17e321239728de1e8cb69d1e783b (diff) | |
download | ATCD-a6a0d6560c2d6079955dbcb831e39d3968a4867c.tar.gz |
ChangeLogTag:Thu Sep 6 15:06:15 UTC 2012 Steve Huston <shuston@riverace.com>
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ace/Log_Msg.cpp | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 9744619817c..e4a5bff1fda 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Sep 6 15:06:15 UTC 2012 Steve Huston <shuston@riverace.com> + + * ace/Log_Msg.cpp (close): Don't try to lock/unlock the + ACE_LOG_MSG_INSTANCE lock if it's already been freed. + Wed Sep 5 20:09:09 UTC 2012 Steve Huston <shuston@riverace.com> * ace/SSL/SSL_SOCK_Stream.inl (recv_i): Added back in logic to wait diff --git a/ace/Log_Msg.cpp b/ace/Log_Msg.cpp index e14bdbe13c5..6b5a8a577d9 100644 --- a/ace/Log_Msg.cpp +++ b/ace/Log_Msg.cpp @@ -490,7 +490,8 @@ ACE_Log_Msg::close (void) reinterpret_cast<ACE_thread_mutex_t *> (ACE_OS_Object_Manager::preallocated_object [ACE_OS_Object_Manager::ACE_LOG_MSG_INSTANCE_LOCK]); - ACE_OS::thread_mutex_lock (lock); + if (lock) + ACE_OS::thread_mutex_lock (lock); if (ACE_Log_Msg::key_created_) { @@ -522,7 +523,8 @@ ACE_Log_Msg::close (void) ACE_Log_Msg::key_created_ = false; } - ACE_OS::thread_mutex_unlock (lock); + if (lock) + ACE_OS::thread_mutex_unlock (lock); } #endif /* (ACE_HAS_THREAD_SPECIFIC_STORAGE || ACE_HAS_TSS_EMULATION) && ACE_MT_SAFE */ } |