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

◆ ThrowIfInTearDown()

void System.Linq.Parallel.OrderPreservingPipeliningMergeHelper< TOutput, TKey >.OrderedPipeliningMergeEnumerator.ThrowIfInTearDown ( )
inlineprivate

Definition at line 97 of file OrderPreservingPipeliningMergeHelper.cs.

98 {
99 if (!_mergeHelper._taskGroupState.CancellationState.MergedCancellationToken.IsCancellationRequested)
100 {
101 return;
102 }
103 try
104 {
105 object[] bufferLocks = _mergeHelper._bufferLocks;
106 for (int i = 0; i < bufferLocks.Length; i++)
107 {
108 lock (bufferLocks[i])
109 {
111 }
112 }
114 }
115 finally
116 {
118 }
119 }
void QueryEnd(bool userInitiatedDispose)
static void Pulse(object obj)
Definition Monitor.cs:103

References System.Linq.Parallel.OrderPreservingPipeliningMergeHelper< TOutput, TKey >.OrderedPipeliningMergeEnumerator._mergeHelper, System.Linq.Parallel.OrderPreservingPipeliningMergeHelper< TOutput, TKey >.OrderedPipeliningMergeEnumerator._producerHeap, System.Linq.Parallel.MergeEnumerator< TOutput >._taskGroupState, System.Collections.Generic.Dictionary< TKey, TValue >.Clear(), System.Threading.Monitor.Pulse(), and System.Linq.Parallel.QueryTaskGroupState.QueryEnd().

Referenced by System.Linq.Parallel.OrderPreservingPipeliningMergeHelper< TOutput, TKey >.OrderedPipeliningMergeEnumerator.MoveNext().