Esempio n. 1
0
        public void Dispose()
        {
            lock (SyncObject)
            {
                if (_disposed)
                {
                    return;
                }

                _disposed = true;

                CreditWaiter waiter = _waitersTail;
                if (waiter != null)
                {
                    do
                    {
                        CreditWaiter next = waiter.Next;
                        waiter.Next = null;
                        waiter.Dispose();
                        waiter = next;
                    }while (waiter != _waitersTail);

                    _waitersTail = null;
                }
            }
        }