Index: JavaScriptCore/ChangeLog =================================================================== --- JavaScriptCore/ChangeLog (revision 31938) +++ JavaScriptCore/ChangeLog (working copy) @@ -1,3 +1,16 @@ +2008-04-16 Alexey Proskuryakov + + 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 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& threadMap() { static HashMap 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& threadMap() { static HashMap map;