System.Transactions.TransactionStatePromotedPhase0.Phase0VolatilePrepareDone C# (CSharp) Method

Phase0VolatilePrepareDone() private method

private Phase0VolatilePrepareDone ( InternalTransaction tx ) : void
tx InternalTransaction
return void
        internal override void Phase0VolatilePrepareDone(InternalTransaction tx)
        {
            Debug.Assert(tx._phase0Volatiles.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._phase0Volatiles.VolatileDemux._promotedEnlistment.Prepared();
            }
            finally
            {
                Monitor.Enter(tx);
            }
        }