diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2009-04-12 08:38:51 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2009-04-12 08:38:51 +0000 |
commit | 2d1d900b6d11a3f7ef5ff3e0f7f02faa40d8b25f (patch) | |
tree | 66d1012f259cee25974f2f72b9851c3ed6b305a8 /src/chsem.c | |
parent | 0e27db08794a9ce9205cf45f1b4189d89616ef05 (diff) | |
download | ChibiOS-2d1d900b6d11a3f7ef5ff3e0f7f02faa40d8b25f.tar.gz ChibiOS-2d1d900b6d11a3f7ef5ff3e0f7f02faa40d8b25f.tar.bz2 ChibiOS-2d1d900b6d11a3f7ef5ff3e0f7f02faa40d8b25f.zip |
Fixed bug 2755170.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@890 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'src/chsem.c')
-rw-r--r-- | src/chsem.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/chsem.c b/src/chsem.c index 21f80c284..085f4014b 100644 --- a/src/chsem.c +++ b/src/chsem.c @@ -174,8 +174,10 @@ msg_t chSemWaitTimeoutS(Semaphore *sp, systime_t time) { chDbgCheck(sp != NULL, "chSemWaitTimeoutS");
if (--sp->s_cnt < 0) {
- if (TIME_IMMEDIATE == time)
+ if (TIME_IMMEDIATE == time) {
+ sp->s_cnt++;
return RDY_TIMEOUT;
+ }
sem_insert(currp, &sp->s_queue);
currp->p_wtsemp = sp;
return chSchGoSleepTimeoutS(PRWTSEM, time);
|