public void OnComplete() { if (Interlocked.Decrement(ref wip) == 0) { all.Dispose(); actual.OnComplete(); } }
public void OnComplete() { if (Interlocked.CompareExchange(ref once, 1, 0) == 0) { all.Dispose(); actual.OnComplete(); } }
public void Dispose() { tasks.Dispose(); }