Changeset 91444 in webkit for trunk/Source/JavaScriptCore/wtf/ThreadIdentifierDataPthreads.cpp
- Timestamp:
- Jul 20, 2011, 10:04:49 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/wtf/ThreadIdentifierDataPthreads.cpp
r91380 r91444 37 37 #include "Threading.h" 38 38 39 #include <limits.h>40 41 39 namespace WTF { 42 40 43 pthread_key_t ThreadIdentifierData::m_key = PTHREAD_KEYS_MAX; 41 pthread_key_t ThreadIdentifierData::m_key; 42 static pthread_once_t onceControl = PTHREAD_ONCE_INIT; 44 43 45 44 void clearPthreadHandleForIdentifier(ThreadIdentifier); … … 50 49 } 51 50 52 void ThreadIdentifierData::initializeOnce()53 {54 if (pthread_key_create(&m_key, destruct))55 CRASH();56 }57 58 51 ThreadIdentifier ThreadIdentifierData::identifier() 59 52 { 60 ASSERT(m_key != PTHREAD_KEYS_MAX);53 initializeKeyOnce(); 61 54 ThreadIdentifierData* threadIdentifierData = static_cast<ThreadIdentifierData*>(pthread_getspecific(m_key)); 62 55 … … 67 60 { 68 61 ASSERT(!identifier()); 62 63 initializeKeyOnce(); 69 64 pthread_setspecific(m_key, new ThreadIdentifierData(id)); 70 65 } … … 85 80 } 86 81 82 void ThreadIdentifierData::initializeKeyOnceHelper() 83 { 84 if (pthread_key_create(&m_key, destruct)) 85 CRASH(); 86 } 87 88 void ThreadIdentifierData::initializeKeyOnce() 89 { 90 if (pthread_once(&onceControl, initializeKeyOnceHelper)) 91 CRASH(); 92 } 93 87 94 } // namespace WTF 88 95
Note:
See TracChangeset
for help on using the changeset viewer.