Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sigstack(3) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sigvec(3)

signal(3)

sigaltstack(2)



sigstack(3)        UNIX System V(BSD Compatibility Package)         sigstack(3)


NAME
      sigstack - set and/or get signal stack context

SYNOPSIS
      cc [ flag. . . ] file . . . -lucb

      #include <signal.h>

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

DESCRIPTION
      sigstack allows users to define an alternate stack, called the ``signal
      stack,'' on which signals are to be processed.  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.

      A signal stack is specified by a sigstack structure, which includes the
      following members:

            char      *sssp;        /* signal stack pointer */
            int       ssonstack;    /* current status */

      sssp is the initial value to be assigned to the stack pointer when the
      system switches the process to the signal stack.  Note that, on machines
      where the stack grows downwards in memory, this is not the address of the
      beginning of the signal stack area.  ssonstack field is zero or non-zero
      depending on whether the process is currently executing on the signal
      stack or not.

      If ss is not a NULL pointer, sigstack sets the signal stack state to the
      value in the sigstack structure pointed to by ss.  Note: if ssonstack is
      non-zero, the system will think that the process is executing on the
      signal stack.  If ss is a NULL pointer, the signal stack state will be
      unchanged.  If oss is not a NULL pointer, the current signal stack state
      is stored in the sigstack structure pointed to by oss.

RETURN VALUE
      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.




10/89                                                                    Page 1







sigstack(3)        UNIX System V(BSD Compatibility Package)         sigstack(3)


SEE ALSO
      sigvec(3), signal(3)

      sigaltstack(2), in the Programmer's Reference Manual

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














































Page 2                                                                    10/89





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