aboutsummaryrefslogtreecommitdiffstats
path: root/os/kernel/src/chmsg.c
diff options
context:
space:
mode:
Diffstat (limited to 'os/kernel/src/chmsg.c')
-rw-r--r--os/kernel/src/chmsg.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/os/kernel/src/chmsg.c b/os/kernel/src/chmsg.c
index 577e82693..2f5a7a127 100644
--- a/os/kernel/src/chmsg.c
+++ b/os/kernel/src/chmsg.c
@@ -48,9 +48,9 @@ msg_t chMsgSend(Thread *tp, msg_t msg) {
chDbgCheck(tp != NULL, "chMsgSend");
chSysLock();
- msg_insert(currp, &tp->p_msgqueue);
currp->p_msg = msg;
- currp->p_u.wtobjp = tp;
+ currp->p_u.wtobjp = &tp->p_msgqueue;
+ msg_insert(currp, &tp->p_msgqueue);
if (tp->p_state == THD_STATE_WTMSG)
chSchReadyI(tp);
chSchGoSleepS(THD_STATE_SNDMSG);