From 1824750b9fcc929d4e0cc133f9e2b08ac541db53 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 16 Sep 2012 08:34:56 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4668 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/kernel/include/chevents.h | 6 ++++-- os/kernel/src/chevents.c | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/os/kernel/include/chevents.h b/os/kernel/include/chevents.h index 7550ca2b7..fd52b8de9 100644 --- a/os/kernel/include/chevents.h +++ b/os/kernel/include/chevents.h @@ -173,8 +173,10 @@ extern "C" { eventmask_t chEvtAddFlags(eventmask_t mask); void chEvtSignal(Thread *tp, eventmask_t mask); void chEvtSignalI(Thread *tp, eventmask_t mask); - void chEvtBroadcastFlags(EventSource *esp, eventmask_t mask); - void chEvtBroadcastFlagsI(EventSource *esp, eventmask_t mask); + void chEvtBroadcastFlags(EventSource *esp, flagsmask_t flags); + void chEvtBroadcastFlagsI(EventSource *esp, flagsmask_t flags); + flagsmask_t chEvtGetAndClearFlags(EventListener *elp); + flagsmask_t chEvtGetAndClearFlagsI(EventListener *elp); void chEvtDispatch(const evhandler_t *handlers, eventmask_t mask); #if CH_OPTIMIZE_SPEED || !CH_USE_EVENTS_TIMEOUT eventmask_t chEvtWaitOne(eventmask_t mask); 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; } -- cgit v1.2.3