Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sigstack(2) — 386BSD 1.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sigvec(2)

setjmp(3)

SIGSTACK(2)               386BSD Programmer's Manual               SIGSTACK(2)

NAME
     sigstack - set and/or get signal stack context

SYNOPSIS
     #include <sys/signal.h>
     struct sigstack {
             caddr_t ss_sp;
             int     ss_onstack;
     };

     int
     sigstack(const struct sigstack *ss, struct sigstack *oss)

DESCRIPTION
     Sigstack() allows users to define an alternate stack on which signals are
     to be processed.  If ss is non-zero, it specifies a signal stack on which
     to deliver signals and tells the system if the process is currently
     executing on that stack.  When a signal's action indicates its handler
     should execute on the signal stack (specified with a sigvec(2) call), the
     system checks to see if the process is currently executing on that stack.
     If the process is not currently executing on the signal stack, the system
     arranges a switch to the signal stack for the duration of the signal
     handler's execution.  If oss is non-zero, the current signal stack state
     is returned.

NOTES
     Signal stacks are not ``grown'' automatically, as is done for the normal
     stack.  If the stack overflows unpredictable results may occur.

RETURN VALUES
     Upon successful completion, a value of 0 is returned.  Otherwise, a value
     of -1 is returned and errno is set to indicate the error.

ERRORS
     Sigstack() will fail and the signal stack context will remain unchanged
     if one of the following occurs.

     [EFAULT]  Either ss or oss points to memory that is not a valid part of
               the process address space.

SEE ALSO
     sigvec(2),  setjmp(3)

HISTORY
     The sigstack function call appeared in 4.2BSD.

4.2 Berkeley Distribution       March 10, 1991                               1

















Typewritten Software • bear@typewritten.org • Edmonds, WA 98026