Shipwright/soh/src/libultra/io/sptaskyielded.c

20 lines
347 B
C

#include "global.h"
u32 osSpTaskYielded(OSTask* task) {
u32 ret;
u32 status = __osSpGetStatus();
if (status & SP_STATUS_YIELDED) {
ret = OS_TASK_YIELDED;
} else {
ret = 0;
}
if (status & SP_STATUS_YIELD) {
task->t.flags |= ret;
task->t.flags &= ~OS_TASK_DP_WAIT;
}
return ret;
}