From 370bbe3477b7f156b5da5b60764e31a0d8c4b4e6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 28 Feb 2010 12:43:12 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1688 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/kernel/src/chsem.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'os/kernel/src/chsem.c') diff --git a/os/kernel/src/chsem.c b/os/kernel/src/chsem.c index 6327be451..b3f9936b2 100644 --- a/os/kernel/src/chsem.c +++ b/os/kernel/src/chsem.c @@ -233,10 +233,11 @@ msg_t chSemSignalWait(Semaphore *sps, Semaphore *spw) { if (sps->s_cnt++ < 0) chSchReadyI(fifo_remove(&sps->s_queue))->p_u.rdymsg = RDY_OK; if (--spw->s_cnt < 0) { - sem_insert(currp, &spw->s_queue); - currp->p_u.wtobjp = spw; + Thread *ctp = currp; + sem_insert(ctp, &spw->s_queue); + ctp->p_u.wtobjp = spw; chSchGoSleepS(THD_STATE_WTSEM); - msg = currp->p_u.rdymsg; + msg = ctp->p_u.rdymsg; } else { chSchRescheduleS(); -- cgit v1.2.3