Lines Matching refs:runningCo
323 if (GetCoEnv()->runningCo) {
324 CoMemFree(GetCoEnv()->runningCo);
325 GetCoEnv()->runningCo = nullptr;
337 task->coRoutine = GetCoEnv()->runningCo;
351 if (GetCoEnv()->runningCo) { // free cached stack if it exist
352 CoMemFree(GetCoEnv()->runningCo);
354 GetCoEnv()->runningCo = task->coRoutine;
356 if (!GetCoEnv()->runningCo) { // if no cached stack, alloc one
357 GetCoEnv()->runningCo = AllocNewCoRoutine(task->stack_size);
359 if (GetCoEnv()->runningCo->allocatedSize != task->stack_size) { // stack size not match, alloc one
360 CoMemFree(GetCoEnv()->runningCo); // free cached stack
361 GetCoEnv()->runningCo = AllocNewCoRoutine(task->stack_size);
372 if (GetCoEnv()->runningCo == nullptr) { // retry once if alloc failed
374 if (GetCoEnv()->runningCo == nullptr) { // retry still failed
470 GetCoEnv()->runningCo = co;
478 CoRoutine* co = static_cast<CoRoutine*>(GetCoEnv()->runningCo);
480 GetCoEnv()->runningCo = nullptr;