Changeset 53682 in webkit for trunk/JavaScriptCore/wtf/ThreadSpecific.h
- Timestamp:
- Jan 21, 2010, 11:36:29 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/wtf/ThreadSpecific.h
r52791 r53682 92 92 #endif 93 93 94 #if ENABLE(SINGLE_THREADED) 95 T* m_value; 96 #else 94 97 #if USE(PTHREADS) 95 98 pthread_key_t m_key; … … 99 102 int m_index; 100 103 #endif 104 #endif 101 105 }; 102 106 107 #if ENABLE(SINGLE_THREADED) 108 template<typename T> 109 inline ThreadSpecific<T>::ThreadSpecific() 110 : m_value(0) 111 { 112 } 113 114 template<typename T> 115 inline ThreadSpecific<T>::~ThreadSpecific() 116 { 117 } 118 119 template<typename T> 120 inline T* ThreadSpecific<T>::get() 121 { 122 return m_value; 123 } 124 125 template<typename T> 126 inline void ThreadSpecific<T>::set(T* ptr) 127 { 128 ASSERT(!get()); 129 m_value = ptr; 130 } 131 #else 103 132 #if USE(PTHREADS) 104 133 template<typename T> … … 208 237 #error ThreadSpecific is not implemented for this platform. 209 238 #endif 239 #endif 210 240 211 241 template<typename T> 212 242 inline void ThreadSpecific<T>::destroy(void* ptr) 213 243 { 244 #if !ENABLE(SINGLE_THREADED) 214 245 Data* data = static_cast<Data*>(ptr); 215 246 … … 239 270 #if !PLATFORM(QT) 240 271 delete data; 272 #endif 241 273 #endif 242 274 }
Note:
See TracChangeset
for help on using the changeset viewer.