Changeset 161852 in webkit
- Timestamp:
- Jan 12, 2014 6:36:50 PM (10 years ago)
- Location:
- trunk/Source/WTF
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/ChangeLog
r161851 r161852 1 2014-01-12 Anders Carlsson <andersca@apple.com> 2 3 Remove AtomicallyInitializedStatic 4 https://bugs.webkit.org/show_bug.cgi?id=126864 5 6 Reviewed by Darin Adler. 7 8 * wtf/Threading.h: 9 * wtf/ThreadingPthreads.cpp: 10 (WTF::initializeThreading): 11 * wtf/ThreadingWin.cpp: 12 (WTF::initializeThreading): 13 1 14 2014-01-12 Darin Adler <darin@apple.com> 2 15 -
trunk/Source/WTF/wtf/Threading.h
r161164 r161852 70 70 #include <wtf/ThreadingPrimitives.h> 71 71 72 // For portability, we do not use thread-safe statics natively supported by some compilers (e.g. gcc).73 #define AtomicallyInitializedStatic(T, name) \74 WTF::lockAtomicallyInitializedStaticMutex(); \75 static T name; \76 WTF::unlockAtomicallyInitializedStaticMutex();77 78 72 namespace WTF { 79 73 … … 101 95 WTF_EXPORT_PRIVATE void detachThread(ThreadIdentifier); 102 96 103 WTF_EXPORT_PRIVATE void lockAtomicallyInitializedStaticMutex();104 WTF_EXPORT_PRIVATE void unlockAtomicallyInitializedStaticMutex();105 106 97 } // namespace WTF 107 98 -
trunk/Source/WTF/wtf/ThreadingPthreads.cpp
r161601 r161852 99 99 typedef HashMap<ThreadIdentifier, std::unique_ptr<PthreadState>> ThreadMap; 100 100 101 static Mutex* atomicallyInitializedStaticMutex;102 103 101 void unsafeThreadWasDetached(ThreadIdentifier); 104 102 void threadDidExit(ThreadIdentifier); … … 113 111 void initializeThreading() 114 112 { 115 if (atomicallyInitializedStaticMutex) 113 static bool isInitialized; 114 115 if (isInitialized) 116 116 return; 117 117 … … 120 120 // so ensure it has been initialized from here. 121 121 StringImpl::empty(); 122 atomicallyInitializedStaticMutex = new Mutex; 122 123 123 threadMapMutex(); 124 124 initializeRandomNumberGenerator(); … … 130 130 } 131 131 132 void lockAtomicallyInitializedStaticMutex()133 {134 ASSERT(atomicallyInitializedStaticMutex);135 atomicallyInitializedStaticMutex->lock();136 }137 138 void unlockAtomicallyInitializedStaticMutex()139 {140 atomicallyInitializedStaticMutex->unlock();141 }142 143 132 static ThreadMap& threadMap() 144 133 { -
trunk/Source/WTF/wtf/ThreadingWin.cpp
r161164 r161852 149 149 } 150 150 151 static Mutex* atomicallyInitializedStaticMutex;152 153 void lockAtomicallyInitializedStaticMutex()154 {155 ASSERT(atomicallyInitializedStaticMutex);156 atomicallyInitializedStaticMutex->lock();157 }158 159 void unlockAtomicallyInitializedStaticMutex()160 {161 atomicallyInitializedStaticMutex->unlock();162 }163 164 151 static Mutex& threadMapMutex() 165 152 { … … 170 157 void initializeThreading() 171 158 { 172 if (atomicallyInitializedStaticMutex) 159 static bool isInitialized; 160 161 if (isInitialized) 173 162 return; 174 163 … … 177 166 // so ensure it has been initialized from here. 178 167 StringImpl::empty(); 179 atomicallyInitializedStaticMutex = new Mutex;180 168 threadMapMutex(); 181 169 initializeRandomNumberGenerator(); … … 183 171 s_dtoaP5Mutex = new Mutex; 184 172 initializeDates(); 173 174 isInitialized = true; 185 175 } 186 176
Note: See TracChangeset
for help on using the changeset viewer.