Changeset 29876 in webkit
- Timestamp:
- Jan 30, 2008 2:26:09 PM (16 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r29875 r29876 1 2008-01-30 Timothy Hatcher <timothy@apple.com> 2 3 Reviewed by Darin Adler. 4 5 <rdar://problem/5688428> Reproducible assertion failure in SQLTransaction::performNextStep() (16876) 6 7 Revised fix to use the globalCallbackMutex() mutex and hold the mutex 8 for the entire function scope. 9 10 * storage/Database.cpp: 11 (WebCore::Database::performTransactionStep): 12 1 13 2008-01-30 Timothy Hatcher <timothy@apple.com> 2 14 -
trunk/WebCore/storage/Database.cpp
r29872 r29876 404 404 void Database::performTransactionStep() 405 405 { 406 // Do not perform transaction if a callback is scheduled 407 { 408 MutexLocker locker(m_callbackMutex); 409 if (s_globalCallbackScheduled) 410 return; 411 } 412 406 // Do not perform a transaction if a global callback is scheduled. 407 MutexLocker locker(globalCallbackMutex()); 408 if (s_globalCallbackScheduled) 409 return; 410 413 411 { 414 412 MutexLocker locker(m_transactionMutex); 415 413 416 414 if (!m_currentTransaction) { 417 415 ASSERT(m_transactionQueue.size()); … … 420 418 } 421 419 } 422 420 423 421 // If this step completes the entire transaction, clear the working transaction 424 422 // and schedule the next one if necessary 425 423 if (!m_currentTransaction->performNextStep()) 426 424 return; 427 425 428 426 { 429 427 MutexLocker locker(m_transactionMutex); 430 428 m_currentTransaction = 0; 431 429 432 430 if (m_transactionQueue.size()) 433 431 m_databaseThread->scheduleTask(this, new DatabaseTransactionTask);
Note: See TracChangeset
for help on using the changeset viewer.