diff options
| author | Bernard Xiong <[email protected]> | 2019-09-20 06:26:27 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-09-20 06:26:27 +0800 |
| commit | 71346926c4ce8f4a4718b7ea4fed52e343de40ab (patch) | |
| tree | 0d8a0f40437111fa5bb0fc298a9819f94e6ad58b /include | |
| parent | 7f8642e75c68f84d2860c43c2b3571ee3e2288b2 (diff) | |
| parent | e4671d291689e71967afa5dec4ff25d310faa3fb (diff) | |
Merge pull request #3078 from enkiller/pr
[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, |
