diff options
Diffstat (limited to 'libpthread/linuxthreads/pthread.c')
-rw-r--r-- | libpthread/linuxthreads/pthread.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libpthread/linuxthreads/pthread.c b/libpthread/linuxthreads/pthread.c index afc785d14..fed3d8c72 100644 --- a/libpthread/linuxthreads/pthread.c +++ b/libpthread/linuxthreads/pthread.c @@ -376,6 +376,7 @@ static void pthread_initialize(void) sa.sa_flags = 0; __libc_sigaction(__pthread_sig_restart, &sa, NULL); sa.sa_handler = pthread_handle_sigcancel; + sigaddset(&sa.sa_mask, __pthread_sig_restart); // sa.sa_flags = 0; __libc_sigaction(__pthread_sig_cancel, &sa, NULL); if (__pthread_sig_debug > 0) { @@ -512,7 +513,7 @@ int __pthread_initialize_manager(void) __pthread_wait_for_restart_signal(thread_self()); } /* Synchronize debugging of the thread manager */ -PDEBUG("send REQ_DEBUG to manager thread\n"); + PDEBUG("send REQ_DEBUG to manager thread\n"); request.req_kind = REQ_DEBUG; TEMP_FAILURE_RETRY(__libc_write(__pthread_manager_request, (char *) &request, sizeof(request))); @@ -539,9 +540,9 @@ int pthread_create(pthread_t *thread, const pthread_attr_t *attr, PDEBUG("write REQ_CREATE to manager thread\n"); TEMP_FAILURE_RETRY(__libc_write(__pthread_manager_request, (char *) &request, sizeof(request))); -PDEBUG("before suspend(self)\n"); + PDEBUG("before suspend(self)\n"); suspend(self); -PDEBUG("after suspend(self)\n"); + PDEBUG("after suspend(self)\n"); if (THREAD_GETMEM(self, p_retcode) == 0) *thread = (pthread_t) THREAD_GETMEM(self, p_retval); return THREAD_GETMEM(self, p_retcode); @@ -576,7 +577,7 @@ pthread_descr __pthread_find_self() #ifdef DEBUG_PT if (h->h_descr == NULL) { - printf("*** "__FUNCTION__" ERROR descriptor is NULL!!!!! ***\n\n"); + printf("*** %s ERROR descriptor is NULL!!!!! ***\n\n", __FUNCTION__); _exit(1); } #endif |