mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2026-03-27 01:10:20 +08:00
[Kernel] message 可以返回消息的实际大小 (#7709)
This commit is contained in:
@@ -150,7 +150,7 @@ OS_Status OS_QueueReceive(OS_Queue_t *queue, void *item, OS_Time_t waitMS)
|
||||
OS_HANDLE_ASSERT(OS_QueueIsValid(queue), queue->handle);
|
||||
|
||||
ret = rt_mq_recv(queue->handle, item, queue->itemSize, OS_CalcWaitTicks(waitMS));
|
||||
if (ret != RT_EOK) {
|
||||
if (ret < 0) {
|
||||
OS_DBG("%s() fail @ %d, %"OS_TIME_F" ms\n", __func__, __LINE__, (unsigned int)waitMS);
|
||||
return OS_FAIL;
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ int hal_queue_recv(hal_queue_t queue, void *buffer, int timeout)
|
||||
}
|
||||
|
||||
ret = rt_mq_recv(queue, buffer, queue->msg_size, timeout);
|
||||
if (ret != RT_EOK)
|
||||
if (ret < 0)
|
||||
{
|
||||
return -2;
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ void rt_init_thread_entry(void *parameter)
|
||||
|
||||
while(1)
|
||||
{
|
||||
if (rt_mq_recv(&mq, &msg, sizeof(msg), RT_WAITING_FOREVER) == RT_EOK)
|
||||
if (rt_mq_recv(&mq, &msg, sizeof(msg), RT_WAITING_FOREVER) >= 0)
|
||||
{
|
||||
switch(msg.type)
|
||||
{
|
||||
|
||||
@@ -788,7 +788,7 @@ osa_status_t OSA_MsgQGet(osa_msgq_handle_t msgqHandle, osa_msg_handle_t pMessage
|
||||
{
|
||||
timeoutTicks = rt_tick_from_millisecond(millisec);
|
||||
}
|
||||
if (RT_EOK != rt_mq_recv(handler, pMessage, handler->msg_size, timeoutTicks))
|
||||
if (rt_mq_recv(handler, pMessage, handler->msg_size, timeoutTicks) < 0)
|
||||
{
|
||||
osaStatus = KOSA_StatusTimeout; /* not able to send it to the queue? */
|
||||
}
|
||||
|
||||
@@ -788,7 +788,7 @@ osa_status_t OSA_MsgQGet(osa_msgq_handle_t msgqHandle, osa_msg_handle_t pMessage
|
||||
{
|
||||
timeoutTicks = rt_tick_from_millisecond(millisec);
|
||||
}
|
||||
if (RT_EOK != rt_mq_recv(handler, pMessage, handler->msg_size, timeoutTicks))
|
||||
if (rt_mq_recv(handler, pMessage, handler->msg_size, timeoutTicks) < 0)
|
||||
{
|
||||
osaStatus = KOSA_StatusTimeout; /* not able to send it to the queue? */
|
||||
}
|
||||
|
||||
@@ -788,7 +788,7 @@ osa_status_t OSA_MsgQGet(osa_msgq_handle_t msgqHandle, osa_msg_handle_t pMessage
|
||||
{
|
||||
timeoutTicks = rt_tick_from_millisecond(millisec);
|
||||
}
|
||||
if (RT_EOK != rt_mq_recv(handler, pMessage, handler->msg_size, timeoutTicks))
|
||||
if (rt_mq_recv(handler, pMessage, handler->msg_size, timeoutTicks) < 0)
|
||||
{
|
||||
osaStatus = KOSA_StatusTimeout; /* not able to send it to the queue? */
|
||||
}
|
||||
|
||||
@@ -788,7 +788,7 @@ osa_status_t OSA_MsgQGet(osa_msgq_handle_t msgqHandle, osa_msg_handle_t pMessage
|
||||
{
|
||||
timeoutTicks = rt_tick_from_millisecond(millisec);
|
||||
}
|
||||
if (RT_EOK != rt_mq_recv(handler, pMessage, handler->msg_size, timeoutTicks))
|
||||
if (rt_mq_recv(handler, pMessage, handler->msg_size, timeoutTicks) < 0)
|
||||
{
|
||||
osaStatus = KOSA_StatusTimeout; /* not able to send it to the queue? */
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ static void serial_thread_entry(void *parameter)
|
||||
{
|
||||
rt_memset(&msg, 0, sizeof(msg));
|
||||
result = rt_mq_recv(&rx_mq, &msg, sizeof(msg), RT_WAITING_FOREVER);
|
||||
if (result == RT_EOK)
|
||||
if (result >= 0)
|
||||
{
|
||||
rx_length = rt_device_read(msg.dev, 0, rx_buffer, msg.size);
|
||||
rx_buffer[rx_length] = '\0';
|
||||
|
||||
Reference in New Issue
Block a user