From 2d1d900b6d11a3f7ef5ff3e0f7f02faa40d8b25f Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 12 Apr 2009 08:38:51 +0000 Subject: Fixed bug 2755170. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@890 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- src/chsem.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/chsem.c') 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); -- cgit v1.2.3