From 0f0e85b7a6bf76d540925fbf661c483c8dba1cba Mon Sep 17 00:00:00 2001 From: zhushengle Date: Thu, 28 Oct 2021 17:19:22 +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=94=80=E6=AF=81=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=84liteipc?= =?UTF-8?q?=E8=B5=84=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Close #I4FSA7 Signed-off-by: zhushengle Change-Id: I8b24a1e1554b4b867a841bc1b6765cbfd648cdbd --- 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 3098d3db..13216a8a 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);