in aws-crt/CrtResult.cs [40:68]
public void Complete(T result)
{
bool signalCompletion = false;
OnCompletion completionCallback = null;
lock (this)
{
if (State == ResultState.INCOMPLETE)
{
State = ResultState.COMPLETE;
Result = result;
signalCompletion = true;
completionCallback = OnCompletionCallback;
}
else
{
throw new CrtException("Result already completed");
}
}
if (signalCompletion)
{
if (completionCallback != null)
{
completionCallback(result);
}
CompletionSignal.Set();
}
}