#At file:///C:/bzr/mysql-6.0-falcon/
2782 Vladislav Vaintroub 2008-08-27 [merge]
merge 6.0-falcon-team -> 6.0-falcon
modified:
storage/falcon/Transaction.cpp
=== modified file 'storage/falcon/Transaction.cpp'
--- a/storage/falcon/Transaction.cpp 2008-08-25 18:24:59 +0000
+++ b/storage/falcon/Transaction.cpp 2008-08-26 15:36:02 +0000
@@ -275,7 +275,6 @@ void Transaction::commit()
releaseRecordLocks();
database->serialLog->preCommit(this);
- syncActive.unlock();
@@ -303,10 +302,9 @@ void Transaction::commit()
database->flushInversion(this);
// Transfer transaction from active list to committed list, set committed state
-
- Sync syncCommitted(&transactionManager->committedTransactions.syncObject, "Transaction::commit(2)");
Sync syncActiveTransactions(&transactionManager->activeTransactions.syncObject, "Transaction::commit(3)");
-
+ Sync syncCommitted(&transactionManager->committedTransactions.syncObject, "Transaction::commit(2)");
+
syncActiveTransactions.lock(Exclusive);
syncCommitted.lock(Exclusive);
@@ -316,6 +314,8 @@ void Transaction::commit()
syncCommitted.unlock();
syncActiveTransactions.unlock();
+
+ syncActive.unlock(); // signal waiting transactions
database->commit(this);
| Thread |
|---|
| • bzr commit into mysql-6.0 branch (vvaintroub:2782) | Vladislav Vaintroub | 27 Aug |