diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2014-11-08 17:41:11 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2014-11-08 17:41:11 +0000 |
commit | 9f727e23941089b7b2667a6f7fb45ab76b0f4982 (patch) | |
tree | 191706a9600bd3a0cee61031d587747fde6fb421 /os/rt | |
parent | ac8c864dbeb7d1b1d565d3613e5fd845083284d1 (diff) | |
download | ChibiOS-9f727e23941089b7b2667a6f7fb45ab76b0f4982.tar.gz ChibiOS-9f727e23941089b7b2667a6f7fb45ab76b0f4982.tar.bz2 ChibiOS-9f727e23941089b7b2667a6f7fb45ab76b0f4982.zip |
Fixed bug bug #547.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7491 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/rt')
-rw-r--r-- | os/rt/src/chevents.c | 4 |
1 files changed, 2 insertions, 2 deletions
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();
|