destroythread

来自「GEEKOS是一个免费的操作系统内核」· 代码 · 共 31 行

TXT
31
字号
// Destroy given thread.// Called with interrupts enabled.static void Destroy_Thread( struct Kernel_Thread* kthread ){    struct threadItem *curr, *lag;    KASSERT(!Interrupts_Enabled());    for (lag=NULL, curr= allThreads; curr; curr=curr->next) {        if (curr->thread == kthread) {	    if (curr == allThreads) {		KASSERT(lag == NULL);		allThreads = curr->next;	    } else {		KASSERT(lag->next == curr);		lag->next = curr->next;	    }	    Free(curr);	    break;	} else {	    lag = curr;        }    }    KASSERT(curr);    // Dispose of the thread's memory.    Free_Page( kthread->stackPage );    Free_Page( kthread );}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?