From 3d5e79248d284dd277f4c93126fc0f1a4ca0969e Mon Sep 17 00:00:00 2001 From: Meco Man <920369182@qq.com> Date: Tue, 29 Dec 2020 00:49:18 +0800 Subject: [PATCH] =?UTF-8?q?[kernel]=20=E5=AF=B9IPC=E4=B8=AD=E5=87=8F?= =?UTF-8?q?=E5=87=8F=E8=BF=9B=E8=A1=8C=E6=91=B8=E6=8E=92=EF=BC=8C=E9=98=B2?= =?UTF-8?q?=E6=AD=A2=E5=87=BA=E7=8E=B0=E5=87=8F=E5=87=BA=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=BE=88=E5=A4=A7=E7=9A=84=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ipc.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/ipc.c b/src/ipc.c index 454fcb5439..4261f617b0 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -1764,8 +1764,12 @@ rt_err_t rt_mb_recv(rt_mailbox_t mb, rt_ubase_t *value, rt_int32_t timeout) ++ mb->out_offset; if (mb->out_offset >= mb->size) mb->out_offset = 0; + /* decrease message entry */ - mb->entry --; + if(mb->entry > 0) + { + mb->entry --; + } /* resume suspended thread */ if (!rt_list_isempty(&(mb->suspend_sender_thread))) @@ -2439,7 +2443,10 @@ rt_err_t rt_mq_recv(rt_mq_t mq, mq->msg_queue_tail = RT_NULL; /* decrease message entry */ - mq->entry --; + if(mq->entry > 0) + { + mq->entry --; + } /* enable interrupt */ rt_hw_interrupt_enable(temp);