diff options
| author | tangyuxin <[email protected]> | 2019-09-16 15:12:42 +0800 |
|---|---|---|
| committer | tangyuxin <[email protected]> | 2019-09-19 10:10:02 +0800 |
| commit | e4671d291689e71967afa5dec4ff25d310faa3fb (patch) | |
| tree | 71aa285a3fef62ec980eaac98fa779fd302a54b6 /include | |
| parent | ae7a33c27cf4356b4ba4936eafc8e6b9368d3e3e (diff) | |
[kernel][ipc] add send wait support for message queue
Diffstat (limited to 'include')
| -rw-r--r-- | include/rtdef.h | 2 | ||||
| -rw-r--r-- | include/rtthread.h | 4 |
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, |
