This is the mail archive of the
libc-hacker@cygnus.com
mailing list for the glibc project.
Another patch for linuxthreads
- To: libc-hacker@cygnus.com (GNU C Library)
- Subject: Another patch for linuxthreads
- From: hjl@varesearch.com (H.J. Lu)
- Date: Mon, 1 Feb 1999 18:10:32 -0800 (PST)
- Cc: drepper@cygnus.com (Ulrich Drepper)
Hi,
__pthread_sig_debug is for gdb only. We should block it. Also a typo
is fixed.
Thanks.
--
H.J. Lu (hjl@gnu.org)
--
Mon Feb 1 18:07:55 1999 H.J. Lu <hjl@gnu.org>
* manager.c (__pthread_manager): Do block __pthread_sig_debug.
* pthread.c (__pthread_initialize_manager): Send
__pthread_sig_debug to gdb instead of __pthread_sig_cancel.
Index: manager.c
===================================================================
RCS file: /local/work/cvs/gnu/glibc/linuxthreads/manager.c,v
retrieving revision 1.1.1.15
diff -u -p -r1.1.1.15 manager.c
--- manager.c 1999/01/30 18:33:58 1.1.1.15
+++ manager.c 1999/02/02 02:05:10
@@ -104,8 +104,6 @@ int __pthread_manager(void *arg)
/* Block all signals except __pthread_sig_cancel and SIGTRAP */
sigfillset(&mask);
sigdelset(&mask, __pthread_sig_cancel); /* for thread termination */
- if (__pthread_sig_debug > 0)
- sigdelset(&mask, __pthread_sig_debug); /* for debugging purposes */
sigdelset(&mask, SIGTRAP); /* for debugging purposes */
sigprocmask(SIG_SETMASK, &mask, NULL);
/* Raise our priority to match that of main thread */
Index: pthread.c
===================================================================
RCS file: /local/work/cvs/gnu/glibc/linuxthreads/pthread.c,v
retrieving revision 1.1.1.11
diff -u -p -r1.1.1.11 pthread.c
--- pthread.c 1999/01/30 00:03:36 1.1.1.11
+++ pthread.c 1999/02/02 01:41:59
@@ -309,7 +309,7 @@ int __pthread_initialize_manager(void)
__pthread_manager_thread.p_pid = pid;
/* Make gdb aware of new thread manager */
if (__pthread_threads_debug && __pthread_sig_debug > 0)
- raise(__pthread_sig_cancel);
+ raise(__pthread_sig_debug);
/* Synchronize debugging of the thread manager */
request.req_kind = REQ_DEBUG;
__libc_write(__pthread_manager_request, (char *) &request, sizeof(request));