summaryrefslogtreecommitdiffstats
path: root/JavaScriptCore/wtf/ThreadingPthreads.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'JavaScriptCore/wtf/ThreadingPthreads.cpp')
-rw-r--r--JavaScriptCore/wtf/ThreadingPthreads.cpp28
1 files changed, 14 insertions, 14 deletions
diff --git a/JavaScriptCore/wtf/ThreadingPthreads.cpp b/JavaScriptCore/wtf/ThreadingPthreads.cpp
index ebfd78f..f54dd3f 100644
--- a/JavaScriptCore/wtf/ThreadingPthreads.cpp
+++ b/JavaScriptCore/wtf/ThreadingPthreads.cpp
@@ -114,14 +114,14 @@ static ThreadIdentifier establishIdentifierForPthreadHandle(pthread_t& pthreadHa
static ThreadIdentifier identifierCount = 1;
threadMap().add(identifierCount, pthreadHandle);
-
+
return identifierCount++;
}
static pthread_t pthreadHandleForIdentifier(ThreadIdentifier id)
{
MutexLocker locker(threadMapMutex());
-
+
return threadMap().get(id);
}
@@ -130,7 +130,7 @@ static void clearPthreadHandleForIdentifier(ThreadIdentifier id)
MutexLocker locker(threadMapMutex());
ASSERT(threadMap().contains(id));
-
+
threadMap().remove(id);
}
@@ -161,7 +161,7 @@ ThreadIdentifier createThreadInternal(ThreadFunction entryPoint, void* data, con
ThreadData* threadData = new ThreadData();
threadData->entryPoint = entryPoint;
threadData->arg = data;
-
+
if (pthread_create(&threadHandle, 0, runThreadWithRegistration, static_cast<void*>(threadData))) {
LOG_ERROR("Failed to create pthread at entry point %p with data %p", entryPoint, data);
return 0;
@@ -183,7 +183,7 @@ ThreadIdentifier createThreadInternal(ThreadFunction entryPoint, void* data, con
void setThreadNameInternal(const char* threadName)
{
-#if PLATFORM(DARWIN) && !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
+#if PLATFORM(DARWIN) && !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !PLATFORM(IPHONE)
pthread_setname_np(threadName);
#else
UNUSED_PARAM(threadName);
@@ -193,13 +193,13 @@ void setThreadNameInternal(const char* threadName)
int waitForThreadCompletion(ThreadIdentifier threadID, void** result)
{
ASSERT(threadID);
-
+
pthread_t pthreadHandle = pthreadHandleForIdentifier(threadID);
-
+
int joinResult = pthread_join(pthreadHandle, result);
if (joinResult == EDEADLK)
LOG_ERROR("ThreadIdentifier %u was found to be deadlocked trying to quit", threadID);
-
+
clearPthreadHandleForIdentifier(threadID);
return joinResult;
}
@@ -207,11 +207,11 @@ int waitForThreadCompletion(ThreadIdentifier threadID, void** result)
void detachThread(ThreadIdentifier threadID)
{
ASSERT(threadID);
-
+
pthread_t pthreadHandle = pthreadHandleForIdentifier(threadID);
-
+
pthread_detach(pthreadHandle);
-
+
clearPthreadHandleForIdentifier(threadID);
}
@@ -247,11 +247,11 @@ void Mutex::lock()
int result = pthread_mutex_lock(&m_mutex);
ASSERT_UNUSED(result, !result);
}
-
+
bool Mutex::tryLock()
{
int result = pthread_mutex_trylock(&m_mutex);
-
+
if (result == 0)
return true;
if (result == EBUSY)
@@ -314,7 +314,7 @@ void ThreadCondition::broadcast()
int result = pthread_cond_broadcast(&m_condition);
ASSERT_UNUSED(result, !result);
}
-
+
} // namespace WTF
#endif // USE(PTHREADS)