1 write to _sharedResources
System.Threading.Tasks.Dataflow (1)
Blocks\JoinBlock.cs (1)
298_sharedResources = new JoinBlockTargetSharedResources(this, targets,
15 references to _sharedResources
System.Threading.Tasks.Dataflow (15)
Blocks\JoinBlock.cs (15)
289if (dataflowBlockOptions.BoundedCapacity > 0) onItemsRemoved = static (owningSource, count) => ((JoinBlock<T1, T2, T3>)owningSource)._sharedResources.OnItemsRemoved(count); 293static owningSource => ((JoinBlock<T1, T2, T3>)owningSource)._sharedResources.CompleteEachTarget(), 302Volatile.Write(ref _sharedResources!._hasExceptions, true); 306targets[0] = _target1 = new JoinBlockTarget<T1>(_sharedResources); 307targets[1] = _target2 = new JoinBlockTarget<T2>(_sharedResources); 308targets[2] = _target3 = new JoinBlockTarget<T3>(_sharedResources); 329dataflowBlockOptions.CancellationToken, _source.Completion, static (state, _) => ((JoinBlock<T1, T2, T3>)state!)._sharedResources.CompleteEachTarget(), this); 378Debug.Assert(_sharedResources != null, "_sharedResources not initialized"); 379Debug.Assert(_sharedResources._exceptionAction != null, "_sharedResources._exceptionAction not initialized"); 381lock (_sharedResources.IncomingLock) 383if (!_sharedResources._decliningPermanently) _sharedResources._exceptionAction(exception); 449public long JoinsCreated { get { return _joinBlock._sharedResources._joinsCreated; } } 452public Task? TaskForInputProcessing { get { return _joinBlock._sharedResources._taskForInputProcessing; } } 459public bool IsDecliningPermanently { get { return _joinBlock._sharedResources._decliningPermanently; } }