public void UnsafeOnCompleted(Action continuation)
{
if (_continuation == s_sentinel ||
Interlocked.CompareExchange(ref _continuation, continuation, null) != null)
{
Debug.Assert(_continuation == s_sentinel, $"Expected continuation set to s_sentinel, got ${_continuation}");
Task.Run(continuation);
}
}
}