diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-01-31 09:50:45 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-01-31 09:50:45 +0100 |
commit | 1fd5083234c1657b9d7c22dcc2cd31255176c8e6 (patch) | |
tree | 98dd661e7a1a872f0606f3104deff21176e9a723 /freebsd/sys/kern/subr_sleepqueue.c | |
parent | rtems-bsd-mutex: Use thread queue name (diff) | |
download | rtems-libbsd-1fd5083234c1657b9d7c22dcc2cd31255176c8e6.tar.bz2 |
SLEEPQUEUE(9): Add wmesg to thread wait info
Diffstat (limited to 'freebsd/sys/kern/subr_sleepqueue.c')
-rw-r--r-- | freebsd/sys/kern/subr_sleepqueue.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/freebsd/sys/kern/subr_sleepqueue.c b/freebsd/sys/kern/subr_sleepqueue.c index d0288d67..971f92dd 100644 --- a/freebsd/sys/kern/subr_sleepqueue.c +++ b/freebsd/sys/kern/subr_sleepqueue.c @@ -399,12 +399,13 @@ sleepq_add(void *wchan, struct lock_object *lock, const char *wmesg, int flags, executing = td->td_thread; _Thread_Wait_acquire_default(executing, &lock_context); td->td_sq_state = TD_SQ_TIRED; + executing->Wait.return_argument_second.immutable_object = wmesg; #endif /* __rtems__ */ td->td_sleepqueue = NULL; td->td_sqqueue = queue; td->td_wchan = wchan; - td->td_wmesg = wmesg; #ifndef __rtems__ + td->td_wmesg = wmesg; if (flags & SLEEPQ_INTERRUPTIBLE) { td->td_flags |= TDF_SINTR; td->td_flags &= ~TDF_SLEEPABORT; @@ -968,7 +969,9 @@ sleepq_resume_thread(struct sleepqueue *sq, struct thread *td, int pri) _Thread_Wait_acquire_default_critical(thread, &lock_context); #endif /* __rtems__ */ +#ifndef __rtems__ td->td_wmesg = NULL; +#endif /* __rtems__ */ td->td_wchan = NULL; #ifndef __rtems__ td->td_flags &= ~TDF_SINTR; |