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);
}
}
}
}