diff options
| author | uwe <uwe@NetBSD.org> | 2003-11-20 17:45:00 +0000 |
|---|---|---|
| committer | uwe <uwe@NetBSD.org> | 2003-11-20 17:45:00 +0000 |
| commit | 4b13bb93a0a8bb2afd86e9fc06cb296e5d700a23 (patch) | |
| tree | 5d8d8aa976def88ac1dac5f7ab81e07f6db28049 /lib/libpthread | |
| parent | b3c165e505b6a3c25b03509ce7d9a963fd757a07 (diff) | |
Follow-up to previous. In pthread__signal_tramp() maskp is below
siginfo on the stack, so get it from there. ss_sp no longer points to
the the mask. Pointed out by cl@.
Diffstat (limited to 'lib/libpthread')
| -rw-r--r-- | lib/libpthread/pthread_sig.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/libpthread/pthread_sig.c b/lib/libpthread/pthread_sig.c index 3cc83fee746..ae97c32833d 100644 --- a/lib/libpthread/pthread_sig.c +++ b/lib/libpthread/pthread_sig.c @@ -1,4 +1,4 @@ -/* $NetBSD: pthread_sig.c,v 1.26 2003/11/20 17:16:41 uwe Exp $ */ +/* $NetBSD: pthread_sig.c,v 1.27 2003/11/20 17:45:00 uwe Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: pthread_sig.c,v 1.26 2003/11/20 17:16:41 uwe Exp $"); +__RCSID("$NetBSD: pthread_sig.c,v 1.27 2003/11/20 17:45:00 uwe Exp $"); /* We're interposing a specific version of the signal interface. */ #define __LIBC12_SOURCE__ @@ -929,9 +929,9 @@ pthread__signal_tramp(void (*handler)(int, siginfo_t *, void *), struct pthread__sigcontext psc; /* * XXX we don't support siginfo here yet. - * Note that uc_stack.ss_sp holds the old sigmask + * Note that the old sigmask is below info in the stack. */ - sigset_t *maskp = uc->uc_stack.ss_sp; + sigset_t *maskp = (sigset_t *)(void *)&info[1]; PTHREAD_UCONTEXT_TO_SIGCONTEXT(maskp, uc, &psc); ((void *(*)(int, int, struct sigcontext *))handler) (info->si_signo, info->si_trap, &psc.psc_context); |
