У меня есть следующая функция, которую я использую в качестве точки входа для окна.Coroutine: Как узнать, закончилось ли оконное стекло?
void foo(void*) {
for(int i =0; i < 10; ++i) { doStuff(); }
}
Теперь я называю SwitchToFiber
в мой основной в цикле; что-то вроде следующего.
int main() {
... create the fiber and stuff
for (int i = 0; i < 50; ++i) {
SwitchToFiber(foo_fiber_ptr);
// how do I tell if foo has already finished execution?
// (without passing in a state variable to communicate.)
if (someCondition) { break; }
}
... do stuff
}
Так что мой вопрос: как я говорю, если Foo уже завершил выполнение
спасибо, но мне интересно, есть ли способ сделать это не путем проверки пользовательской переменной состояния? –