summaryrefslogtreecommitdiff
path: root/linuxthreads
diff options
context:
space:
mode:
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog6
-rw-r--r--linuxthreads/signals.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index a67824127e..1551059a4a 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,9 @@
+1999-09-19 Ulrich Drepper <drepper@cygnus.com>
+
+ * signals.c (sigaction): Correct last patch. Don't select
+ pthread_sighandler_rt based on the signal number but instead of
+ the SA_SIGINFO flag.
+
1999-09-18 Ulrich Drepper <drepper@cygnus.com>
* pthread.c (pthread_handle_sigrestart_rt): New function. Use
diff --git a/linuxthreads/signals.c b/linuxthreads/signals.c
index df375e8e46..0c9bffd00b 100644
--- a/linuxthreads/signals.c
+++ b/linuxthreads/signals.c
@@ -139,10 +139,10 @@ int sigaction(int sig, const struct sigaction * act,
if (act->sa_handler != SIG_IGN && act->sa_handler != SIG_DFL
&& sig > 0 && sig < NSIG)
{
- if (sig >= SIGRTMIN)
- newact.sa_handler = (__sighandler_t) pthread_sighandler_rt;
+ if (act->sa_flags & SA_SIGINFO)
+ newact.sa_handler = (__sighandler_t) pthread_sighandler_rt;
else
- newact.sa_handler = (__sighandler_t) pthread_sighandler;
+ newact.sa_handler = (__sighandler_t) pthread_sighandler;
}
newactp = &newact;
}