sigaltstack - get or set alternate signal stack content
SYNOPSIS
#include <signal.h>
int sigaltstack(const stack_t *ss, stack_t *oss);
where:
ss points to a signalstack structure defined in <sig
nal.h> containing stack content after the call.
oss if not NULL, points to a signalstack structure con
taining stack content before the call.
DESCRIPTION
sigaction(2) may indicate that a signal should execute on
an alternate stack. Where this is the case, sigaltstack(2)
stores the signal in an alternate stack structure ss where
its execution status may be examined prior to processing.
The sigaltstack struct is defined in <signal.h> as fol
lows:
void *ss_sp /* SVID3 uses caddr_t ss_sp
int ss_flags
size_t ss_size
where:
ss_sp points to the stack structure.
ss_flags
specifies the stack state to SS_DISABLE or
SS_ONSTACK as follows:
If ss is not NULL,the new state may be set to
SS_DISABLE, which specifies that the stack is to be
disabled and ss_sp and ss_size are ignored. If
SS_DISABLE is not set, the stack will be enabled.
If oss is not NULL, the stack state may be either
SS_ONSTACK or SS_DISABLE. The value SS_ONSTACK
indicates that the process is currently executing
on the alternate stack and that any attempt to mod
ify it during execution will fail. The value
SS_DISABLE indicates that the current signal stack
is disabled.
ss_size
specifies the size of the stack.
used when allocating an alternate stack area. The value
MINSIGSTKSZ defines the minimum stack size for a signal
handler. When processing an alternate stack size, your
program should include these values in the stack require
ment to plan for the overhead of the operating system.
RETURN VALUES
sigaltstack(2) returns 0 on success and -1 on failure.
ERRORS
sigaltstack(2) sets errno for the following conditions:
EINVAL ss is not a null pointer the ss_flags member
pointed to by ss contains flags other than SS_DIS
ABLE.
ENOMEM The size of the alternate stack area is less than
MINSIGSTKSZ.
EPERM An attempt was made to modify an active stack.
STANDARDS
This function comforms to: XPG4-UNIX.
SEE ALSO
getcontext(2), sigaction(2), sigsetjmp(3).
Man(1) output converted with
man2html