summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/rtdef.h2
-rw-r--r--include/rtthread.h4
2 files changed, 6 insertions, 0 deletions
diff --git a/include/rtdef.h b/include/rtdef.h
index 7c05178e3c..b25a6a87d5 100644
--- a/include/rtdef.h
+++ b/include/rtdef.h
@@ -742,6 +742,8 @@ struct rt_messagequeue
void *msg_queue_head; /**< list head */
void *msg_queue_tail; /**< list tail */
void *msg_queue_free; /**< pointer indicated the free node of queue */
+
+ rt_list_t suspend_sender_thread; /**< sender thread suspended on this message queue */
};
typedef struct rt_messagequeue *rt_mq_t;
#endif
diff --git a/include/rtthread.h b/include/rtthread.h
index 04db77da46..d703f36268 100644
--- a/include/rtthread.h
+++ b/include/rtthread.h
@@ -379,6 +379,10 @@ rt_mq_t rt_mq_create(const char *name,
rt_err_t rt_mq_delete(rt_mq_t mq);
rt_err_t rt_mq_send(rt_mq_t mq, const void *buffer, rt_size_t size);
+rt_err_t rt_mq_send_wait(rt_mq_t mq,
+ const void *buffer,
+ rt_size_t size,
+ rt_int32_t timeout);
rt_err_t rt_mq_urgent(rt_mq_t mq, const void *buffer, rt_size_t size);
rt_err_t rt_mq_recv(rt_mq_t mq,
void *buffer,