rendered paste bodyIndex: JavaScriptCore/ChangeLog
===================================================================
--- JavaScriptCore/ChangeLog (revision 31938)
+++ JavaScriptCore/ChangeLog (working copy)
@@ -1,3 +1,16 @@
+2008-04-16 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by NOBODY (OOPS!).
+
+ Initialize threadMapMutex safely (as already done in ThreadingWin).
+
+ * wtf/ThreadingGtk.cpp:
+ (WTF::threadMapMutex):
+ (WTF::initializeThreading):
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::threadMapMutex):
+ (WTF::initializeThreading):
+
2008-04-16 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Adam Roben.
Index: JavaScriptCore/wtf/ThreadingGtk.cpp
===================================================================
--- JavaScriptCore/wtf/ThreadingGtk.cpp (revision 31933)
+++ JavaScriptCore/wtf/ThreadingGtk.cpp (working copy)
@@ -41,24 +41,25 @@ Mutex* atomicallyInitializedStaticMutex;
static ThreadIdentifier mainThreadIdentifier;
+static Mutex& threadMapMutex()
+{
+ static Mutex mutex;
+ return mutex;
+}
+
void initializeThreading()
{
if (!g_thread_supported()) {
g_thread_init(NULL);
ASSERT(!atomicallyInitializedStaticMutex);
atomicallyInitializedStaticMutex = new Mutex;
+ threadMapMutex();
wtf_random_init();
mainThreadIdentifier = currentThread();
}
ASSERT(g_thread_supported());
}
-static Mutex& threadMapMutex()
-{
- static Mutex mutex;
- return mutex;
-}
-
static HashMap<ThreadIdentifier, GThread*>& threadMap()
{
static HashMap<ThreadIdentifier, GThread*> map;
Index: JavaScriptCore/wtf/ThreadingPthreads.cpp
===================================================================
--- JavaScriptCore/wtf/ThreadingPthreads.cpp (revision 31933)
+++ JavaScriptCore/wtf/ThreadingPthreads.cpp (working copy)
@@ -41,21 +41,22 @@ Mutex* atomicallyInitializedStaticMutex;
static ThreadIdentifier mainThreadIdentifier;
+static Mutex& threadMapMutex()
+{
+ static Mutex mutex;
+ return mutex;
+}
+
void initializeThreading()
{
if (!atomicallyInitializedStaticMutex) {
atomicallyInitializedStaticMutex = new Mutex;
+ threadMapMutex();
wtf_random_init();
mainThreadIdentifier = currentThread();
}
}
-static Mutex& threadMapMutex()
-{
- static Mutex mutex;
- return mutex;
-}
-
static HashMap<ThreadIdentifier, pthread_t>& threadMap()
{
static HashMap<ThreadIdentifier, pthread_t> map;