Changeset 58179 in webkit
- Timestamp:
- Apr 23, 2010 11:59:56 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r58167 r58179 1 2010-04-22 Sam Weinig <sam@webkit.org> 2 3 Reviewed by Anders Carlsson. 4 5 Fix for https://bugs.webkit.org/show_bug.cgi?id=38022 6 Move isMainThread predicate function to MainThread.h 7 8 * wtf/MainThread.cpp: 9 (WTF::initializeMainThread): 10 (WTF::isMainThread): 11 * wtf/MainThread.h: 12 * wtf/Threading.h: 13 * wtf/ThreadingPthreads.cpp: 14 (WTF::initializeThreading): 15 * wtf/ThreadingWin.cpp: 16 (WTF::initializeThreading): 17 * wtf/gtk/ThreadingGtk.cpp: 18 (WTF::initializeThreading): 19 * wtf/mac/MainThreadMac.mm: 20 (WTF::initializeMainThreadPlatform): 21 (WTF::isMainThread): 22 * wtf/qt/MainThreadQt.cpp: 23 (WTF::isMainThread): 24 * wtf/qt/ThreadingQt.cpp: 25 (WTF::initializeThreading): 26 * wtf/text/AtomicString.cpp: 27 1 28 2010-04-23 Gabor Rapcsanyi <rgabor@inf.u-szeged.hu> 2 29 -
trunk/JavaScriptCore/wtf/MainThread.cpp
r51222 r58179 37 37 namespace WTF { 38 38 39 #if !PLATFORM(MAC) && !PLATFORM(QT) 40 static ThreadIdentifier mainThreadIdentifier; 41 #endif 42 39 43 struct FunctionWithContext { 40 44 MainThreadFunction* function; … … 70 74 mainThreadFunctionQueueMutex(); 71 75 initializeMainThreadPlatform(); 76 77 #if !PLATFORM(MAC) && !PLATFORM(QT) 78 mainThreadIdentifier = currentThread(); 79 #endif 72 80 } 73 81 … … 153 161 } 154 162 163 #if !PLATFORM(MAC) && !PLATFORM(QT) 164 bool isMainThread() 165 { 166 return currentThread() == mainThreadIdentifier; 167 } 168 #endif 169 155 170 } // namespace WTF -
trunk/JavaScriptCore/wtf/MainThread.h
r51222 r58179 53 53 void dispatchFunctionsFromMainThread(); 54 54 55 bool isMainThread(); 56 55 57 } // namespace WTF 56 58 … … 58 60 using WTF::callOnMainThreadAndWait; 59 61 using WTF::setMainThreadCallbacksPaused; 62 using WTF::isMainThread; 60 63 61 64 #endif // MainThread_h -
trunk/JavaScriptCore/wtf/Threading.h
r56712 r58179 68 68 #include <wtf/Assertions.h> 69 69 #include <wtf/Locker.h> 70 #include <wtf/MainThread.h> 70 71 #include <wtf/Noncopyable.h> 71 72 … … 125 126 126 127 ThreadIdentifier currentThread(); 127 bool isMainThread();128 128 int waitForThreadCompletion(ThreadIdentifier, void**); 129 129 void detachThread(ThreadIdentifier); … … 344 344 using WTF::createThread; 345 345 using WTF::currentThread; 346 using WTF::isMainThread;347 346 using WTF::detachThread; 348 347 using WTF::waitForThreadCompletion; -
trunk/JavaScriptCore/wtf/ThreadingPthreads.cpp
r55429 r58179 58 58 static Mutex* atomicallyInitializedStaticMutex; 59 59 60 #if !OS(DARWIN) || PLATFORM(CHROMIUM) || USE(WEB_THREAD)61 static pthread_t mainThread; // The thread that was the first to call initializeThreading(), which must be the main thread.62 #endif63 64 60 void clearPthreadHandleForIdentifier(ThreadIdentifier); 65 61 … … 76 72 threadMapMutex(); 77 73 initializeRandomNumberGenerator(); 78 #if !OS(DARWIN) || PLATFORM(CHROMIUM) || USE(WEB_THREAD)79 mainThread = pthread_self();80 #endif81 74 initializeMainThread(); 82 75 } … … 241 234 } 242 235 243 bool isMainThread()244 {245 #if OS(DARWIN) && !PLATFORM(CHROMIUM) && !USE(WEB_THREAD)246 return pthread_main_np();247 #else248 return pthread_equal(pthread_self(), mainThread);249 #endif250 }251 252 236 Mutex::Mutex() 253 237 { -
trunk/JavaScriptCore/wtf/ThreadingWin.cpp
r55429 r58179 146 146 } 147 147 148 static ThreadIdentifier mainThreadIdentifier;149 148 150 149 static Mutex& threadMapMutex() … … 161 160 initializeRandomNumberGenerator(); 162 161 initializeMainThread(); 163 mainThreadIdentifier = currentThread();164 162 initializeCurrentThreadInternal("Main Thread"); 165 163 } … … 274 272 { 275 273 return static_cast<ThreadIdentifier>(GetCurrentThreadId()); 276 }277 278 bool isMainThread()279 {280 return currentThread() == mainThreadIdentifier;281 274 } 282 275 -
trunk/JavaScriptCore/wtf/gtk/ThreadingGtk.cpp
r53714 r58179 45 45 static Mutex* atomicallyInitializedStaticMutex; 46 46 47 static ThreadIdentifier mainThreadIdentifier;48 49 47 static Mutex& threadMapMutex() 50 48 { … … 63 61 threadMapMutex(); 64 62 initializeRandomNumberGenerator(); 65 mainThreadIdentifier = currentThread();66 63 initializeMainThread(); 67 64 } … … 167 164 return id; 168 165 return establishIdentifierForThread(currentThread); 169 }170 171 bool isMainThread()172 {173 return currentThread() == mainThreadIdentifier;174 166 } 175 167 -
trunk/JavaScriptCore/wtf/mac/MainThreadMac.mm
r55817 r58179 53 53 static WTFMainThreadCaller* staticMainThreadCaller = nil; 54 54 #if USE(WEB_THREAD) 55 static pthread_t mainThread; 55 56 static NSThread* webThread = nil; 56 57 #endif … … 62 63 63 64 #if USE(WEB_THREAD) 65 mainThread = pthread_self(); 64 66 webThread = [[NSThread currentThread] retain]; 65 67 #endif … … 103 105 } 104 106 107 bool isMainThread() 108 { 109 #if USE(WEB_THREAD) 110 return pthread_equal(pthread_self(), mainThread); 111 #else 112 return pthread_main_np(); 113 #endif 114 } 115 105 116 } // namespace WTF -
trunk/JavaScriptCore/wtf/qt/MainThreadQt.cpp
r40888 r58179 35 35 #include <QtCore/QCoreApplication> 36 36 37 38 37 namespace WTF { 39 38 … … 68 67 } 69 68 69 bool isMainThread() 70 { 71 return QThread::currentThread() == QCoreApplication::instance()->thread(); 72 } 73 70 74 } // namespace WTF 71 75 -
trunk/JavaScriptCore/wtf/qt/ThreadingQt.cpp
r53714 r58179 85 85 static Mutex* atomicallyInitializedStaticMutex; 86 86 87 static ThreadIdentifier mainThreadIdentifier;88 89 87 static Mutex& threadMapMutex() 90 88 { … … 147 145 threadMapMutex(); 148 146 initializeRandomNumberGenerator(); 149 QThread* mainThread = QCoreApplication::instance()->thread();150 mainThreadIdentifier = identifierByQthreadHandle(mainThread);151 if (!mainThreadIdentifier)152 mainThreadIdentifier = establishIdentifierForThread(mainThread);153 147 initializeMainThread(); 154 148 } … … 216 210 } 217 211 218 bool isMainThread()219 {220 return QThread::currentThread() == QCoreApplication::instance()->thread();221 }222 223 212 Mutex::Mutex() 224 213 : m_mutex(new QMutex()) -
trunk/JavaScriptCore/wtf/text/AtomicString.cpp
r58114 r58179 29 29 #include "StaticConstructors.h" 30 30 #include "StringHash.h" 31 #include <wtf/HashSet.h> 31 32 #include <wtf/Threading.h> 32 #include <wtf/HashSet.h>33 33 #include <wtf/WTFThreadData.h> 34 34 #include <wtf/text/AtomicStringTable.h> -
trunk/JavaScriptGlue/ChangeLog
r58131 r58179 1 2010-04-22 Sam Weinig <sam@webkit.org> 2 3 Reviewed by Anders Carlsson. 4 5 Fix for https://bugs.webkit.org/show_bug.cgi?id=38022 6 Move isMainThread predicate function to MainThread.h 7 8 Added forwarding header for MainThread.h 9 10 * ForwardingHeaders/wtf/MainThread.h: Added. 11 1 12 2010-04-22 Gavin Barraclough <barraclough@apple.com> 2 13 -
trunk/WebKitTools/ChangeLog
r58178 r58179 1 2010-04-22 Sam Weinig <sam@webkit.org> 2 3 Reviewed by Anders Carlsson. 4 5 Fix for https://bugs.webkit.org/show_bug.cgi?id=38022 6 Move isMainThread predicate function to MainThread.h 7 8 Added forwarding header for MainThread.h 9 10 * DumpRenderTree/ForwardingHeaders/wtf/MainThread.h: Added. 11 1 12 2010-04-23 Laszlo Gombos <laszlo.1.gombos@nokia.com> 2 13
Note: See TracChangeset
for help on using the changeset viewer.