diff options
Diffstat (limited to 'linuxthreads/sighandler.c')
-rw-r--r-- | linuxthreads/sighandler.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/linuxthreads/sighandler.c b/linuxthreads/sighandler.c index ab8b38e539..9dd3e228f6 100644 --- a/linuxthreads/sighandler.c +++ b/linuxthreads/sighandler.c @@ -22,7 +22,8 @@ void __pthread_sighandler(int signo, SIGCONTEXT ctx) { pthread_descr self; char * in_sighandler; - self = thread_self(); + self = check_thread_self(); + /* If we're in a sigwait operation, just record the signal received and return without calling the user's handler */ if (THREAD_GETMEM(self, p_sigwaiting)) { @@ -46,7 +47,8 @@ void __pthread_sighandler_rt(int signo, struct siginfo *si, { pthread_descr self; char * in_sighandler; - self = thread_self(); + self = check_thread_self(); + /* If we're in a sigwait operation, just record the signal received and return without calling the user's handler */ if (THREAD_GETMEM(self, p_sigwaiting)) { |