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

◆ EnterState()

override void System.Transactions.VolatileEnlistmentSPC.EnterState ( InternalEnlistment enlistment)
inlinepackage

Definition at line 7 of file VolatileEnlistmentSPC.cs.

8 {
9 bool flag = false;
10 enlistment.State = this;
11 TransactionsEtwProvider log = TransactionsEtwProvider.Log;
12 if (log.IsEnabled())
13 {
14 log.EnlistmentStatus(enlistment, NotificationCall.SinglePhaseCommit);
15 }
16 Monitor.Exit(enlistment.Transaction);
17 try
18 {
19 enlistment.SinglePhaseNotification.SinglePhaseCommit(enlistment.SinglePhaseEnlistment);
20 flag = true;
21 }
22 finally
23 {
24 if (!flag)
25 {
26 enlistment.SinglePhaseEnlistment.InDoubt();
27 }
28 Monitor.Enter(enlistment.Transaction);
29 }
30 }
static void Exit(object obj)
static void Enter(object obj)

References System.Transactions.TransactionsEtwProvider.EnlistmentStatus(), System.Threading.Monitor.Enter(), System.Threading.Monitor.Exit(), System.Transactions.SinglePhaseEnlistment.InDoubt(), System.Diagnostics.Tracing.EventSource.IsEnabled(), System.Transactions.TransactionsEtwProvider.Log, System.Transactions.ISinglePhaseNotification.SinglePhaseCommit(), System.Transactions.InternalEnlistment.SinglePhaseEnlistment, System.Transactions.InternalEnlistment.SinglePhaseNotification, and System.Transactions.InternalEnlistment.Transaction.