>From: Vladislav Vaintroub
>> If TransactionManager::committedTransactions is locked
>> while TransactionManager::activeTransactions is locked,
>> committedTransactions must be locked first.
>Which file contains this change?
=== modified file 'storage/falcon/Transaction.cpp'
--- a/storage/falcon/Transaction.cpp 2008-07-15 18:57:27 +0000
+++ b/storage/falcon/Transaction.cpp 2008-07-24 08:45:03 +0000
@@ -290,11 +290,11 @@ void Transaction::commit()
releaseDependencies();
database->flushInversion(this);
- Sync
syncActiveTransactions(&transactionManager->activeTransactions.syncObject,
"Transaction::commit(2)");
- syncActiveTransactions.lock(Exclusive);
- Sync
syncCommitted(&transactionManager->committedTransactions.syncObject,
"Transaction::commit(3)");
+ Sync
syncCommitted(&transactionManager->committedTransactions.syncObject,
"Transaction::commit(2)");
syncCommitted.lock(Exclusive);
+ Sync
syncActiveTransactions(&transactionManager->activeTransactions.syncObject,
"Transaction::commit(3)");
+ syncActiveTransactions.lock(Exclusive);
transactionManager->activeTransactions.remove(this);
syncActiveTransactions.unlock();