diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-02-03 09:31:42 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-02-03 09:31:42 +0000 |
commit | f549233427db72d1f3f51a1d4bca548361231b46 (patch) | |
tree | 99db58a1f30711a7133d110c6e36aebec8def264 /linuxthreads/manager.c | |
parent | e72ed84d09121b1529febfb8446e764cbc4749db (diff) | |
download | glibc-f549233427db72d1f3f51a1d4bca548361231b46.tar.gz glibc-f549233427db72d1f3f51a1d4bca548361231b46.tar.xz glibc-f549233427db72d1f3f51a1d4bca548361231b46.zip |
Update.
1999-02-03 Jakub Jelinek <jj@ultra.linux.cz> * sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S: Set branch prediction correctly. * sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h: Signal takes a pointer to __sigcontext_t. * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Do a nop after retl. * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove fork.S.
Diffstat (limited to 'linuxthreads/manager.c')
-rw-r--r-- | linuxthreads/manager.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/linuxthreads/manager.c b/linuxthreads/manager.c index 033e5adc5f..9657cc5731 100644 --- a/linuxthreads/manager.c +++ b/linuxthreads/manager.c @@ -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 */ @@ -162,10 +160,10 @@ int __pthread_manager(void *arg) sem_post(request.req_args.post); break; case REQ_DEBUG: - /* Make gdb aware of new thread */ + /* Make gdb aware of new thread and gdb will restart the + new thread when it is ready to handle the new thread. */ if (__pthread_threads_debug && __pthread_sig_debug > 0) raise(__pthread_sig_debug); - restart(request.req_thread); break; } } @@ -195,7 +193,7 @@ static int pthread_start_thread(void *arg) THREAD_GETMEM(self, p_start_args.schedpolicy), &self->p_start_args.schedparam); /* Make gdb aware of new thread */ - if (__pthread_threads_debug) { + if (__pthread_threads_debug && __pthread_sig_debug > 0) { request.req_thread = self; request.req_kind = REQ_DEBUG; __libc_write(__pthread_manager_request, |