diff options
Diffstat (limited to 'os/kernel/src')
-rw-r--r-- | os/kernel/src/chevents.c | 8 |
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;
}
|