From dfc582aecda8ac1e0570d5f6fddbe332c52d0d27 Mon Sep 17 00:00:00 2001 From: hw_llm Date: Fri, 10 May 2024 20:05:39 +0800 Subject: [PATCH] =?UTF-8?q?fixed=20dbbb96c=20from=20https://gitee.com/hw?= =?UTF-8?q?=5Fllm/kernel=5Fliteos=5Fa/pulls/1189=20Description:=20liteos?= =?UTF-8?q?=5Fa=20=E5=86=85=E6=A0=B8=E7=AB=9E=E4=BA=89=E6=BC=8F=E6=B4=9E?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20IssueNo:=20https://gitee.com/openharmony/k?= =?UTF-8?q?ernel=5Fliteos=5Fa/issues/I9OACM=20Feature=20Or=20Bugfix:=20Bug?= =?UTF-8?q?fix=20Binary=20Source:=20No=20Signed-off-by:=20hw=5Fllm=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- compat/posix/src/mqueue.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/compat/posix/src/mqueue.c b/compat/posix/src/mqueue.c index 0b885d86..44b34b0c 100644 --- a/compat/posix/src/mqueue.c +++ b/compat/posix/src/mqueue.c @@ -604,17 +604,19 @@ int OsMqGetAttr(mqd_t personal, struct mq_attr *mqAttr) struct mqarray *mqueueCB = NULL; struct mqpersonal *privateMqPersonal = NULL; + (VOID)pthread_mutex_lock(&IPC_QUEUE_MUTEX); privateMqPersonal = MqGetPrivDataBuff(personal); if (privateMqPersonal == NULL) { + (VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX); return -1; } if (mqAttr == NULL) { errno = EINVAL; + (VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX); return -1; } - (VOID)pthread_mutex_lock(&IPC_QUEUE_MUTEX); if (privateMqPersonal->mq_status != MQ_USE_MAGIC) { errno = EBADF; (VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX); @@ -634,17 +636,19 @@ int OsMqSetAttr(mqd_t personal, const struct mq_attr *mqSetAttr, struct mq_attr { struct mqpersonal *privateMqPersonal = NULL; + (VOID)pthread_mutex_lock(&IPC_QUEUE_MUTEX); privateMqPersonal = MqGetPrivDataBuff(personal); if (privateMqPersonal == NULL) { + (VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX); return -1; } if (mqSetAttr == NULL) { errno = EINVAL; + (VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX); return -1; } - (VOID)pthread_mutex_lock(&IPC_QUEUE_MUTEX); if (privateMqPersonal->mq_status != MQ_USE_MAGIC) { errno = EBADF; (VOID)pthread_mutex_unlock(&IPC_QUEUE_MUTEX);