Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CompleteAdding()

Definition at line 622 of file BlockingCollection.cs.

623 {
626 {
627 return;
628 }
629 SpinWait spinWait = default(SpinWait);
630 while (true)
631 {
633 if (((uint)currentAdders & 0x80000000u) != 0)
634 {
635 spinWait.Reset();
636 while (_currentAdders != int.MinValue)
637 {
638 spinWait.SpinOnce();
639 }
640 return;
641 }
643 {
644 break;
645 }
646 spinWait.SpinOnce(-1);
647 }
648 spinWait.Reset();
649 while (_currentAdders != int.MinValue)
650 {
651 spinWait.SpinOnce();
652 }
653 if (Count == 0)
654 {
656 }
658 }
static int CompareExchange(ref int location1, int value, int comparand)

References System.Collections.Concurrent.BlockingCollection< T >._currentAdders, System.Collections.Concurrent.BlockingCollection< T >.CancelWaitingConsumers(), System.Collections.Concurrent.BlockingCollection< T >.CancelWaitingProducers(), System.Collections.Concurrent.BlockingCollection< T >.CheckDisposed(), System.Threading.Interlocked.CompareExchange(), System.Collections.Concurrent.BlockingCollection< T >.Count, and System.Collections.Concurrent.BlockingCollection< T >.IsAddingCompleted.