diff options
author | Feng Qian <> | 2009-04-10 18:11:29 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-04-10 18:11:29 -0700 |
commit | 8f72e70a9fd78eec56623b3a62e68f16b7b27e28 (patch) | |
tree | 181bf9a400c30a1bf34ea6d72560e8d00111d549 /JavaScriptCore/wtf/ThreadingQt.cpp | |
parent | 7ed56f225e0ade046e1c2178977f72b2d896f196 (diff) | |
download | external_webkit-8f72e70a9fd78eec56623b3a62e68f16b7b27e28.zip external_webkit-8f72e70a9fd78eec56623b3a62e68f16b7b27e28.tar.gz external_webkit-8f72e70a9fd78eec56623b3a62e68f16b7b27e28.tar.bz2 |
AI 145796: Land the WebKit merge @r42026.
Automated import of CL 145796
Diffstat (limited to 'JavaScriptCore/wtf/ThreadingQt.cpp')
-rw-r--r-- | JavaScriptCore/wtf/ThreadingQt.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/JavaScriptCore/wtf/ThreadingQt.cpp b/JavaScriptCore/wtf/ThreadingQt.cpp index 55a479b..1fdd2bb 100644 --- a/JavaScriptCore/wtf/ThreadingQt.cpp +++ b/JavaScriptCore/wtf/ThreadingQt.cpp @@ -162,6 +162,10 @@ ThreadIdentifier createThreadInternal(ThreadFunction entryPoint, void* data, con return establishIdentifierForThread(threadRef); } +void setThreadNameInternal(const char*) +{ +} + int waitForThreadCompletion(ThreadIdentifier threadID, void** result) { ASSERT(threadID); @@ -191,7 +195,7 @@ ThreadIdentifier currentThread() bool isMainThread() { - return currentThread() == mainThreadIdentifier; + return QThread::currentThread() == QCoreApplication::instance()->thread(); } Mutex::Mutex() @@ -242,11 +246,13 @@ bool ThreadCondition::timedWait(Mutex& mutex, double absoluteTime) if (absoluteTime < currentTime) return false; - double intervalMilliseconds = (absoluteTime - currentTime) * 1000.0; - // Qt defines wait for up to ULONG_MAX milliseconds. - if (intervalMilliseconds >= ULONG_MAX) - intervalMilliseconds = ULONG_MAX; + // Time is too far in the future (and would overflow unsigned long) - wait forever. + if (absoluteTime - currentTime > static_cast<double>(INT_MAX) / 1000.0) { + wait(mutex); + return true; + } + double intervalMilliseconds = (absoluteTime - currentTime) * 1000.0; return m_condition->wait(mutex.impl(), static_cast<unsigned long>(intervalMilliseconds)); } |