2782 Vladislav Vaintroub 2008-08-27 [merge]
merge 6.0-falcon-team -> 6.0-falcon
modified:
storage/falcon/Transaction.cpp
2781 Vladislav Vaintroub 2008-08-27 [merge]
merge 6.0-falcon-team -> 6.0-falcon
modified:
configure.in
mysql-test/include/have_falcon.inc
mysql-test/suite/falcon/r/falcon_bug_22165.result
mysql-test/suite/falcon/t/falcon_bug_22165.test
storage/falcon/BackLog.cpp
storage/falcon/CMakeLists.txt
storage/falcon/Configuration.cpp
storage/falcon/IO.cpp
storage/falcon/Index.cpp
storage/falcon/Index2RootPage.cpp
storage/falcon/IndexRootPage.cpp
storage/falcon/Interlock.h
storage/falcon/MemMgr.cpp
storage/falcon/RepositoryVolume.cpp
storage/falcon/Statement.cpp
storage/falcon/StorageDatabase.cpp
storage/falcon/StorageDatabase.h
storage/falcon/StorageTable.cpp
storage/falcon/StorageTable.h
storage/falcon/StorageTableShare.cpp
storage/falcon/StorageTableShare.h
storage/falcon/Table.cpp
storage/falcon/Table.h
storage/falcon/TableSpace.cpp
storage/falcon/Transaction.cpp
storage/falcon/Transaction.h
storage/falcon/TransactionManager.cpp
storage/falcon/ha_falcon.cpp
storage/falcon/ha_falcon.h
storage/falcon/plug.in
=== 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 push into mysql-6.0 branch (vvaintroub:2781 to 2782) | Vladislav Vaintroub | 27 Aug |