public static void UnLockStatic(StmTransactionModified <T> stmTransaction)
 {
     foreach (StmRef <T> stmRef in stmTransaction.inTxDict.Keys)
     {
         Monitor.Exit(stmRef.lockObj);
     }
     stmTransaction.isLockedCommit = false;
 }
Exemple #2
0
        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);
            }
            //}
        }
Exemple #3
0
 public LoggingStmTransactionModified(StmTransactionModified <T> stmTransaction)
 {
     this.stmTransaction = stmTransaction;
 }