about summary refs log tree commit diff
path: root/linuxthreads/manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'linuxthreads/manager.c')
-rw-r--r--linuxthreads/manager.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/linuxthreads/manager.c b/linuxthreads/manager.c
index caa819002e..b244d87686 100644
--- a/linuxthreads/manager.c
+++ b/linuxthreads/manager.c
@@ -104,6 +104,8 @@ 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 */
@@ -162,7 +164,7 @@ int __pthread_manager(void *arg)
       case REQ_DEBUG:
         /* Make gdb aware of new thread */
 	if (__pthread_threads_debug && __pthread_sig_debug > 0)
-          raise(__pthread_sig_debug);
+	  raise(__pthread_sig_debug);
         restart(request.req_thread);
         break;
       }
@@ -375,9 +377,6 @@ static int pthread_handle_create(pthread_t *thread, const pthread_attr_t *attr,
   /* Do the cloning */
   pid = __clone(pthread_start_thread, (void **) new_thread,
                 CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND |
-#ifdef CLONE_PTRACE
-                CLONE_PTRACE |
-#endif
 		__pthread_sig_cancel, new_thread);
   /* Check if cloning succeeded */
   if (pid == -1) {