summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Huston <shuston@riverace.com>2012-09-06 15:14:29 +0000
committerSteve Huston <shuston@riverace.com>2012-09-06 15:14:29 +0000
commit4da25144ae027e006302090bd36a034e5f9b4197 (patch)
treea91a15c8b861d624f7192465c65cb3e6bcd67d77
parentd162b9d81e022b2abb9f31e0802ad9dd95b6925e (diff)
downloadATCD-4da25144ae027e006302090bd36a034e5f9b4197.tar.gz
ChangeLogTag:Thu Sep 6 15:06:15 UTC 2012 Steve Huston <shuston@riverace.com>
-rw-r--r--ACE/ChangeLog5
-rw-r--r--ACE/ace/Log_Msg.cpp6
2 files changed, 9 insertions, 2 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog
index 1db1f587725..bc51a288c32 100644
--- a/ACE/ChangeLog
+++ b/ACE/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/ace/Log_Msg.cpp b/ACE/ace/Log_Msg.cpp
index 080b6e6c7ea..957a6628ae6 100644
--- a/ACE/ace/Log_Msg.cpp
+++ b/ACE/ace/Log_Msg.cpp
@@ -481,7 +481,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_)
{
@@ -513,7 +514,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 */
}