diff options
author | mtm <mtm@FreeBSD.org> | 2004-02-19 13:47:12 +0000 |
---|---|---|
committer | mtm <mtm@FreeBSD.org> | 2004-02-19 13:47:12 +0000 |
commit | 88ba2a7fa4a4e9ece2211b64fa3b51b55672dc6d (patch) | |
tree | 04c73926ff2b4b82cfe3b609b1613a49b8294f74 /lib/libthr/thread/thr_sig.c | |
parent | b08e7f1f04b145d157795963ca8b960aab1e4a77 (diff) | |
download | FreeBSD-src-88ba2a7fa4a4e9ece2211b64fa3b51b55672dc6d.zip FreeBSD-src-88ba2a7fa4a4e9ece2211b64fa3b51b55672dc6d.tar.gz |
Don't wake up the thread after the signal handler
has been executed. On return from the signal handler
the call will either be restarted or EINTR will be returned,
but it will not go back to its previous state. So, it is
sufficient to simply change the state to 'running' without
actually trying to wake up the thread.
Diffstat (limited to 'lib/libthr/thread/thr_sig.c')
-rw-r--r-- | lib/libthr/thread/thr_sig.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libthr/thread/thr_sig.c b/lib/libthr/thread/thr_sig.c index 48b3388..0b8ba2b 100644 --- a/lib/libthr/thread/thr_sig.c +++ b/lib/libthr/thread/thr_sig.c @@ -177,6 +177,6 @@ _thread_sig_wrapper(int sig, siginfo_t *info, void *context) /* Restore the thread's flags, and make it runnable */ _thread_critical_enter(curthread); curthread->flags = psd.psd_flags; - PTHREAD_NEW_STATE(curthread, PS_RUNNING); + PTHREAD_SET_STATE(curthread, PS_RUNNING); _thread_critical_exit(curthread); } |