summaryrefslogtreecommitdiff
path: root/lib/libthr/thread/thr_sig.c
diff options
context:
space:
mode:
authorMike Makonnen <mtm@FreeBSD.org>2003-05-12 10:40:53 +0000
committerMike Makonnen <mtm@FreeBSD.org>2003-05-12 10:40:53 +0000
commit479778b07f927a05d592d6114e018604d79a2f9c (patch)
treebe034a0aebe03655e1b3a5ffd432a7eeddef8c10 /lib/libthr/thread/thr_sig.c
parentc984b5a72a97d5e554e2a4eec7ecb39d59f28bd4 (diff)
Notes
Diffstat (limited to 'lib/libthr/thread/thr_sig.c')
-rw-r--r--lib/libthr/thread/thr_sig.c14
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);
}