aboutsummaryrefslogtreecommitdiffstats
path: root/os/kernel/src
diff options
context:
space:
mode:
Diffstat (limited to 'os/kernel/src')
-rw-r--r--os/kernel/src/chevents.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/os/kernel/src/chevents.c b/os/kernel/src/chevents.c
index 3518b6975..bb948ab52 100644
--- a/os/kernel/src/chevents.c
+++ b/os/kernel/src/chevents.c
@@ -264,11 +264,13 @@ void chEvtBroadcastFlagsI(EventSource *esp, flagsmask_t flags) {
*
* @iclass
*/
-flagsmask_t chEvtGetAndClearFlagsI(EventListener *elp) {
+flagsmask_t chEvtGetAndClearFlags(EventListener *elp) {
flagsmask_t flags;
+ chSysLock();
flags = elp->el_flags;
elp->el_flags = 0;
+ chSysUnlock();
return flags;
}
@@ -284,13 +286,11 @@ flagsmask_t chEvtGetAndClearFlagsI(EventListener *elp) {
*
* @iclass
*/
-flagsmask_t chEvtGetAndClearFlags(EventListener *elp) {
+flagsmask_t chEvtGetAndClearFlagsI(EventListener *elp) {
flagsmask_t flags;
- chSysLock();
flags = elp->el_flags;
elp->el_flags = 0;
- chSysUnlock();
return flags;
}