System.Transactions.Bucket.TimeoutTransactions C# (CSharp) Method

TimeoutTransactions() private method

private TimeoutTransactions ( ) : void
return void
        internal void TimeoutTransactions()
        {
            int i;
            int transactionCount = _index;

            _timedOut = true;
            Interlocked.MemoryBarrier();

            for (i = 0; i <= transactionCount && i < _size; i++)
            {
                Debug.Assert(transactionCount == _index, "Index changed timing out transactions");
                InternalTransaction tx = _transactions[i];
                if (tx != null)
                {
                    lock (tx)
                    {
                        tx.State.Timeout(tx);
                    }
                }
            }
        }

Usage Example

Example #1
0
        internal void TimeoutTransactions()
        {
            Bucket headBucket = this.headBucket;

            do
            {
                headBucket.TimeoutTransactions();
                WeakReference nextBucketWeak = headBucket.nextBucketWeak;
                if (nextBucketWeak != null)
                {
                    headBucket = (Bucket)nextBucketWeak.Target;
                }
                else
                {
                    headBucket = null;
                }
            }while (headBucket != null);
        }
All Usage Examples Of System.Transactions.Bucket::TimeoutTransactions