fix: 3518平台, 异常测试进程无法正常退出
用户态线程在用户态处于while(1), 在中断处理时使该线程处于READY状态, 此时进程退出时该线程无法被正常回收,导致进程无法合理退出。 Close #I3V8R5 Change-Id: I7f83f5f7fe41c03eb602bf78cfd33fff1b0acdb7 Signed-off-by: zhushengle <zhushengle@huawei.com>
This commit is contained in:
parent
e36b0fd4d5
commit
23937a239f
|
@ -1452,7 +1452,8 @@ LITE_OS_SEC_TEXT VOID OsTaskExitGroup(UINT32 status)
|
|||
LOS_DL_LIST *head = list;
|
||||
do {
|
||||
LosTaskCB *taskCB = LOS_DL_LIST_ENTRY(list->pstNext, LosTaskCB, threadList);
|
||||
if ((taskCB->taskStatus & (OS_TASK_STATUS_INIT | OS_TASK_STATUS_EXIT)) &&
|
||||
if ((taskCB->taskStatus & (OS_TASK_STATUS_INIT | OS_TASK_STATUS_EXIT) ||
|
||||
((taskCB->taskStatus & OS_TASK_STATUS_READY) && !taskCB->sig.sigIntLock)) &&
|
||||
!(taskCB->taskStatus & OS_TASK_STATUS_RUNNING)) {
|
||||
OsTaskDeleteInactive(processCB, taskCB);
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue