summaryrefslogtreecommitdiffstats
path: root/lib/libpthread
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2003-12-28 12:20:04 +0000
committerdavidxu <davidxu@FreeBSD.org>2003-12-28 12:20:04 +0000
commitd2abf7e6f99bb1b9f9b37ba101cb86763dd1dade (patch)
tree0563b43460e035242da414fc6479123c58ed9ef2 /lib/libpthread
parent7d9162647744b033ca2d175b0117a245d5092e2e (diff)
downloadFreeBSD-src-d2abf7e6f99bb1b9f9b37ba101cb86763dd1dade.zip
FreeBSD-src-d2abf7e6f99bb1b9f9b37ba101cb86763dd1dade.tar.gz
Correctly retrieve sigaction flags.
Diffstat (limited to 'lib/libpthread')
-rw-r--r--lib/libpthread/thread/thr_sig.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libpthread/thread/thr_sig.c b/lib/libpthread/thread/thr_sig.c
index 5459c61..8759f20 100644
--- a/lib/libpthread/thread/thr_sig.c
+++ b/lib/libpthread/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)))
OpenPOWER on IntegriCloud