public static void UnLockStatic(StmTransactionModified <T> stmTransaction) { foreach (StmRef <T> stmRef in stmTransaction.inTxDict.Keys) { Monitor.Exit(stmRef.lockObj); } stmTransaction.isLockedCommit = false; }
public void Commit() { //lock(StmModified.commitLock) //{ StmTransactionModified <T> .LockStatic(stmTransaction); try { stmTransaction.Commit(); if (stmTransaction.IsParentConflict) { logger.Log(MethodBase.GetCurrentMethod(), stmTransaction.Revision, stmTransaction.GetParentTransactionRevision(), "_ParentConflict"); } else { logger.Log(MethodBase.GetCurrentMethod(), stmTransaction.Revision, stmTransaction.GetParentTransactionRevision()); } } finally { StmTransactionModified <T> .UnLockStatic(stmTransaction); } //} }
public LoggingStmTransactionModified(StmTransactionModified <T> stmTransaction) { this.stmTransaction = stmTransaction; }