aboutsummaryrefslogtreecommitdiffstats
path: root/os/kernel/src
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-03-18 21:41:33 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-03-18 21:41:33 +0000
commit55e8eabccb4f0c5fe448055a16b4dfa916977477 (patch)
treed8a95654b0ca1882dc1868674b29a1cb8a3a6385 /os/kernel/src
parent0ebd06ee970fc9e0fa01cf5b1df87d313c3df04d (diff)
downloadChibiOS-55e8eabccb4f0c5fe448055a16b4dfa916977477.tar.gz
ChibiOS-55e8eabccb4f0c5fe448055a16b4dfa916977477.tar.bz2
ChibiOS-55e8eabccb4f0c5fe448055a16b4dfa916977477.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1753 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/kernel/src')
-rw-r--r--os/kernel/src/chschd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/os/kernel/src/chschd.c b/os/kernel/src/chschd.c
index c561cbd41..d5c8a0a5a 100644
--- a/os/kernel/src/chschd.c
+++ b/os/kernel/src/chschd.c
@@ -112,7 +112,6 @@ void chSchGoSleepS(tstate_t newstate) {
static void wakeup(void *p) {
Thread *tp = (Thread *)p;
- tp->p_u.rdymsg = RDY_TIMEOUT;
#if CH_USE_SEMAPHORES || (CH_USE_CONDVARS && CH_USE_CONDVARS_TIMEOUT)
switch (tp->p_state) {
#if CH_USE_SEMAPHORES
@@ -127,6 +126,8 @@ static void wakeup(void *p) {
dequeue(tp);
}
#endif
+ /* Done this way in order to allow a tail call.*/
+ tp->p_u.rdymsg = RDY_TIMEOUT;
chSchReadyI(tp);
}