diff options
author | davidxu <davidxu@FreeBSD.org> | 2003-12-28 12:20:04 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2003-12-28 12:20:04 +0000 |
commit | d2abf7e6f99bb1b9f9b37ba101cb86763dd1dade (patch) | |
tree | 0563b43460e035242da414fc6479123c58ed9ef2 /lib/libkse | |
parent | 7d9162647744b033ca2d175b0117a245d5092e2e (diff) | |
download | FreeBSD-src-d2abf7e6f99bb1b9f9b37ba101cb86763dd1dade.zip FreeBSD-src-d2abf7e6f99bb1b9f9b37ba101cb86763dd1dade.tar.gz |
Correctly retrieve sigaction flags.
Diffstat (limited to 'lib/libkse')
-rw-r--r-- | lib/libkse/thread/thr_sig.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libkse/thread/thr_sig.c b/lib/libkse/thread/thr_sig.c index 5459c61..8759f20 100644 --- a/lib/libkse/thread/thr_sig.c +++ b/lib/libkse/thread/thr_sig.c @@ -352,7 +352,7 @@ _thr_sig_handler(int sig, siginfo_t *info, ucontext_t *ucp) __sys_sigprocmask(SIG_BLOCK, NULL, &curthread->sigmask); KSE_LOCK_ACQUIRE(curkse, &_thread_signal_lock); sigfunc = _thread_sigact[sig - 1].sa_sigaction; - sa_flags = _thread_sigact[sig - 1].sa_flags & SA_SIGINFO; + sa_flags = _thread_sigact[sig - 1].sa_flags; if (sa_flags & SA_RESETHAND) { act.sa_handler = SIG_DFL; act.sa_flags = SA_RESTART; @@ -424,7 +424,7 @@ thr_sig_invoke_handler(struct pthread *curthread, int sig, siginfo_t *info, * the signal is not blocked: */ sigfunc = _thread_sigact[sig - 1].sa_sigaction; - sa_flags = _thread_sigact[sig - 1].sa_flags & SA_SIGINFO; + sa_flags = _thread_sigact[sig - 1].sa_flags; sigmask = curthread->sigmask; SIGSETOR(curthread->sigmask, _thread_sigact[sig - 1].sa_mask); if (!(sa_flags & (SA_NODEFER | SA_RESETHAND))) |