diff options
Diffstat (limited to 'libpthread/linuxthreads.old')
-rw-r--r-- | libpthread/linuxthreads.old/manager.c | 2 | ||||
-rw-r--r-- | libpthread/linuxthreads.old/pthread.c | 15 | ||||
-rw-r--r-- | libpthread/linuxthreads.old/signals.c | 7 |
3 files changed, 13 insertions, 11 deletions
diff --git a/libpthread/linuxthreads.old/manager.c b/libpthread/linuxthreads.old/manager.c index ef9046de1..2be474c53 100644 --- a/libpthread/linuxthreads.old/manager.c +++ b/libpthread/linuxthreads.old/manager.c @@ -137,7 +137,7 @@ int attribute_noreturn __pthread_manager(void *arg) #endif /* __UCLIBC_HAS_XLOCALE__ */ /* Block all signals except __pthread_sig_cancel and SIGTRAP */ - sigfillset(&manager_mask); + __sigfillset(&manager_mask); sigdelset(&manager_mask, __pthread_sig_cancel); /* for thread termination */ sigdelset(&manager_mask, SIGTRAP); /* for debugging purposes */ if (__pthread_threads_debug && __pthread_sig_debug > 0) diff --git a/libpthread/linuxthreads.old/pthread.c b/libpthread/linuxthreads.old/pthread.c index 71326a097..c13c63208 100644 --- a/libpthread/linuxthreads.old/pthread.c +++ b/libpthread/linuxthreads.old/pthread.c @@ -471,9 +471,10 @@ static void pthread_initialize(void) /* Setup signal handlers for the initial thread. Since signal handlers are shared between threads, these settings will be inherited by all other threads. */ + memset(&sa, 0, sizeof(sa)); sa.sa_handler = pthread_handle_sigrestart; - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; + /* __sigemptyset(&sa.sa_mask); */ + /* sa.sa_flags = 0; */ __libc_sigaction(__pthread_sig_restart, &sa, NULL); sa.sa_handler = pthread_handle_sigcancel; sigaddset(&sa.sa_mask, __pthread_sig_restart); @@ -481,12 +482,12 @@ static void pthread_initialize(void) __libc_sigaction(__pthread_sig_cancel, &sa, NULL); if (__pthread_sig_debug > 0) { sa.sa_handler = pthread_handle_sigdebug; - sigemptyset(&sa.sa_mask); + __sigemptyset(&sa.sa_mask); /* sa.sa_flags = 0; */ __libc_sigaction(__pthread_sig_debug, &sa, NULL); } /* Initially, block __pthread_sig_restart. Will be unblocked on demand. */ - sigemptyset(&mask); + __sigemptyset(&mask); sigaddset(&mask, __pthread_sig_restart); sigprocmask(SIG_BLOCK, &mask, NULL); /* And unblock __pthread_sig_cancel if it has been blocked. */ @@ -929,7 +930,7 @@ void __pthread_kill_other_threads_np(void) implementation uses since this would be passed to the new process. */ memset(&sa, 0, sizeof(sa)); - /*sigemptyset(&sa.sa_mask);*/ + /*__sigemptyset(&sa.sa_mask);*/ /*sa.sa_flags = 0;*/ if (SIG_DFL) /* if it's constant zero, it's already done */ sa.sa_handler = SIG_DFL; @@ -1009,7 +1010,7 @@ __pthread_timedsuspend_old(pthread_descr self, const struct timespec *abstime) THREAD_SETMEM(self, p_signal_jmp, &jmpbuf); THREAD_SETMEM(self, p_signal, 0); /* Unblock the restart signal */ - sigemptyset(&unblock); + __sigemptyset(&unblock); sigaddset(&unblock, __pthread_sig_restart); sigprocmask(SIG_UNBLOCK, &unblock, &initial_mask); @@ -1094,7 +1095,7 @@ int __pthread_timedsuspend_new(pthread_descr self, const struct timespec *abstim THREAD_SETMEM(self, p_signal_jmp, &jmpbuf); THREAD_SETMEM(self, p_signal, 0); /* Unblock the restart signal */ - sigemptyset(&unblock); + __sigemptyset(&unblock); sigaddset(&unblock, __pthread_sig_restart); sigprocmask(SIG_UNBLOCK, &unblock, &initial_mask); diff --git a/libpthread/linuxthreads.old/signals.c b/libpthread/linuxthreads.old/signals.c index 23ba9778f..90655f8c1 100644 --- a/libpthread/linuxthreads.old/signals.c +++ b/libpthread/linuxthreads.old/signals.c @@ -196,7 +196,7 @@ int sigwait(const sigset_t * set, int * sig) and if not, install our dummy handler. This is conformant to POSIX: "The effect of sigwait() on the signal actions for the signals in set is unspecified." */ - sigfillset(&mask); + __sigfillset(&mask); sigdelset(&mask, __pthread_sig_cancel); for (s = 1; s <= NSIG; s++) { if (sigismember(set, s) && @@ -207,9 +207,10 @@ int sigwait(const sigset_t * set, int * sig) if (sighandler[s].old == NULL || sighandler[s].old == (arch_sighandler_t) SIG_DFL || sighandler[s].old == (arch_sighandler_t) SIG_IGN) { + memset(&sa, 0, sizeof(sa)); sa.sa_handler = pthread_null_sighandler; - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; + /* __sigemptyset(&sa.sa_mask); */ + /* sa.sa_flags = 0; */ sigaction(s, &sa, NULL); } } |