提交 3d5e7924 编写于 作者: mysterywolf's avatar mysterywolf

[kernel] 对IPC中减减进行摸排,防止出现减出一个很大的数

上级 3bca2cfb
...@@ -1764,8 +1764,12 @@ rt_err_t rt_mb_recv(rt_mailbox_t mb, rt_ubase_t *value, rt_int32_t timeout) ...@@ -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, ...@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册