Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sigstack(2) — DG/UX 4.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought



                                                              sigstack(2)



        _________________________________________________________________
        sigstack                                              System Call
        Set and/or get signal stack context.
        _________________________________________________________________


        SYNTAX

        #include <signal.h>

        int     sigstack (new_signal_stack, old_signal_stack)
        struct sigstack        * new_signal_stack;
        struct sigstack        * old_signal_stack;


        PARAMETERS

        new_signal_stack
                       NULL or address of new signal stack context
                       specifier.


        old_signal_stack
                       NULL or address of old signal stack context
                       specifier.


        DESCRIPTION

        Sigstack is used to install a new signal stack context and
        retrieve the previous signal stack context.  A new signal stack
        context is optionally installed using the <new_signal_stack>
        parameter.  If <new_signal_stack> is NULL, the signal stack
        context remains unchanged.  Otherwise, <new_signal_stack> is
        installed.  The previous signal stack context may be obtained by
        the <old_signal_stack> parameter.  If <old_signal_stack> is NULL,
        the previous signal stack context is not returned.  Otherwise,
        the previous signal stack context information is stored in the
        location pointed to by <old_signal_stack>.

        A signal stack is an alternate execution stack on which signals
        are processed.  The signal stack context consists of two
        components:  the address of the base of the signal stack (ss_sp)
        and an indication as to whether the process is currently
        executing on the signal stack (ss_onstack).

        When a signal's action is `catch' and its signal stack choice
        specifies the signal stack, the system checks to see if the
        process is currently executing on the signal 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



        DG/UX 4.00                                                 Page 1
               Licensed material--property of copyright holder(s)





                                                              sigstack(2)



        the signal handler.

        Signal stacks do not increase automatically, as is done for the
        normal stack.  If the stack overflows unpredictable results may
        occur.

        Sigstack will fail and the signal stack context will be unchanged
        if an error occurs.


        ACCESS CONTROL

        None.


        RETURN VALUE

        0              Completed successfully.


        -1             An error occurred.  Errno is set to indicate the
                       error.


        EXCEPTIONS

        Errno may be set to the following error code:


        EFAULT         Either <new_signal_stack> or <old_signal_stack>
                       points to memory which is not a valid part of the
                       process address space.  The validity of the signal
                       stack is not checked.


        SEE ALSO

        The related system call:  sigvec.
        The related manual section:  setjmp(3).















        DG/UX 4.00                                                 Page 2
               Licensed material--property of copyright holder(s)



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