about summary refs log tree commit diff
path: root/linuxthreads
diff options
context:
space:
mode:
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/signals.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index c55d28f7e2..69c0c63161 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+2004-04-08  Alexandre Oliva  <aoliva@redhat.com>
+
+	* signals.c (pthread_sigmask): Don't ever block or mask
+	__pthread_sig_debug.
+
 2004-03-11  Steven Munroe  <sjmunroe@us.ibm.com>
 
 	* sysdeps/powerpc/tls.h: Remove __powerpc64__ conditional.
diff --git a/linuxthreads/signals.c b/linuxthreads/signals.c
index 667754aa37..50f55995a3 100644
--- a/linuxthreads/signals.c
+++ b/linuxthreads/signals.c
@@ -34,9 +34,13 @@ int pthread_sigmask(int how, const sigset_t * newmask, sigset_t * oldmask)
     case SIG_SETMASK:
       sigaddset(&mask, __pthread_sig_restart);
       sigdelset(&mask, __pthread_sig_cancel);
+      if (__pthread_sig_debug > 0)
+	sigdelset(&mask, __pthread_sig_debug);
       break;
     case SIG_BLOCK:
       sigdelset(&mask, __pthread_sig_cancel);
+      if (__pthread_sig_debug > 0)
+	sigdelset(&mask, __pthread_sig_debug);
       break;
     case SIG_UNBLOCK:
       sigdelset(&mask, __pthread_sig_restart);