Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(2)

exit(2)

kill(2)

pause(2)

sigaltstack(2)

nal(2)

sigprocmask(2)

sigsend(2)

sigsuspend(2)

wait(2)

sigsetops(3C)

siginfo(5)

signal(5)

ucontext(5)

kill(1)



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



NAME
     sigaction - detailed signal management

SYNOPSIS
     #include <signal.h>

     int sigaction(int sig, const struct sigaction *act,
          struct sigaction *oact);

DESCRIPTION
     sigaction allows the calling process to examine and/or
     specify the action to be taken on delivery of a specific
     signal.  [See signal(5) for an explanation of general signal
     concepts.]

     sig specifies the signal and can be assigned any of the sig-
     nals specified in signal(5) except SIGKILL and SIGSTOP

     If the argument act is not NULL, it points to a structure
     specifying the new action to be taken when delivering sig.
     If the argument oact is not NULL, it points to a structure
     where the action previously associated with sig is to be
     stored on return from sigaction.

     The sigaction structure includes the following members:

          void      (*sa_handler)();
          sigset_t       sa_mask;
          int       sa_flags;

     sa_handler specifies the disposition of the signal and may
     take any of the values specified in signal(5).

     sa_mask specifies a set of signals to be blocked while the
     signal handler is active.  On entry to the signal handler,
     that set of signals is added to the set of signals already
     being blocked when the signal is delivered.  In addition,
     the signal that caused the handler to be executed will also
     be blocked, unless the SA_NODEFER flag has been specified.
     SIGSTOP and SIGKILL cannot be blocked (the system silently
     enforces this restriction).

     sa_flags specifies a set of flags used to modify the
     delivery of the signal.  It is formed by a logical OR of any
     of the following values:

          SA_ONSTACK          If set and the signal is caught and
                              an alternate signal stack has been
                              declared with sigaltstack(2), the
                              signal is delivered to the calling
                              process on that stack.  Otherwise,
                              the signal is delivered on the same



                        Printed 11/19/92                   Page 1





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



                              stack as the main program.

          SA_RESETHAND        If set and the signal is caught,
                              the disposition of the signal is
                              reset to SIG_DFL and the signal
                              will not be blocked on entry to the
                              signal handler ( SIGILL, SIGTRAP,
                              and SIGPWR cannot be automatically
                              reset when delivered; the system
                              silently enforces this restric-
                              tion).

          SA_NODEFER          If set and the signal is caught,
                              the signal will not be automati-
                              cally blocked by the kernel while
                              it is being caught.

          SA_RESTART          If set and the signal is caught, a
                              system call that is interrupted by
                              the execution of this signal's
                              handler is transparently restarted
                              by the system.  Otherwise, that
                              system call returns an EINTR error.

          SA_SIGINFO          If cleared and the signal is
                              caught, sig is passed as the only
                              argument to the signal-catching
                              function.  If set and the signal is
                              caught, pending signals of type sig
                              are reliably queued to the calling
                              process and two additional argu-
                              ments are passed to the signal-
                              catching function.  If the second
                              argument is not equal to NULL, it
                              points to a siginfo_t structure
                              containing the reason why the sig-
                              nal was generated [see siginfo(5)];
                              the third argument points to a
                              ucontext_t structure containing the
                              receiving process's context when
                              the signal was delivered [see ucon-
                              text(5)].

          SA_NOCLDWAIT        If set and sig equals SIGCHLD, the
                              system will not create zombie
                              processes when children of the cal-
                              ling process exit.  If the calling
                              process subsequently issues a
                              wait(2), it blocks until all of the
                              calling process's child processes
                              terminate, and then returns a value
                              of -1 with errno set to ECHILD.



 Page 2                 Printed 11/19/92





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



          SA_NOCLDSTOP        If set and sig equals SIGCHLD, sig
                              will not be sent to the calling
                              process when its child processes
                              stop or continue.

     sigaction fails if any of the following is true:

     EINVAL         The value of the sig argument is not a valid
                    signal number or is equal to SIGKILL or SIG-
                    STOP.

     EFAULT         act or oact points outside the process's
                    allocated address space.

DIAGNOSTICS
     On success, sigaction returns zero.  On failure, it returns
     -1 and sets errno to indicate the error.

SEE ALSO
     intro(2), exit(2), kill(2), pause(2), sigaltstack(2), sig-
     nal(2), sigprocmask(2), sigsend(2), sigsuspend(2), wait(2),
     sigsetops(3C), siginfo(5), signal(5), ucontext(5).

     kill(1) in the User's Reference Manual.

NOTES
     If the system call is reading from or writing to a terminal
     and the terminal's NOFLSH bit is cleared, data may be
     flushed [see termio(7)].


























                        Printed 11/19/92                   Page 3



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