|
|
1.1 ! root 1: .\" Copyright (c) 1983 Regents of the University of California. ! 2: .\" All rights reserved. The Berkeley software License Agreement ! 3: .\" specifies the terms and conditions for redistribution. ! 4: .\" ! 5: .\" @(#)sigstack.2 6.2 (Berkeley) 6/30/85 ! 6: .\" ! 7: .TH SIGSTACK 2 "June 30, 1985" ! 8: .UC 5 ! 9: .SH NAME ! 10: sigstack \- set and/or get signal stack context ! 11: .SH SYNOPSIS ! 12: .nf ! 13: .B #include <signal.h> ! 14: .PP ! 15: .B struct sigstack { ! 16: .B caddr_t ss_sp; ! 17: .B int ss_onstack; ! 18: .B }; ! 19: .PP ! 20: .B sigstack(ss, oss); ! 21: .B struct sigstack *ss, *oss; ! 22: .SH DESCRIPTION ! 23: .I Sigstack ! 24: allows users to define an alternate stack on which signals ! 25: are to be processed. If ! 26: .I ss ! 27: is non-zero, ! 28: it specifies a ! 29: .I "signal stack" ! 30: on which to deliver signals ! 31: and tells the system if the process is currently executing ! 32: on that stack. When a signal's action indicates its handler ! 33: should execute on the signal stack (specified with a ! 34: .IR sigvec (2) ! 35: call), the system checks to see ! 36: if the process is currently executing on that stack. If the ! 37: process is not currently executing on the signal stack, ! 38: the system arranges a switch to the signal stack for the ! 39: duration of the signal handler's execution. ! 40: If ! 41: .I oss ! 42: is non-zero, the current signal stack state is returned. ! 43: .SH NOTES ! 44: Signal stacks are not ``grown'' automatically, as is ! 45: done for the normal stack. If the stack overflows ! 46: unpredictable results may occur. ! 47: .SH "RETURN VALUE ! 48: Upon successful completion, a value of 0 is returned. ! 49: Otherwise, a value of \-1 is returned and ! 50: .I errno ! 51: is set to indicate the error. ! 52: .SH ERRORS ! 53: .I Sigstack ! 54: will fail and the signal stack context will remain unchanged ! 55: if one of the following occurs. ! 56: .TP 15 ! 57: [EFAULT] ! 58: Either ! 59: .I ss ! 60: or ! 61: .I oss ! 62: points to memory that is not a valid part of the process ! 63: address space. ! 64: .SH "SEE ALSO" ! 65: sigvec(2), setjmp(3)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.