Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
DurableEnlistmentAborting.cs
Go to the documentation of this file.
2
3namespace System.Transactions;
4
6{
7 internal override void EnterState(InternalEnlistment enlistment)
8 {
9 enlistment.State = this;
10 Monitor.Exit(enlistment.Transaction);
11 try
12 {
14 if (log.IsEnabled())
15 {
16 log.EnlistmentStatus(enlistment, NotificationCall.Rollback);
17 }
18 if (enlistment.SinglePhaseNotification != null)
19 {
21 }
22 else
23 {
25 }
26 }
27 finally
28 {
29 Monitor.Enter(enlistment.Transaction);
30 }
31 }
32
33 internal override void Aborted(InternalEnlistment enlistment, Exception e)
34 {
35 if (enlistment.Transaction._innerException == null)
36 {
37 enlistment.Transaction._innerException = e;
38 }
40 }
41
42 internal override void EnlistmentDone(InternalEnlistment enlistment)
43 {
45 }
46}
static void Exit(object obj)
static void Enter(object obj)
override void EnterState(InternalEnlistment enlistment)
override void Aborted(InternalEnlistment enlistment, Exception e)
override void EnlistmentDone(InternalEnlistment enlistment)
static DurableEnlistmentEnded DurableEnlistmentEnded
virtual IPromotableSinglePhaseNotification PromotableSinglePhaseNotification
ISinglePhaseNotification SinglePhaseNotification
void EnlistmentStatus(InternalEnlistment enlistment, NotificationCall notificationCall)
static readonly TransactionsEtwProvider Log
void Rollback(Enlistment enlistment)
void Rollback(SinglePhaseEnlistment singlePhaseEnlistment)