mirror of
https://github.com/zeldaret/oot.git
synced 2025-08-12 18:01:16 +00:00
First proper commit.
This commit is contained in:
parent
be78236d36
commit
087f561f77
14086 changed files with 1200489 additions and 1 deletions
26
src/libultra_boot_O1/osSetThreadPri.c
Normal file
26
src/libultra_boot_O1/osSetThreadPri.c
Normal file
|
@ -0,0 +1,26 @@
|
|||
#include <global.h>
|
||||
|
||||
void osSetThreadPri(OSThread* thread, OSPri pri)
|
||||
{
|
||||
register u32 s0 = __osDisableInt();
|
||||
|
||||
if (thread == NULL)
|
||||
thread = __osRunningThread;
|
||||
|
||||
if (thread->priority != pri)
|
||||
{
|
||||
thread->priority = pri;
|
||||
if (thread != __osRunningThread && thread->state != 1)
|
||||
{
|
||||
__osDequeueThread(thread->queue, thread);
|
||||
__osEnqueueThread(thread->queue, thread);
|
||||
}
|
||||
if (__osRunningThread->priority < __osRunQueue->priority)
|
||||
{
|
||||
__osRunningThread->state = 2;
|
||||
__osEnqueueAndYield(&__osRunQueue);
|
||||
}
|
||||
}
|
||||
|
||||
__osRestoreInt(s0);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue