Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CompleteAbortingClone()

override void System.Transactions.TransactionStatePromotedBase.CompleteAbortingClone ( InternalTransaction tx)
inlinepackagevirtualinherited

Reimplemented from System.Transactions.TransactionState.

Definition at line 164 of file TransactionStatePromotedBase.cs.

165 {
166 if (tx._phase1Volatiles.VolatileDemux != null)
167 {
168 tx._phase1Volatiles._dependentClones--;
169 return;
170 }
171 tx._abortingDependentCloneCount--;
172 if (tx._abortingDependentCloneCount != 0)
173 {
174 return;
175 }
176 DistributedDependentTransaction abortingDependentClone = tx._abortingDependentClone;
177 tx._abortingDependentClone = null;
178 Monitor.Exit(tx);
179 try
180 {
181 try
182 {
183 abortingDependentClone.Complete();
184 }
185 finally
186 {
187 abortingDependentClone.Dispose();
188 }
189 }
190 finally
191 {
192 Monitor.Enter(tx);
193 }
194 }
static void Exit(object obj)
static void Enter(object obj)

References System.Transactions.InternalTransaction._abortingDependentClone, System.Transactions.InternalTransaction._abortingDependentCloneCount, System.Transactions.VolatileEnlistmentSet._dependentClones, System.Transactions.InternalTransaction._phase1Volatiles, System.Transactions.Distributed.DistributedDependentTransaction.Complete(), System.Transactions.Distributed.DistributedTransaction.Dispose(), System.Threading.Monitor.Enter(), System.Threading.Monitor.Exit(), and System.Transactions.VolatileEnlistmentSet.VolatileDemux.