summaryrefslogtreecommitdiff
path: root/src/ipc.c
diff options
context:
space:
mode:
authorMeco Man <[email protected]>2020-12-30 03:44:37 -0600
committerGitHub <[email protected]>2020-12-30 03:44:37 -0600
commit4a4f00de6bf553a7b047acb2f43b38693c0afaa2 (patch)
treea7db2443e8409bf1304291c583498340364ba6e8 /src/ipc.c
parent3bca2cfb418f03c529fc8563b62c19d391caf90b (diff)
parent4c399f88bb15416e833e9b86ad9de46807ca12e0 (diff)
Merge pull request #8 from RT-Thread/master
pr
Diffstat (limited to 'src/ipc.c')
-rw-r--r--src/ipc.c11
1 files 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);