summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2004-01-03 23:31:29 +0000
committerdavidxu <davidxu@FreeBSD.org>2004-01-03 23:31:29 +0000
commitd72ded3ec8fc51eb854beabed52ae30e359bed23 (patch)
treec2a196a32c6e24f25d4e1fb13cb47b5a9689ac27
parent81a11b21e84f4a4a24be8758b505dd97a874b173 (diff)
downloadFreeBSD-src-d72ded3ec8fc51eb854beabed52ae30e359bed23.zip
FreeBSD-src-d72ded3ec8fc51eb854beabed52ae30e359bed23.tar.gz
Make sigaltstack as per-threaded, because per-process sigaltstack state
is useless for threaded programs, multiple threads can not share same stack. The alternative signal stack is private for thread, no lock is needed, the orignal P_ALTSTACK is now moved into td_pflags and renamed to TDP_ALTSTACK. For single thread or Linux clone() based threaded program, there is no semantic changed, because those programs only have one kernel thread in every process.
-rw-r--r--sys/i386/linux/linux_sysvec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c
index 5321d21..3cc8f55 100644
--- a/sys/i386/linux/linux_sysvec.c
+++ b/sys/i386/linux/linux_sysvec.c
@@ -354,8 +354,8 @@ linux_rt_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
#ifdef DEBUG
if (ldebug(rt_sendsig))
printf(LMSG("rt_sendsig flags: 0x%x, sp: %p, ss: 0x%x, mask: 0x%x"),
- frame.sf_sc.uc_stack.ss_flags, p->p_sigstk.ss_sp,
- p->p_sigstk.ss_size, frame.sf_sc.uc_mcontext.sc_mask);
+ frame.sf_sc.uc_stack.ss_flags, td->td_sigstk.ss_sp,
+ td->td_sigstk.ss_size, frame.sf_sc.uc_mcontext.sc_mask);
#endif
if (copyout(&frame, fp, sizeof(frame)) != 0) {
OpenPOWER on IntegriCloud