summaryrefslogtreecommitdiff
path: root/lib/libpthread
diff options
context:
space:
mode:
authoruwe <uwe@NetBSD.org>2003-11-20 17:45:00 +0000
committeruwe <uwe@NetBSD.org>2003-11-20 17:45:00 +0000
commit4b13bb93a0a8bb2afd86e9fc06cb296e5d700a23 (patch)
tree5d8d8aa976def88ac1dac5f7ab81e07f6db28049 /lib/libpthread
parentb3c165e505b6a3c25b03509ce7d9a963fd757a07 (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.c8
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);