Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ signal(2) — svr4 — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

kill(2)

pause(2)

sigaction(2)

sigsend(2)

wait(2)

waitid(2)

signal(5)



SIGNAL(2-SVR4)      RISC/os Reference Manual       SIGNAL(2-SVR4)



NAME
     signal, sigset, sighold, sigrelse, sigignore, sigpause -
          simplified signal management

SYNOPSIS
     #include <signal.h>

     void (*signal(int sig, void (*disp)(int)))(int);
     void (*sigset(int sig, void (*disp)(int)))(int);

     int sighold(int sig);
     int sigrelse(int sig);

     int sigignore(int sig);
     int sigpause(int sig);

DESCRIPTION
     These functions provide simplified signal management for
     application processes.  See signal(5) for an explanation of
     general signal concepts.

     signal and sigset are used to modify signal dispositions.
     sig specifies the signal, which may be any signal except
     SIGKILL and SIGSTOP. disp specifies the signal's disposi-
     tion, which may be SIG_DFL, SIG_IGN, or the address of a
     signal handler.  If signal is used, disp is the address of a
     signal handler, and sig is not SIGILL, SIGTRAP, or SIGPWR,
     the system first sets the signal's disposition to SIG_DFL
     before executing the signal handler.  If sigset is used and
     disp is the address of a signal handler, the system adds sig
     to the calling process's signal mask before executing the
     signal handler; when the signal handler returns, the system
     restores the calling process's signal mask to its state
     prior to the delivery of the signal.  In addition, if sigset
     is used and disp is equal to SIG_HOLD, sig is added to the
     calling process's signal mask and the signal's disposition
     remains unchanged.

     sighold adds sig to the calling process's signal mask.

     sigrelse removes sig from the calling process's signal mask.

     sigignore sets the disposition of sig to SIG_IGN.

     sigpause removes sig from the calling process's signal mask
     and suspends the calling process until a signal is received.

     These functions fail if any of the following are true.

     EINVAL         The value of the sig argument is not a valid
                    signal or is equal to SIGKILL or SIGSTOP.




                        Printed 11/19/92                   Page 1





SIGNAL(2-SVR4)      RISC/os Reference Manual       SIGNAL(2-SVR4)



     EINTR          A signal was caught during the system call
                    sigpause.

NOTES
     sighold in conjunction with sigrelse or sigpause may be used
     to establish critical regions of code that require the
     delivery of a signal to be temporarily deferred.

     If signal or sigset is used to set SIGCHLD's disposition to
     a signal handler, SIGCHLD will not be sent when the calling
     process's children are stopped or continued.

     If any of the above functions are used to set SIGCHLD's
     disposition to SIG_IGN, the calling process's child
     processes will not create zombie processes when they ter-
     minate [see exit(2)].  If the calling process subsequently
     waits for its children, it blocks until all of its children
     terminate; it then returns a value of -1 with errno set to
     ECHILD [see wait(2), waitid(2)].

DIAGNOSTICS
     On success, signal returns the signal's previous disposi-
     tion.  On failure, it returns SIG_ERR and sets errno to
     indicate the error.

     On success, sigset returns SIG_HOLD if the signal had been
     blocked or the signal's previous disposition if it had not
     been blocked.  On failure, it returns SIG_ERR and sets errno
     to indicate the error.

     All other functions return zero on success.  On failure,
     they return -1 and set errno to indicate the error.

SEE ALSO
     kill(2), pause(2), sigaction(2), sigsend(2), wait(2),
     waitid(2), signal(5).



















 Page 2                 Printed 11/19/92



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