void CTargetPlatformCoroutine::resume(CCoroutine *other)
{
  if (other == this) return;
  // Tell the other guy to go.
  assert(other->state_);
  other->state_->signalToGo();
  // Wait until someone tells us to go.
  assert(state_);
  state_->waitToGo();
}

Example 5: blocking call returns, resume calls waitToGo.

Back to Article