mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-03-06 02:25:25 +08:00
Merge pull request #4199 from mysterywolf/m--
[kernel] 对IPC中减减进行摸排,防止出现减出一个很大的数
This commit is contained in:
commit
7d11aa24a2
11
src/ipc.c
11
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;
|
++ mb->out_offset;
|
||||||
if (mb->out_offset >= mb->size)
|
if (mb->out_offset >= mb->size)
|
||||||
mb->out_offset = 0;
|
mb->out_offset = 0;
|
||||||
|
|
||||||
/* decrease message entry */
|
/* decrease message entry */
|
||||||
mb->entry --;
|
if(mb->entry > 0)
|
||||||
|
{
|
||||||
|
mb->entry --;
|
||||||
|
}
|
||||||
|
|
||||||
/* resume suspended thread */
|
/* resume suspended thread */
|
||||||
if (!rt_list_isempty(&(mb->suspend_sender_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;
|
mq->msg_queue_tail = RT_NULL;
|
||||||
|
|
||||||
/* decrease message entry */
|
/* decrease message entry */
|
||||||
mq->entry --;
|
if(mq->entry > 0)
|
||||||
|
{
|
||||||
|
mq->entry --;
|
||||||
|
}
|
||||||
|
|
||||||
/* enable interrupt */
|
/* enable interrupt */
|
||||||
rt_hw_interrupt_enable(temp);
|
rt_hw_interrupt_enable(temp);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user