update kernel/base/core/los_process.c.

This commit is contained in:
冷钦街 2021-04-02 15:56:30 +08:00 committed by Gitee
parent 90b9c37b66
commit 3194fcca08
1 changed files with 8 additions and 11 deletions

View File

@ -1606,19 +1606,16 @@ STATIC UINT32 OsCopyParent(UINT32 flags, LosProcessCB *childProcessCB, LosProces
childProcessCB->priority = runProcessCB->priority;
if (flags & CLONE_PARENT) {
parentProcessCB = OS_PCB_FROM_PID(runProcessCB->parentProcessID);
childProcessCB->parentProcessID = parentProcessCB->processID;
LOS_ListTailInsert(&parentProcessCB->childrenList, &childProcessCB->siblingList);
childProcessCB->group = parentProcessCB->group;
LOS_ListTailInsert(&parentProcessCB->group->processList, &childProcessCB->subordinateGroupList);
ret = OsCopyUser(childProcessCB, parentProcessCB);
parentProcessCB = OS_PCB_FROM_PID(runProcessCB->parentProcessID);
} else {
childProcessCB->parentProcessID = runProcessCB->processID;
LOS_ListTailInsert(&runProcessCB->childrenList, &childProcessCB->siblingList);
childProcessCB->group = runProcessCB->group;
LOS_ListTailInsert(&runProcessCB->group->processList, &childProcessCB->subordinateGroupList);
ret = OsCopyUser(childProcessCB, runProcessCB);
parentProcessCB = runProcessCB;
}
childProcessCB->parentProcessID = parentProcessCB->processID;
LOS_ListTailInsert(&parentProcessCB->childrenList, &childProcessCB->siblingList);
childProcessCB->group = parentProcessCB->group;
LOS_ListTailInsert(&parentProcessCB->group->processList, &childProcessCB->subordinateGroupList);
ret = OsCopyUser(childProcessCB, parentProcessCB);
SCHEDULER_UNLOCK(intSave);
return ret;
}