public void Cancel() { TaskCompletionSource.TrySetCanceled(); if (!Removed) { CorrelatedAwaiterManager.RemoveAwaiter(this); } }
private void Dispose(bool disposing) { if (!_disposed) { if (!Removed) { CorrelatedAwaiterManager.RemoveAwaiter(this); } TaskCompletionSource.TrySetCanceled(); _disposed = true; } }