about summary refs log tree commit diff
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;
     }