System.Transactions.TransactionStatePromotedPhase1.Phase1VolatilePrepareDone C# (CSharp) Method

Phase1VolatilePrepareDone() private method

private Phase1VolatilePrepareDone ( InternalTransaction tx ) : void
tx InternalTransaction
return void
        internal override void Phase1VolatilePrepareDone(InternalTransaction tx)
        {
            Debug.Assert(tx._phase1Volatiles.VolatileDemux != null, "Volatile Demux must exist for VolatilePrepareDone when promoted.");

            Monitor.Exit(tx);
            try
            {
                // Tell the distributed TM that the volatile enlistments are prepared
                tx._phase1Volatiles.VolatileDemux._promotedEnlistment.Prepared();
            }
            finally
            {
                Monitor.Enter(tx);
            }
        }