Changeset 40608 in webkit for trunk/JavaScriptCore
- Timestamp:
- Feb 4, 2009, 12:55:28 AM (16 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r40562 r40608 1 2009-02-04 Alexey Proskuryakov <[email protected]> 2 3 Reviewed by Sam Weinig. 4 5 https://bugs.webkit.org/show_bug.cgi?id=23681 6 Worker tests crash in debug builds if run --singly 7 8 The crash happened because worker threads continued running while debug-only static objects 9 were already being destroyed on main thread. 10 11 * runtime/Structure.cpp: Create static debug-only sets in heap, so that they don't get 12 destroyed. 13 14 * wtf/ThreadingPthreads.cpp: Changed assertions to conventional form. 15 1 16 2009-02-03 Gavin Barraclough <[email protected]> 2 17 -
trunk/JavaScriptCore/runtime/Structure.cpp
r40076 r40608 66 66 67 67 #if ENABLE(JSC_MULTIPLE_THREADS) 68 static Mutex ignoreSetMutex;68 static Mutex& ignoreSetMutex = *(new Mutex); 69 69 #endif 70 70 71 71 static bool shouldIgnoreLeaks; 72 static HashSet<Structure*> ignoreSet;72 static HashSet<Structure*>& ignoreSet = *(new HashSet<Structure*>); 73 73 #endif 74 74 75 75 #if DUMP_STRUCTURE_ID_STATISTICS 76 static HashSet<Structure*> liveStructureSet;76 static HashSet<Structure*>& liveStructureSet = *(new HashSet<Structure*>); 77 77 #endif 78 78 -
trunk/JavaScriptCore/wtf/ThreadingPthreads.cpp
r39945 r40608 196 196 void Mutex::lock() 197 197 { 198 i f (pthread_mutex_lock(&m_mutex) != 0)199 ASSERT(false);198 int result = pthread_mutex_lock(&m_mutex); 199 ASSERT_UNUSED(result, !result); 200 200 } 201 201 … … 206 206 if (result == 0) 207 207 return true; 208 elseif (result == EBUSY)208 if (result == EBUSY) 209 209 return false; 210 210 211 ASSERT (false);211 ASSERT_NOT_REACHED(); 212 212 return false; 213 213 } … … 215 215 void Mutex::unlock() 216 216 { 217 i f (pthread_mutex_unlock(&m_mutex) != 0)218 ASSERT(false);217 int result = pthread_mutex_unlock(&m_mutex); 218 ASSERT_UNUSED(result, !result); 219 219 } 220 220 … … 231 231 void ThreadCondition::wait(Mutex& mutex) 232 232 { 233 i f (pthread_cond_wait(&m_condition, &mutex.impl()) != 0)234 ASSERT(false);233 int result = pthread_cond_wait(&m_condition, &mutex.impl()); 234 ASSERT_UNUSED(result, !result); 235 235 } 236 236 … … 257 257 void ThreadCondition::signal() 258 258 { 259 i f (pthread_cond_signal(&m_condition) != 0)260 ASSERT(false);259 int result = pthread_cond_signal(&m_condition); 260 ASSERT_UNUSED(result, !result); 261 261 } 262 262 263 263 void ThreadCondition::broadcast() 264 264 { 265 i f (pthread_cond_broadcast(&m_condition) != 0)266 ASSERT(false);265 int result = pthread_cond_broadcast(&m_condition); 266 ASSERT_UNUSED(result, !result); 267 267 } 268 268
Note:
See TracChangeset
for help on using the changeset viewer.