aboutsummaryrefslogtreecommitdiffstats
path: root/os/kernel/src/chsem.c
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-02-28 12:43:12 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-02-28 12:43:12 +0000
commit370bbe3477b7f156b5da5b60764e31a0d8c4b4e6 (patch)
tree8cd02c155b57a512455ea5274ab652bd0ab5a6cb /os/kernel/src/chsem.c
parent59a45f97cae33cf164171a3c9b460dba1f091e4f (diff)
downloadChibiOS-370bbe3477b7f156b5da5b60764e31a0d8c4b4e6.tar.gz
ChibiOS-370bbe3477b7f156b5da5b60764e31a0d8c4b4e6.tar.bz2
ChibiOS-370bbe3477b7f156b5da5b60764e31a0d8c4b4e6.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1688 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/kernel/src/chsem.c')
-rw-r--r--os/kernel/src/chsem.c7
1 files changed, 4 insertions, 3 deletions
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();