Files
oot/src/libultra_boot_O1/osStopThread.c
T
Tharo f9d96d9f73 Fix most compiler warnings in the boot and code segments (#674)
* Less warnings in boot & code segments

* few more warnings gone

* Ran formatter

* z_view warning gone

* -> 1

* f31 -> 31

* Remove function casts

* Few more small improvements

* Separate declaration and assignment in func_80091738 and Item_Give

Co-authored-by: Thar0 <maximilianc64@gmail.com>
2021-02-13 19:49:40 -05:00

27 lines
536 B
C

#include "global.h"
void osStopThread(OSThread* thread) {
register u32 prevInt = __osDisableInt();
register u32 state;
if (thread == NULL) {
state = 4;
} else {
state = thread->state;
}
switch (state) {
case 4:
__osRunningThread->state = 1;
__osEnqueueAndYield(NULL);
break;
case 2:
case 8:
thread->state = 1;
__osDequeueThread(thread->queue, thread);
break;
}
__osRestoreInt(prevInt);
}