From 9f727e23941089b7b2667a6f7fb45ab76b0f4982 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 8 Nov 2014 17:41:11 +0000 Subject: Fixed bug bug #547. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7491 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/rt/src/chevents.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'os/rt/src/chevents.c') diff --git a/os/rt/src/chevents.c b/os/rt/src/chevents.c index 4385257b3..2db6fdd9b 100644 --- a/os/rt/src/chevents.c +++ b/os/rt/src/chevents.c @@ -384,7 +384,7 @@ eventmask_t chEvtWaitOne(eventmask_t events) { chSchGoSleepS(CH_STATE_WTOREVT); m = ctp->p_epending & events; } - m &= -m; + m ^= m & (m - 1); ctp->p_epending &= ~m; chSysUnlock(); @@ -488,7 +488,7 @@ eventmask_t chEvtWaitOneTimeout(eventmask_t events, systime_t time) { } m = ctp->p_epending & events; } - m &= -m; + m ^= m & (m - 1); ctp->p_epending &= ~m; chSysUnlock(); -- cgit v1.2.3