Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ signal(5) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

exit(2)

getrlimit(2)

intro(2)

kill(2)

pause(2)

sigaction(2)

sigaltstack(2)

signal(2)

sigprocmask(2)

sigsend(2)

sigsuspend(2)

wait(2)

sigsetops(3C)

siginfo(5)

ucontext(5)



signal(5)                        UNIX System V                        signal(5)


NAME
      signal - base signals

SYNOPSIS
      #include <signal.h>

DESCRIPTION
      A signal is an asynchronous notification of an event.  A signal is said
      to be generated for (or sent to) a process when the event associated with
      that signal first occurs. Examples of such events include hardware
      faults, timer expiration and terminal activity, as well as the invocation
      of the kill or sigsend system calls.  In some circumstances, the same
      event generates signals for multiple processes.  A process may request a
      detailed notification of the source of the signal and the reason why it
      was generated [see siginfo(5)].

      Each process may specify a system action to be taken in response to each
      signal sent to it, called the signal's disposition.  The set of system
      signal actions for a process is initialized from that of its parent.
      Once an action is installed for a specific signal, it usually remains
      installed until another disposition is explicitly requested by a call to
      either sigaction, signal or sigset, or until the process execs [see
      sigaction(2) and signal(2)].  When a process execs, all signals whose
      disposition has been set to catch the signal will be set to SIGDFL.
      Alternatively, a process may request that the system automatically reset
      the disposition of a signal to SIGDFL after it has been caught [see
      sigaction(2) and signal(2)].

      A signal is said to be delivered to a process when the appropriate action
      for the process and signal is taken. During the time between the
      generation of a signal and its delivery, the signal is said to be pending
      [see sigpending(2)]. Ordinarily, this interval cannot be detected by an
      application. However, a signal can be blocked from delivery to a process
      [see signal(2) and sigprocmask(2)].  If the action associated with a
      blocked signal is anything other than to ignore the signal, and if that
      signal is generated for the process, the signal remains pending until
      either it is unblocked or the signal's disposition requests that the
      signal be ignored.  If the signal disposition of a blocked signal
      requests that the signal be ignored, and if that signal is generated for
      the process, the signal is discarded immediately upon generation.

      Each process has a signal mask that defines the set of signals currently
      blocked from delivery to it [see sigprocmask(2)]. The signal mask for a
      process is initialized from that of its parent.

      The determination of which action is taken in response to a signal is
      made at the time the signal is delivered, allowing for any changes since
      the time of generation. This determination is independent of the means by
      which the signal was originally generated.





10/89                                                                    Page 1







signal(5)                        UNIX System V                        signal(5)


      The signals currently defined in <signal.h> are as follows:
      Name        Value   Default   Event
      _________________________________________________________________________
      SIGHUP      1       Exit      Hangup [see termio(7)]
      SIGINT      2       Exit      Interrupt [see termio(7)]
      SIGQUIT     3       Core      Quit [see termio(7)]
      SIGILL      4       Core      Illegal Instruction
      SIGTRAP     5       Core      Trace/Breakpoint Trap
      SIGIOT      6       Core      Abort
      SIGEMT      7       Core      Emulation Trap
      SIGFPE      8       Core      Arithmetic Exception
      SIGKILL     9       Exit      Killed
      SIGBUS      10      Core      Bus Error
      SIGSEGV     11      Core      Segmentation Fault
      SIGSYS      12      Core      Bad System Call
      SIGPIPE     13      Exit      Broken Pipe
      SIGALRM     14      Exit      Alarm Clock
      SIGTERM     15      Exit      Terminated
      SIGUSR1     16      Exit      User Signal 1
      SIGUSR2     17      Exit      User Signal 2
      SIGCHLD     18      Ignore    Child Status (change alias POSIX)
      SIGPWR      19      Ignore    Power Fail/Restart
      SIGWINCH    20      Ignore    Window Size Change
      SIGURG      21      Ignore    Urgent Socket Condition
      SIGIO       22      Ignore    Socket I/O Possible (SIGPOLL alias)
      SIGSTOP     23      Stop      Stopped (signal)
      SIGTSTP     24      Stop      Stopped (user) [see termio(7)]
      SIGCONT     25      Ignore    Continued
      SIGTTIN     26      Stop      Stopped (tty input) [see termio(7)]
      SIGTTOU     27      Stop      Stopped (tty output) [see termio(7)]
      SIGVTALRM   28      Exit      Virtual Timer Expired
      SIGPROF     29      Exit      Profiling Timer Expired
      SIGXCPU     30      Core      CPU time limit exceeded [see getrlimit(2)]
      SIGXFSZ     31      Core      File size limit exceeded [see getrlimit(2)]

      Using the signal, sigset  or sigaction system call, a process may specify
      one of three dispositions for a signal:  take the default action for the
      signal, ignore the signal, or catch the signal.

   Default Action: SIGDFL
      A disposition of SIGDFL specifies the default action.  The default
      action for each signal is listed in the table above and is selected from
      the following:

      Exit    When it gets the signal, the receiving process is to be
              terminated with all the consequences outlined in exit(2).

      Core    When it gets the signal, the receiving process is to be
              terminated with all the consequences outlined in exit(2).  In
              addition, a ``core image'' of the process is constructed in the
              current working directory.



