summaryrefslogtreecommitdiff
path: root/Source/WTF/wtf/ThreadIdentifierDataPthreads.cpp
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WTF/wtf/ThreadIdentifierDataPthreads.cpp
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WTF/wtf/ThreadIdentifierDataPthreads.cpp')
-rw-r--r--Source/WTF/wtf/ThreadIdentifierDataPthreads.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/Source/WTF/wtf/ThreadIdentifierDataPthreads.cpp b/Source/WTF/wtf/ThreadIdentifierDataPthreads.cpp
index bd62288f8..0bebfe93b 100644
--- a/Source/WTF/wtf/ThreadIdentifierDataPthreads.cpp
+++ b/Source/WTF/wtf/ThreadIdentifierDataPthreads.cpp
@@ -56,7 +56,8 @@ ThreadIdentifierData::~ThreadIdentifierData()
void ThreadIdentifierData::initializeOnce()
{
- if (pthread_key_create(&m_key, destruct))
+ int error = pthread_key_create(&m_key, destruct);
+ if (error)
CRASH();
}
@@ -71,6 +72,10 @@ ThreadIdentifier ThreadIdentifierData::identifier()
void ThreadIdentifierData::initialize(ThreadIdentifier id)
{
ASSERT(!identifier());
+ // Ideally we'd have this as a release assert everywhere, but that would hurt performane.
+ // Having this release assert here means that we will catch "didn't call
+ // WTF::initializeThreading() soon enough" bugs in release mode.
+ RELEASE_ASSERT(m_key != PTHREAD_KEYS_MAX);
pthread_setspecific(m_key, new ThreadIdentifierData(id));
}