summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2020-07-30 14:10:04 +0800
committerGitHub <[email protected]>2020-07-30 14:10:04 +0800
commitbb84e235afb1abc93e2583aa72d025f8fbe43498 (patch)
treed8f93fa10ad9793020a85f01b6fd0706c9dda63d
parent4f674ef1499139acb06db82d36817d64d92653cb (diff)
parent1fe077a0be8636a3aeb39b897373f493da06f9c6 (diff)
Merge pull request #3787 from mysterywolf/master
fix在rt_event_recv函数中,如果事件已经满足无需阻塞的情况下,没有给thread->event_set/event_info…
-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;