From d2abf7e6f99bb1b9f9b37ba101cb86763dd1dade Mon Sep 17 00:00:00 2001 From: davidxu Date: Sun, 28 Dec 2003 12:20:04 +0000 Subject: Correctly retrieve sigaction flags. --- lib/libpthread/thread/thr_sig.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/libpthread') 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))) -- cgit v1.1