summaryrefslogtreecommitdiff
path: root/src/ipc.c
diff options
context:
space:
mode:
authorMeco <[email protected]>2020-07-29 09:57:32 +0800
committerMeco <[email protected]>2020-07-29 09:57:32 +0800
commit1fe077a0be8636a3aeb39b897373f493da06f9c6 (patch)
tree9d9c4b0832be9822adf9625829c583c647ab3c6b /src/ipc.c
parent40b69ae2733fbacd324341c8a2746d697f2520a4 (diff)
fix在rt_event_recv函数中,如果事件已经满足无需阻塞的情况下,没有给thread->event_set/event_info赋值的问题
Diffstat (limited to 'src/ipc.c')
-rw-r--r--src/ipc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/ipc.c b/src/ipc.c
index 8e8c4db842..c67909cfe0 100644
--- a/src/ipc.c
+++ b/src/ipc.c
@@ -34,6 +34,8 @@
* 2013-09-14 Grissiom add an option check in rt_event_recv
* 2018-10-02 Bernard add 64bit support for mailbox
* 2019-09-16 tyx add send wait support for message queue
+ * 2020-07-29 Meco Man fix thread->event_set/event_info when received an
+ event without pending
*/
#include <rtthread.h>
@@ -1177,7 +1179,11 @@ rt_err_t rt_event_recv(rt_event_t event,
/* set received event */
if (recved)
*recved = (event->set & set);
-
+
+ /* fill thread event info */
+ thread->event_set = (event->set & set);
+ thread->event_info = option;
+
/* received event */
if (option & RT_EVENT_FLAG_CLEAR)
event->set &= ~set;