HP-UX Reference (11i v1 05/09) - 2 System Calls (vol 5)
s
sigstack(2) sigstack(2)
HP-UX EXTENSIONS - TO BE OBSOLETED
SYNOPSIS
int sigstack(
const struct sigstack *ss,
struct sigstack *oss
);
DESCRIPTION
The correct use of sigstack() is hardware dependent, and therefore is not portable between different
HP-UX implementations.
sigspace() is portable between different HP-UX implementations and should
be used when the application does not need to know where the signal stack is located (see sigspace(2)).
sigstack() is provided for compatibility with other systems that provide this functionality. Users
should note that there is no guarantee that functionality similar to this is even possible on some architec-
tures.
The value stored in the ss_onstack member tells whether the process is currently using a signal stack, and
if so, the value stored in the ss_sp member is the current stack pointer for the stack in use.
ERRORS
[EFAULT] Either of ss or oss is not a null pointer and points outside the allocated address
space of the process. The reliable detection of this error is implementation
dependent.
WARNINGS
Do not use
sigstack() in conjunction with sigspace() .
Methods for calculating the required stack size are not well developed.
Leaving the context of a service routine abnormally, such as by longjmp() (see setjmp(3C)), might
remove the guarantee that the ordinary execution of the program does not extend into the guaranteed
space. It might also cause the program to lose forever its ability to automatically increase the stack size,
causing the program to be limited to the guaranteed space.
Stack addresses grow from low addresses to high addresses; therefore the signal stack address provided to
sigstack(2) should point to the beginning of the space to be used for the signal stack. This address should
be aligned to an eight-byte boundary.
Obsolescent Interfaces
sigstack() is to be obsoleted at a future date.
AUTHOR
sigstack() was developed by HP and the University of California, Berkeley.
SEE ALSO
sigspace(2), setjmp(3C).
Section 2−−388 Hewlett-Packard Company − 1 − HP-UX 11i Version 1: September 2005