From d034d459daf039d21ff432e30dfb48c27ac4d09d Mon Sep 17 00:00:00 2001 From: Marcel Moolenaar Date: Thu, 30 Nov 2000 05:23:49 +0000 Subject: Don't use p->p_sigstk.ss_flags to keep state of whether the process is on the alternate stack or not. For compatibility with sigstack(2) state is being updated if such is needed. We now determine whether the process is on the alternate stack by looking at its stack pointer. This allows a process to siglongjmp from a signal handler on the alternate stack to the place of the sigsetjmp on the normal stack. When maintaining state, this would have invalidated the state information and causing a subsequent signal to be delivered on the normal stack instead of the alternate stack. PR: 22286 --- sys/alpha/include/cpu.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sys/alpha/include') diff --git a/sys/alpha/include/cpu.h b/sys/alpha/include/cpu.h index a0be38fe0f51..3da213f66d1c 100644 --- a/sys/alpha/include/cpu.h +++ b/sys/alpha/include/cpu.h @@ -52,6 +52,8 @@ #include +#define cpu_getstack(p) (alpha_pal_rdusp()) + /* * Arguments to hardclock and gatherstats encapsulate the previous * machine state in an opaque clockframe. One the Alpha, we use -- cgit v1.3