summary refs log tree commit diff
path: root/linuxthreads/manager.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-01-07 11:53:05 +0000
committerUlrich Drepper <drepper@redhat.com>1999-01-07 11:53:05 +0000
commitb92ad8d61f18a3e9a61434e2e3252efd862bd7f4 (patch)
treea673f7750cb17ce2adaee14e9a8b4855447b6feb /linuxthreads/manager.c
parent34992338178abc47897f10ce4fb12d204e682b14 (diff)
downloadglibc-b92ad8d61f18a3e9a61434e2e3252efd862bd7f4.tar.gz
glibc-b92ad8d61f18a3e9a61434e2e3252efd862bd7f4.tar.xz
glibc-b92ad8d61f18a3e9a61434e2e3252efd862bd7f4.zip
1999-01-07 Xavier Leroy <Xavier.Leroy@inria.fr>
	* pthread.c: Use a third signal __pthread_sig_debug distinct
	from __pthread_sig_cancel to notify gdb when a thread is
	created
	* manager.c: Likewise.
	* internals.h: Likewise.
	* signals.c: The implementation of sigwait(s) assumed that
	all signals in s have signal handlers already attached.
	This is not required by the standard, so make it work
	also if some of the signals have no handlers.
Diffstat (limited to 'linuxthreads/manager.c')
-rw-r--r--linuxthreads/manager.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/linuxthreads/manager.c b/linuxthreads/manager.c
index 5a5420d9a9..cf9796ac2e 100644
--- a/linuxthreads/manager.c
+++ b/linuxthreads/manager.c
@@ -161,7 +161,8 @@ int __pthread_manager(void *arg)
         break;
       case REQ_DEBUG:
         /* Make gdb aware of new thread */
-	if (__pthread_threads_debug) raise(__pthread_sig_cancel);
+	if (__pthread_threads_debug && __pthread_sig_debug > 0)
+          raise(__pthread_sig_debug);
         restart(request.req_thread);
         break;
       }
@@ -554,7 +555,7 @@ static void pthread_handle_exit(pthread_descr issuing_thread, int exitcode)
   _exit(0);
 }
 
-/* Handler for __pthread_sig_restart in thread manager thread */
+/* Handler for __pthread_sig_cancel in thread manager thread */
 
 void __pthread_manager_sighandler(int sig)
 {