diff options
| author | Mike Makonnen <mtm@FreeBSD.org> | 2003-05-12 10:40:53 +0000 |
|---|---|---|
| committer | Mike Makonnen <mtm@FreeBSD.org> | 2003-05-12 10:40:53 +0000 |
| commit | 479778b07f927a05d592d6114e018604d79a2f9c (patch) | |
| tree | be034a0aebe03655e1b3a5ffd432a7eeddef8c10 /lib/libthr/thread/thr_sig.c | |
| parent | c984b5a72a97d5e554e2a4eec7ecb39d59f28bd4 (diff) | |
Notes
Diffstat (limited to 'lib/libthr/thread/thr_sig.c')
| -rw-r--r-- | lib/libthr/thread/thr_sig.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/libthr/thread/thr_sig.c b/lib/libthr/thread/thr_sig.c index d21886ef4556..51479af3efcb 100644 --- a/lib/libthr/thread/thr_sig.c +++ b/lib/libthr/thread/thr_sig.c @@ -120,9 +120,9 @@ _thread_sig_wrapper(int sig, siginfo_t *info, ucontext_t *context) GIANT_LOCK(curthread); /* Save the thread's previous state. */ - curthread->data = psd.psd_wait_data; - curthread->state = psd.psd_state; - curthread->flags = psd.psd_flags; + psd.psd_wait_data = curthread->data; + psd.psd_state = curthread->state; + psd.psd_flags = curthread->flags; /* * Do a little cleanup handling for those threads in @@ -137,7 +137,7 @@ _thread_sig_wrapper(int sig, siginfo_t *info, ucontext_t *context) break; case PS_MUTEX_WAIT: - /* _mutex_lock_backout(curthread); XXXTHR */ + _mutex_lock_backout(curthread); psd.psd_state = PS_RUNNING; break; @@ -154,9 +154,9 @@ _thread_sig_wrapper(int sig, siginfo_t *info, ucontext_t *context) } /* Restore the signal frame. */ - psd.psd_wait_data = curthread->data; - psd.psd_state = curthread->state; - psd.psd_flags = curthread->flags & + curthread->data = psd.psd_wait_data; + curthread->state = psd.psd_state; + curthread->flags = psd.psd_flags & (PTHREAD_FLAGS_PRIVATE | PTHREAD_FLAGS_TRACE); GIANT_UNLOCK(curthread); } |
