[uClibc-cvs] uClibc/libpthread/linuxthreads signals.c,1.4,1.5

Erik Andersen andersen at uclibc.org
Fri May 14 10:22:13 UTC 2004


Update of /var/cvs/uClibc/libpthread/linuxthreads
In directory nail:/tmp/cvs-serv21436/libpthread/linuxthreads

Modified Files:
	signals.c 
Log Message:
Alexandre Oliva writes:

A program that requests __pthread_sig_debug to be blocked will
self-deadlock when it requests a thread to be created, because the
debugger (rda or gdb) will never get the signal, so it won't wake up
the pthread manager as expected.

This patch fixes it.



Index: signals.c
===================================================================
RCS file: /var/cvs/uClibc/libpthread/linuxthreads/signals.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- a/signals.c	3 Mar 2003 20:57:18 -0000	1.4
+++ b/signals.c	14 May 2004 10:22:10 -0000	1.5
@@ -38,9 +38,13 @@
     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);




More information about the uClibc-cvs mailing list