Changeset View
Changeset View
Standalone View
Standalone View
head/sys/kern/kern_sig.c
Show First 20 Lines • Show All 624 Lines • ▼ Show 20 Lines | |||||
sigonstack(size_t sp) | sigonstack(size_t sp) | ||||
{ | { | ||||
struct thread *td; | struct thread *td; | ||||
td = curthread; | td = curthread; | ||||
if ((td->td_pflags & TDP_ALTSTACK) == 0) | if ((td->td_pflags & TDP_ALTSTACK) == 0) | ||||
return (0); | return (0); | ||||
#if defined(COMPAT_43) | #if defined(COMPAT_43) | ||||
if (td->td_sigstk.ss_size == 0) | if (SV_PROC_FLAG(td->td_proc, SV_AOUT) && td->td_sigstk.ss_size == 0) | ||||
return ((td->td_sigstk.ss_flags & SS_ONSTACK) != 0); | return ((td->td_sigstk.ss_flags & SS_ONSTACK) != 0); | ||||
#endif | #endif | ||||
return (sp >= (size_t)td->td_sigstk.ss_sp && | return (sp >= (size_t)td->td_sigstk.ss_sp && | ||||
sp < td->td_sigstk.ss_size + (size_t)td->td_sigstk.ss_sp); | sp < td->td_sigstk.ss_size + (size_t)td->td_sigstk.ss_sp); | ||||
} | } | ||||
static __inline int | static __inline int | ||||
sigprop(int sig) | sigprop(int sig) | ||||
▲ Show 20 Lines • Show All 3,218 Lines • Show Last 20 Lines |