4
0
mirror of https://github.com/RT-Thread/rt-thread.git synced 2025-03-05 10:25:28 +08:00

Merge pull request #4199 from mysterywolf/m--

[kernel] 对IPC中减减进行摸排,防止出现减出一个很大的数
This commit is contained in:
Bernard Xiong 2020-12-29 08:20:34 +08:00 committed by GitHub
commit 7d11aa24a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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);