List:Commits« Previous MessageNext Message »
From:U-ROWVWADEjas Date:January 23 2008 6:11pm
Subject:bk commit into 6.0 tree (jas:1.2786)
View as plain text  
Below is the list of changes that have just been committed into a local
6.0 repository of . When  does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2008-01-23 12:11:10-05:00, jas@rowvwade. +1 -0
  Get a temporary lock on a dependency transaction during
  transaction start to ensure a stable view.

  storage/falcon/Transaction.cpp@stripped, 2008-01-23 12:11:02-05:00, jas@rowvwade. +2 -2
    Get a temporary lock on a dependency transaction during
    transaction start to ensure a stable view.

diff -Nrup a/storage/falcon/Transaction.cpp b/storage/falcon/Transaction.cpp
--- a/storage/falcon/Transaction.cpp	2008-01-22 17:40:59 -05:00
+++ b/storage/falcon/Transaction.cpp	2008-01-23 12:11:02 -05:00
@@ -159,12 +159,13 @@ void Transaction::initialize(Connection*
 		}
 	
 	if (count)
-		{
 		for (Transaction *transaction = transactionManager->activeTransactions.first;
transaction; transaction = transaction->next)
 			if (transaction->isActive() && 
 				 !transaction->systemTransaction &&
 				 transaction->transactionId < transactionId)
 				{
+				Sync syncDependency(&transaction->syncObject, "Transaction::initialize");
+				syncDependency.lock(Shared);
 				transaction->addRef();
 				INTERLOCKED_INCREMENT(transaction->dependencies);
 
@@ -186,7 +187,6 @@ void Transaction::initialize(Connection*
 					transaction->release();
 					}
 				}
-		}
 
 	state = Active;
 }
Thread
bk commit into 6.0 tree (jas:1.2786)U-ROWVWADEjas23 Jan