Page 2                                                                    10/89







signal(5)                        UNIX System V                        signal(5)


      Stop    When it gets the signal, the receiving process is to stop.

      Ignore  When it gets the signal, the receiving process is to ignore it.
              This is identical to setting the disposition to SIGIGN.

   Ignore Signal: SIGIGN
      A disposition of SIGIGN specifies that the signal is to be ignored.

   Catch Signal: function address
      A disposition that is a function address specifies that, when it gets the
      signal, the receiving process is to execute the signal handler at the
      specified address.  Normally, the signal handler is passed the signal
      number as its only argument;  if the disposition was set with the
      sigaction function however, additional arguments may be requested [see
      sigaction(2)].  When the signal handler returns, the receiving process
      resumes execution at the point it was interrupted, unless the signal
      handler makes other arrangements.  If an invalid function address is
      specified, results are undefined.

      If the disposition has been set with the sigset or sigaction function,
      the signal is automatically blocked by the system while the signal
      catcher is executing.  If a longjmp [see setjmp(3C)] is used to leave the
      signal catcher, then the signal must be explicitly unblocked by the user
      [see signal(2) and sigprocmask(2)].

      If execution of the signal handler interrupts a blocked system call, the
      handler is executed and the interrupted system call returns a -1 to the
      calling process with errno set to EINTR. However, if the SARESTART flag
      is set the system call will be transparently restarted.

NOTES
      The dispositions of the SIGKILL and SIGSTOP signals cannot be altered
      from their default values.  The system generates an error if this is
      attempted.

      The SIGKILL and SIGSTOP signals cannot be blocked.  The system silently
      enforces this restriction.

      Whenever a process receives a SIGSTOP, SIGTSTP, SIGTTIN, or SIGTTOU
      signal, regardless of its disposition, any pending SIGCONT signal are
      discarded.

      Whenever a process receives a SIGCONT signal, regardless of its
      disposition, any pending SIGSTOP, SIGTSTP, SIGTTIN, and SIGTTOU signals
      is discarded.  In addition, if the process was stopped, it is continued.

      SIGPOLL is issued when a file descriptor corresponding to a STREAMS [see
      intro(2)] file has a ``selectable'' event pending.  A process must
      specifically request that this signal be sent using the ISETSIG ioctl
      call.  Otherwise, the process will never receive SIGPOLL.




10/89                                                                    Page 3







signal(5)                        UNIX System V                        signal(5)


      If the disposition of the SIGCHLD signal has been set with signal or
      sigset, or with sigaction and the SANOCLDSTOP flag has been specified,
      it will only be sent to the calling process when its children exit;
      otherwise, it will also be sent when the calling process's children are
      stopped or continued due to job control.

      The name SIGCLD is also defined in this header file and identifies the
      same signal as SIGCHLD. SIGCLD is provided for backward compatibility,
      new applications should use SIGCHLD.

      The disposition of signals that are inherited as SIGIGN should not be
      changed.

SEE ALSO
      exit(2), getrlimit(2), intro(2), kill(2), pause(2), sigaction(2),
      sigaltstack(2), signal(2), sigprocmask(2), sigsend(2), sigsuspend(2),
      wait(2), sigsetops(3C), siginfo(5), ucontext(5)





































Page 4                                                                    10/89





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