blob: 3ecab5569e008f00b724c84abd4dce48ab145a7c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#include "PR/os_internal.h"
#include "PR/sptask.h"
#include "PR/rcp.h"
OSYieldResult osSpTaskYielded(OSTask* tp) {
u32 status;
OSYieldResult result;
status = __osSpGetStatus();
result = (status & SP_STATUS_YIELDED) ? OS_TASK_YIELDED : 0;
if (status & SP_STATUS_YIELD) {
tp->t.flags |= result;
tp->t.flags &= ~(OS_TASK_DP_WAIT);
}
return result;
}
|