public void OnComplete() { Volatile.Write(ref done, true); if (outputFused) { actual.OnNext(default(T)); actual.OnComplete(); } else { SubscriptionHelper.PostCompleteMultiResult(actual, ref requested, queue, ref cancelled); } }
public void OnComplete() { if (done) { return; } done = true; if (count == 0) { actual.OnComplete(); return; } long p = produced; if (p != 0L) { SubscriptionHelper.Produced(ref requested, p); } SubscriptionHelper.PostCompleteMultiResult(actual, ref requested, queue, ref cancelled); }