1 write to _sharedResources
System.Threading.Tasks.Dataflow (1)
Blocks\JoinBlock.cs (1)
289_sharedResources = new JoinBlockTargetSharedResources(this, targets,
15 references to _sharedResources
System.Threading.Tasks.Dataflow (15)
Blocks\JoinBlock.cs (15)
280if (dataflowBlockOptions.BoundedCapacity > 0) onItemsRemoved = static (owningSource, count) => ((JoinBlock<T1, T2, T3>)owningSource)._sharedResources.OnItemsRemoved(count); 284static owningSource => ((JoinBlock<T1, T2, T3>)owningSource)._sharedResources.CompleteEachTarget(), 293Volatile.Write(ref _sharedResources!._hasExceptions, true); 297targets[0] = _target1 = new JoinBlockTarget<T1>(_sharedResources); 298targets[1] = _target2 = new JoinBlockTarget<T2>(_sharedResources); 299targets[2] = _target3 = new JoinBlockTarget<T3>(_sharedResources); 320dataflowBlockOptions.CancellationToken, _source.Completion, static (state, _) => ((JoinBlock<T1, T2, T3>)state!)._sharedResources.CompleteEachTarget(), this); 366Debug.Assert(_sharedResources != null, "_sharedResources not initialized"); 367Debug.Assert(_sharedResources._exceptionAction != null, "_sharedResources._exceptionAction not initialized"); 369lock (_sharedResources.IncomingLock) 371if (!_sharedResources._decliningPermanently) _sharedResources._exceptionAction(exception); 437public long JoinsCreated { get { return _joinBlock._sharedResources._joinsCreated; } } 440public Task? TaskForInputProcessing { get { return _joinBlock._sharedResources._taskForInputProcessing; } } 447public bool IsDecliningPermanently { get { return _joinBlock._sharedResources._decliningPermanently; } }