public override void OnCompleted() { Dispose(); lock (_gate) { _parent.Done(_index); } }
public void OnCompleted() { _self.Dispose(); lock (_gate) { _parent.Done(_index); } }
public override void OnCompleted() { // Calling Dispose() here would clear the queue prematurely. // We only need to dispose the IDisposable of the upstream, // which is done by SafeObserver.Dispose(bool). base.Dispose(true); lock (_gate) { _parent.Done(_index); } }