internal override void EnterState(InternalTransaction tx)
{
CommonEnterState(tx);
// Forward this on to the promotable single phase enlisment
Monitor.Exit(tx);
TransactionsEtwProvider etwLog = TransactionsEtwProvider.Log;
if (etwLog.IsEnabled())
{
etwLog.EnlistmentStatus(tx._durableEnlistment, NotificationCall.SinglePhaseCommit);
}
try
{
tx._durableEnlistment.PromotableSinglePhaseNotification.SinglePhaseCommit(
tx._durableEnlistment.SinglePhaseEnlistment);
}
finally
{
Monitor.Enter(tx);
}
}