mirror of
https://github.com/zeldaret/oot.git
synced 2025-08-16 20:10:28 +00:00
First proper commit.
This commit is contained in:
parent
be78236d36
commit
087f561f77
14086 changed files with 1200489 additions and 1 deletions
39
src/libultra_boot_O1/osDestroyThread.c
Normal file
39
src/libultra_boot_O1/osDestroyThread.c
Normal file
|
@ -0,0 +1,39 @@
|
|||
#include <global.h>
|
||||
|
||||
void osDestroyThread(OSThread *thread)
|
||||
{
|
||||
register s32 int_disabled;
|
||||
|
||||
register OSThread *s1;
|
||||
register OSThread *s2;
|
||||
|
||||
int_disabled = __osDisableInt();
|
||||
|
||||
if (thread == NULL)
|
||||
thread = __osRunningThread;
|
||||
|
||||
else if (thread->state != OS_STATE_STOPPED)
|
||||
__osDequeueThread(thread->queue, thread);
|
||||
|
||||
if (__osActiveQueue == thread)
|
||||
__osActiveQueue = __osActiveQueue->tlnext;
|
||||
else
|
||||
{
|
||||
s1 = __osActiveQueue;
|
||||
while (s1->priority != -1)
|
||||
{
|
||||
s2 = s1->tlnext;
|
||||
if (s2 == thread)
|
||||
{
|
||||
s1->tlnext = thread->tlnext;
|
||||
break;
|
||||
}
|
||||
s1 = s2;
|
||||
}
|
||||
}
|
||||
|
||||
if (thread == __osRunningThread)
|
||||
__osDispatchThread();
|
||||
|
||||
__osRestoreInt(int_disabled);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue