From 892201f67b5307f02542c8d1cf8c2e998234be36 Mon Sep 17 00:00:00 2001 From: zhushengle Date: Wed, 22 Dec 2021 17:24:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=9D=9E=E5=BD=93=E5=89=8D=E8=BF=9B?= =?UTF-8?q?=E7=A8=8B=E9=80=80=E5=87=BA=E6=97=B6=EF=BC=8C=E9=94=80=E6=AF=81?= =?UTF-8?q?liteipc=E6=97=B6=E9=94=99=E8=AF=AF=E7=9A=84=E9=94=80=E6=AF=81?= =?UTF-8?q?=E4=BA=86=E5=BD=93=E5=89=8D=E8=BF=9B=E7=A8=8B=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhushengle Change-Id: Icf6688cf0d15efd0c6ef278f3fce37bf3849b03a --- kernel/base/core/los_process.c | 2 +- kernel/extended/liteipc/hm_liteipc.c | 3 +-- kernel/extended/liteipc/hm_liteipc.h | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/kernel/base/core/los_process.c b/kernel/base/core/los_process.c index adf53610..f4e8a552 100644 --- a/kernel/base/core/los_process.c +++ b/kernel/base/core/los_process.c @@ -374,7 +374,7 @@ LITE_OS_SEC_TEXT VOID OsProcessResourcesToFree(LosProcessCB *processCB) #ifdef LOSCFG_KERNEL_LITEIPC if (OsProcessIsUserMode(processCB)) { - LiteIpcPoolDelete(&(processCB->ipcInfo)); + LiteIpcPoolDelete(&(processCB->ipcInfo), processCB->processID); (VOID)memset_s(&(processCB->ipcInfo), sizeof(ProcIpcInfo), 0, sizeof(ProcIpcInfo)); } #endif diff --git a/kernel/extended/liteipc/hm_liteipc.c b/kernel/extended/liteipc/hm_liteipc.c index a4a99fbe..f23c6894 100644 --- a/kernel/extended/liteipc/hm_liteipc.c +++ b/kernel/extended/liteipc/hm_liteipc.c @@ -254,11 +254,10 @@ LITE_OS_SEC_TEXT UINT32 LiteIpcPoolReInit(ProcIpcInfo *child, const ProcIpcInfo return LOS_OK; } -LITE_OS_SEC_TEXT VOID LiteIpcPoolDelete(ProcIpcInfo *ipcInfo) +LITE_OS_SEC_TEXT VOID LiteIpcPoolDelete(ProcIpcInfo *ipcInfo, UINT32 processID) { UINT32 intSave; IpcUsedNode *node = NULL; - UINT32 processID = LOS_GetCurrProcessID(); if (ipcInfo->pool.kvaddr != NULL) { LOS_VFree(ipcInfo->pool.kvaddr); ipcInfo->pool.kvaddr = NULL; diff --git a/kernel/extended/liteipc/hm_liteipc.h b/kernel/extended/liteipc/hm_liteipc.h index 3dfa0931..a7d46cf1 100644 --- a/kernel/extended/liteipc/hm_liteipc.h +++ b/kernel/extended/liteipc/hm_liteipc.h @@ -184,7 +184,7 @@ extern UINT32 LiteIpcPoolInit(ProcIpcInfo *ipcInfo); extern UINT32 LiteIpcPoolReInit(ProcIpcInfo *childIpcInfo, const ProcIpcInfo *parentIpcInfo); /* delete process liteipc memory pool */ -extern VOID LiteIpcPoolDelete(ProcIpcInfo *ipcInfo); +extern VOID LiteIpcPoolDelete(ProcIpcInfo *ipcInfo, UINT32 processID); /* remove service handle and send death notify */ extern VOID LiteIpcRemoveServiceHandle(LosTaskCB *taskCB);