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