<!DOCTYPE html PUBLIC "‐//W3C//DTD XHTML 1.1//EN"
        "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">     <html
xmlns="http://www.w3.org/1999/xhtml"> <head>
    <link            rel="stylesheet"             type="text/css"
href="../../../style.css" title="style" />
    <link  rel="stylesheet"  type="text/css"  href="../style.css"
title="style" />
    <meta             http‐equiv="content‐type"              con‐
tent="text/html;charset=utf‐8" />

    <title>signal.h.0p ‐ Linux manual page</title> </head>

<body>

<div        class="page‐top"><a       id="top_of_page"></a></div>
<!‐‐%%%TOP_BAR%%%‐‐> <!‐‐%%%PAGE_START%%%‐‐>

<table class="sec‐table"> <tr>
    <td>
        <p class="section‐dir"> <a href="#PROLOG">PROLOG</a> | <a
href="#NAME">NAME</a>  |  <a  href="#SYNOPSIS">SYNOPSIS</a>  | <a
href="#DESCRIPTION">DESCRIPTION</a> |  <a  href="#APPLICATION_US‐
AGE">APPLICATION&nbsp;USAGE</a>   |  <a  href="#RATIONALE">RATIO‐
NALE</a>   |   <a    href="#FUTURE_DIRECTIONS">FUTURE&nbsp;DIREC‐
TIONS</a>    |   <a   href="#SEE_ALSO">SEE&nbsp;ALSO</a>   |   <a
href="#COPYRIGHT">COPYRIGHT</a>
        </p>
    </td>
    <td class="search‐box">
        <div class="man‐search‐box">

            <form                method="get"                 ac‐
tion="http://www.google.com/search">
                <fieldset class="man‐search">
                    <input    type="text"    name="q"   size="10"
maxlength="255" value="" />
                    <input type="hidden"  name="sitesearch"  val‐
ue="man7.org/linux/man‐pages" />
                    <input  type="submit" name="sa" value="Search
online pages" />
                </fieldset>
            </form>

        </div>
    </td>
    <td> </td> </tr> </table>

<pre> <span class="headline">signal.h(0P)              POSIX Pro‐
grammer’s  Manual              signal.h(0P)</span>  </pre> <h2><a
id="PROLOG" href="#PROLOG"></a>PROLOG  &nbsp; &nbsp; &nbsp;  &nb‐
sp;        <a        href="#top_of_page"><span        class="top‐
link">top</span></a></h2><pre>
       This manual page is part of the POSIX Programmer’s Manual.
The Linux
       implementation of this interface may differ (consult the
       corresponding  Linux  manual page for details of Linux be‐
havior), or
       the interface may not be  implemented  on  Linux.   </pre>
<h2><a id="NAME" href="#NAME"></a>NAME  &nbsp; &nbsp; &nbsp; &nb‐
sp;        <a        href="#top_of_page"><span        class="top‐
link">top</span></a></h2><pre>
       signal.h — signals </pre> <h2><a id="SYNOPSIS" href="#SYN‐
OPSIS"></a>SYNOPSIS    &nbsp;    &nbsp;    &nbsp;    &nbsp;    <a
href="#top_of_page"><span                             class="top‐
link">top</span></a></h2><pre>
       #include &lt;signal.h&gt; </pre>  <h2><a  id="DESCRIPTION"
href="#DESCRIPTION"></a>DESCRIPTION   &nbsp; &nbsp; &nbsp; &nbsp;
<a             href="#top_of_page"><span              class="top‐
link">top</span></a></h2><pre>
       Some of the functionality described on this reference page
extends
       the ISO C standard. Applications shall define  the  appro‐
priate feature
       test   macro   (see   the   System  Interfaces  volume  of
POSIX.1‐2008, <i>Section</i>
       <i>2.2</i>, <i>The Compilation Environment</i>) to  enable
the visibility of these
       symbols in this header.

       The  <i>&lt;signal.h&gt;</i>  header shall define the fol‐
lowing macros, which shall
       expand to constant expressions with distinct  values  that
have a type
       compatible  with  the  second  argument to, and the return
value of, the
       <i>signal</i>() function, and whose values  shall  compare
unequal to the
       address of any declarable function.

       SIG_DFL       Request for default signal handling.

       SIG_ERR       Return value from <i>signal</i>() in case of
error.

       SIG_HOLD      Request that signal be held.

       SIG_IGN       Request that signal be ignored.

       The  <i>&lt;signal.h&gt;</i>  header  shall   define   the
<b>pthread_t</b>, <b>size_t</b>, and <b>uid_t</b>
       types as described in <i>&lt;sys/types.h&gt;</i>.

       The   <i>&lt;signal.h&gt;</i>   header  shall  define  the
<b>timespec </b>structure as
       described in <i>&lt;time.h&gt;</i>.

       The <i>&lt;signal.h&gt;</i> header shall define  the  fol‐
lowing data types:

       <b>sig_atomic_t   </b>Possibly  volatile‐qualified integer
type of an object
                     that can be accessed as  an  atomic  entity,
even in the
                     presence of asynchronous interrupts.

       <b>sigset_t       </b>Integer  or structure type of an ob‐
ject used to
                     represent sets of signals.

       <b>pid_t                </b>As        described         in
<i>&lt;sys/types.h&gt;</i>.

       The   <i>&lt;signal.h&gt;</i>   header  shall  define  the
<b>pthread_attr_t </b>type as
       described in <i>&lt;sys/types.h&gt;</i>.

       The  <i>&lt;signal.h&gt;</i>  header  shall   define   the
<b>sigevent </b>structure, which
       shall include at least the following members:

           <b>int               sigev_notify            </b>Noti‐
fication type.
           <b>int              sigev_signo             </b>Signal
number.
           <b>union sigval     sigev_value             </b>Signal
value.
           <b>void           (*sigev_notify_function)(union  sig‐
val)</b>
                                                    Notification
function.
           <b>pthread_attr_t *sigev_notify_attributes   </b>Noti‐
fication attributes.

       The  <i>&lt;signal.h&gt;</i>  header shall define the fol‐
lowing symbolic constants
       for the values of <i>sigev_notify</i>:

       SIGEV_NONE    No asynchronous  notification  is  delivered
when the
                     event of interest occurs.

       SIGEV_SIGNAL  A queued signal, with an application‐defined
value, is
                     generated when the event of interest occurs.

       SIGEV_THREAD  A notification function is called to perform
                     notification.

       The <b>sigval </b>union shall be defined as:

           <b>int    sival_int    </b>Integer signal value.
           <b>void  *sival_ptr    </b>Pointer signal value.

       The  <i>&lt;signal.h&gt;</i>  header  shall  declare   the
SIGRTMIN and SIGRTMAX macros,
       which  shall  expand  to positive integer expressions with
type <b>int</b>, but
       which need not be constant expressions. These macros spec‐
ify a range
       of  signal  numbers  that are reserved for application use
and for which
       the realtime signal behavior specified in this  volume  of
POSIX.1‐2008
       is  supported.  The  signal  numbers  in this range do not
overlap any of
       the signals specified in the following table.

       The range SIGRTMIN through SIGRTMAX  inclusive  shall  in‐
clude at least
       {RTSIG_MAX} signal numbers.

       It  is  implementation‐defined whether realtime signal be‐
havior is
       supported for other signals.

       The <i>&lt;signal.h&gt;</i> header shall define  the  fol‐
lowing macros that are used
       to  refer to the signals that occur in the system. Signals
defined
       here begin with the letters SIG followed by  an  uppercase
letter. The
       macros  shall  expand to positive integer constant expres‐
sions with
       type <b>int </b>and distinct values. The value  0  is  re‐
served for use as the
       null  signal  (see <i>kill</i>()).  Additional implementa‐
tion‐defined signals
       may occur in the system.

       The ISO C standard only requires the signal names SIGABRT,
SIGFPE,
       SIGILL, SIGINT, SIGSEGV, and SIGTERM to be defined.

       The  following signals shall be supported on all implemen‐
tations
       (default actions are explained below the table):

 ┌──────────┬────────────────┬────────────────────────────────────────────────────┐
 │      <b>Signal       </b>│     <b>Default     Action     </b>│
<b>Description                     </b>│
 ├──────────┼────────────────┼────────────────────────────────────────────────────┤
 │SIGABRT      │         A          │   Process   abort   signal.
│
 │SIGALRM       │           T            │      Alarm      clock.
│
 │SIGBUS     │       A        │ Access to an undefined portion of
a memory object. │
 │SIGCHLD   │       I        │ Child process terminated, stopped,
│
 │                │                     │      or      continued.
│
 │SIGCONT   │       C        │ Continue  executing,  if  stopped.
│
 │SIGFPE     │        A         │ Erroneous arithmetic operation.
│
 │SIGHUP          │              T               │        Hangup.
│
 │SIGILL       │          A           │    Illegal   instruction.
│
 │SIGINT     │        T         │  Terminal   interrupt   signal.
│
 │SIGKILL    │        T         │  Kill  (cannot be caught or ig‐
nored).                │
 │SIGPIPE   │       T        │ Write on a pipe  with  no  one  to
read it.            │
 │SIGQUIT      │         A          │   Terminal   quit   signal.
│
 │SIGSEGV    │        A         │   Invalid   memory   reference.
│
 │SIGSTOP    │        S        │ Stop executing (cannot be caught
or ignored).      │
 │SIGTERM      │          T           │    Termination    signal.
│
 │SIGTSTP      │         S          │   Terminal   stop   signal.
│
 │SIGTTIN   │        S         │  Background  process  attempting
read.                │
 │SIGTTOU    │        S         │  Background  process attempting
write.               │
 │SIGUSR1     │         T          │   User‐defined   signal   1.
│
 │SIGUSR2     │         T          │   User‐defined   signal   2.
│
 │SIGPOLL      │           T            │     Pollable     event.
│
 │SIGPROF     │         T          │   Profiling  timer  expired.
│
 │SIGSYS       │          A           │    Bad    system    call.
│
 │SIGTRAP      │          A          │   Trace/breakpoint   trap.
│
 │SIGURG    │       I        │ High bandwidth data  is  available
at a socket.      │
 │SIGVTALRM   │         T          │   Virtual   timer   expired.
│
 │SIGXCPU    │        A         │  CPU   time   limit   exceeded.
│
 │SIGXFSZ     │         A         │  File  size  limit  exceeded.
│
 │                           │                                  │
│
 └──────────┴────────────────┴────────────────────────────────────────────────────┘
       The default actions are as follows:

       T     Abnormal termination of the process.

       A     Abnormal termination of the process with  additional
actions.

       I     Ignore the signal.

       S     Stop the process.

       C      Continue  the process, if it is stopped; otherwise,
ignore the
             signal.

       The effects on the process in each case are  described  in
the System
       Interfaces  volume  of POSIX.1‐2008, <i>Section 2.4.3</i>,
<i>Signal Actions</i>.

       The  <i>&lt;signal.h&gt;</i>  header  shall  declare   the
<b>sigaction </b>structure, which
       shall include at least the following members:

           <b>void   (*sa_handler)(int)  </b>Pointer to a signal‐
catching function
                                      or one of  the  SIG_IGN  or
SIG_DFL.
           sigset_t   sa_mask            Set  of  signals  to  be
blocked during execution
                                      of  the   signal   handling
function.
           int      sa_flags          Special flags.
           void   (*sa_sigaction)(int, siginfo_t *, void *)
                                      Pointer  to a signal‐catch‐
ing function.

       The storage occupied by <i>sa_handler</i> and <i>sa_sigac‐
tion</i> may overlap, and
       a  conforming application shall not use both simultaneous‐
ly.

       The <i>&lt;signal.h&gt;</i> header shall define  the  fol‐
lowing macros which shall
       expand  to  integer  constant expressions that need not be
usable in <b>#if</b>
       preprocessing directives:

       SIG_BLOCK     The resulting set is the union of  the  cur‐
rent set and
                     the  signal  set  pointed to by the argument
<i>set</i>.

       SIG_UNBLOCK   The resulting set is the intersection of the
current
                     set  and  the  complement  of the signal set
pointed to by
                     the argument <i>set</i>.

       SIG_SETMASK   The resulting set is the signal set  pointed
to by the
                     argument <i>set</i>.

       The  <i>&lt;signal.h&gt;</i>  header shall also define the
following symbolic
       constants:

       SA_NOCLDSTOP  Do not generate SIGCHLD when children stop
                     or stopped children continue.

       SA_ONSTACK    Causes signal delivery to occur on an alter‐
nate stack.

       SA_RESETHAND   Causes  signal  dispositions  to  be set to
SIG_DFL on
                     entry to signal handlers.

       SA_RESTART      Causes   certain   functions   to   become
restartable.

       SA_SIGINFO     Causes  extra  information  to be passed to
signal
                     handlers at the time of receipt of a signal.

       SA_NOCLDWAIT  Causes implementations not to create  zombie
processes
                     on child death.

       SA_NODEFER      Causes  signal  not  to  be  automatically
blocked on entry
                     to signal handler.

       SS_ONSTACK    Process is executing on an alternate  signal
stack.

       SS_DISABLE    Alternate signal stack is disabled.

       MINSIGSTKSZ   Minimum stack size for a signal handler.

       SIGSTKSZ      Default size in bytes for the alternate sig‐
nal stack.

       The  <i>&lt;signal.h&gt;</i>  header  shall   define   the
<b>mcontext_t </b>type through
       <b>typedef</b>.

       The   <i>&lt;signal.h&gt;</i>   header  shall  define  the
<b>ucontext_t </b>type as a structure
       that shall include at least the following members:

           <b>ucontext_t *uc_link     </b>Pointer to the  context
that is resumed
                                   when this context returns.
           sigset_t     uc_sigmask   The  set of signals that are
blocked when this
                                   context is active.
           stack_t     uc_stack    The stack used  by  this  con‐
text.
           mcontext_t  uc_mcontext A machine‐specific representa‐
tion of the saved
                                   context.

       The  <i>&lt;signal.h&gt;</i>  header  shall   define   the
<b>stack_t </b>type as a structure,
       which shall include at least the following members:

           <b>void     *ss_sp       </b>Stack base or pointer.
           size_t    ss_size     Stack size.
           int       ss_flags    Flags.

       The   <i>&lt;signal.h&gt;</i>   header  shall  define  the
<b>siginfo_t </b>type as a structure,
       which shall include at least the following members:

           <b>int           si_signo  </b>Signal number.
           int           si_code   Signal code.
           int            si_errno    If   non‐zero,   an   <i><a
href="../man3/errno.3.html">errno</a></i> value associated with
                                   this  signal,  as described in
<b>&lt;errno.h&gt;</b>.
           pid_t         si_pid    Sending process ID.
           uid_t          si_uid     Real  user  ID  of   sending
process.
           void          *si_addr    Address of faulting instruc‐
tion.
           int           si_status Exit value or signal.
           long          si_band   Band event for SIGPOLL.
           union sigval  si_value  Signal value.

       The <i>&lt;signal.h&gt;</i> header shall define  the  sym‐
bolic constants in the <b>Code</b>
       column  of  the  following  table  for  use  as  values of
<i>si_code</i> that are
       signal‐specific or  non‐signal‐specific  reasons  why  the
signal was
       generated.

┌───────┬─────────────┬──────────────────────────────────────────────────────────────────┐
│<b>Signal          </b>│             <b>Code               </b>│
<b>Reason                                                   </b>│
├───────┼─────────────┼──────────────────────────────────────────────────────────────────┤
│SIGILL          │ILL_ILLOPC            │Illegal          opcode.
│       │             │ILL_ILLOPN         │Illegal       operand.
│     │          │ILL_ILLADR      │Illegal    addressing    mode.
│       │              │ILL_ILLTRP          │Illegal        trap.
│       │             │ILL_PRVOPC        │Privileged      opcode.
│      │            │ILL_PRVREG        │Privileged      register.
│       │             │ILL_COPROC        │Coprocessor      error.
│    │           │ILL_BADSTK       │Internal     stack     error.
│
├───────┼─────────────┼──────────────────────────────────────────────────────────────────┤
│SIGFPE     │FPE_INTDIV       │Integer     divide     by    zero.
│      │             │FPE_INTOVF         │Integer       overflow.
│   │         │FPE_FLTDIV     │Floating‐point   divide  by  zero.
│     │           │FPE_FLTOVF       │Floating‐point     overflow.
│     │           │FPE_FLTUND       │Floating‐point    underflow.
│   │         │FPE_FLTRES     │Floating‐point   inexact   result.
│   │         │FPE_FLTINV    │Invalid  floating‐point  operation.
│   │          │FPE_FLTSUB      │Subscript    out    of    range.
│
├───────┼─────────────┼──────────────────────────────────────────────────────────────────┤
│SIGSEGV│SEGV_MAPERR     │Address    not    mapped   to   object.
│ │       │SEGV_ACCERR  │Invalid permissions for  mapped  object.
│
├───────┼─────────────┼──────────────────────────────────────────────────────────────────┤
│SIGBUS     │BUS_ADRALN       │Invalid     address     alignment.
│   │         │BUS_ADRERR     │Nonexistent   physical    address.
│   │         │BUS_OBJERR     │Object‐specific   hardware  error.
│
├───────┼─────────────┼──────────────────────────────────────────────────────────────────┤
│SIGTRAP│TRAP_BRKPT              │Process             breakpoint.
│      │           │TRAP_TRACE       │Process     trace     trap.
│
├───────┼─────────────┼──────────────────────────────────────────────────────────────────┤
│SIGCHLD│CLD_EXITED           │Child         has          exited.
│  │       │CLD_KILLED   │Child has terminated abnormally and did
not create a <b>core </b>file.   │ │        │CLD_DUMPED    │Child
has   terminated  abnormally  and  created  a  <b>core  </b>file.
│   │         │CLD_TRAPPED    │Traced    child    has    trapped.
│      │            │CLD_STOPPED      │Child     has     stopped.
│   │         │CLD_CONTINUED│Stopped   child    has    continued.
│
├───────┼─────────────┼──────────────────────────────────────────────────────────────────┤
│SIGPOLL│POLL_IN             │Data        input        available.
│    │          │POLL_OUT        │Output    buffers    available.
│     │          │POLL_MSG        │Input    message    available.
│        │              │POLL_ERR             │I/O         error.
│   │         │POLL_PRI       │High   priority  input  available.
│      │            │POLL_HUP          │Device      disconnected.
│
├───────┼─────────────┼──────────────────────────────────────────────────────────────────┤
│Any       │SI_USER         │Signal    sent   by   <i>kill</i>().
│  │        │SI_QUEUE      │Signal  sent  by   <i>sigqueue</i>().
│  │        │SI_TIMER      │Signal  generated  by expiration of a
timer  set  by  <i>timer_settime</i>().  │  │         │SI_ASYNCIO
│Signal   generated   by   completion   of  an  asynchronous  I/O
│           │                  │                        │request.
│ │       │SI_MESGQ     │Signal generated by arrival of a message
on  an  empty  message       │  │         │               │queue.
│
└───────┴─────────────┴──────────────────────────────────────────────────────────────────┘
       Implementations may support additional <i>si_code</i> val‐
ues not included in
       this list, may generate values included in this list under
       circumstances other than those described in this list, and
may
       contain extensions or limitations that prevent some values
from being
       generated. Implementations do  not  generate  a  different
value from the
       ones described in this list for circumstances described in
this list.

       In addition,  the  following  signal‐specific  information
shall be
       available:

   ┌────────┬────────────────┬───────────────────────────────────────────────────┐
   │<b>Signal         </b>│            <b>Member            </b>│
<b>Value                       </b>│
   ├────────┼────────────────┼───────────────────────────────────────────────────┤
   │SIGILL  │ <b>void * </b><i>si_addr</i> │ Address of  faulting
instruction.                  │
   │SIGFPE                    │                                 │
│
   ├────────┼────────────────┼───────────────────────────────────────────────────┤
   │SIGSEGV  │ <b>void * </b><i>si_addr</i> │ Address of faulting
memory reference.             │
   │SIGBUS                   │                                  │
│
   ├────────┼────────────────┼───────────────────────────────────────────────────┤
   │SIGCHLD │ <b>pid_t </b><i>si_pid</i>   │  Child  process  ID.
│
   │         │  <b>int </b><i>si_status</i>  │ Exit value or sig‐
nal.                             │
   │        │ <b>uid_t </b><i>si_uid</i>   │ Real user ID of  the
process that sent the signal. │
   ├────────┼────────────────┼───────────────────────────────────────────────────┤
   │SIGPOLL │  <b>long  </b><i>si_band</i>    │  Band  event  for
POLL_IN, POLL_OUT, or POLL_MSG.    │
   └────────┴────────────────┴───────────────────────────────────────────────────┘
       For some implementations, the value of <i>si_addr</i>  may
be inaccurate.

       The  following shall be declared as functions and may also
be defined
       as macros. Function prototypes shall be provided.

           <b>int    kill(pid_t, int);</b>
           <b>int    killpg(pid_t, int);</b>
           <b>void    psiginfo(const  siginfo_t  *,  const   char
*);</b>
           <b>void   psignal(int, const char *);</b>
           <b>int    pthread_kill(pthread_t, int);</b>
           <b>int     pthread_sigmask(int,  const  sigset_t  *re‐
strict,</b>
                      <b>sigset_t *restrict);</b>
           <b>int    raise(int);</b>
           <b>int    sigaction(int, const struct  sigaction  *re‐
strict,</b>
                      <b>struct sigaction *restrict);</b>
           <b>int    sigaddset(sigset_t *, int);</b>
           <b>int    sigaltstack(const stack_t *restrict, stack_t
*restrict);</b>
           <b>int    sigdelset(sigset_t *, int);</b>
           <b>int    sigemptyset(sigset_t *);</b>
           <b>int    sigfillset(sigset_t *);</b>
           <b>int    sighold(int);</b>
           <b>int    sigignore(int);</b>
           <b>int    siginterrupt(int, int);</b>
           <b>int    sigismember(const sigset_t *, int);</b>
           <b>void (*signal(int, void (*)(int)))(int);</b>
           <b>int    sigpause(int);</b>
           <b>int    sigpending(sigset_t *);</b>
           <b>int    sigprocmask(int, const  sigset_t  *restrict,
sigset_t *restrict);</b>
           <b>int      sigqueue(pid_t,   int,  const  union  sig‐
val);</b>
           <b>int    sigrelse(int);</b>
           <b>void (*sigset(int, void (*)(int)))(int);</b>
           <b>int    sigsuspend(const sigset_t *);</b>
           <b>int    sigtimedwait(const sigset_t *restrict,  sig‐
info_t *restrict,</b>
                      <b>const struct timespec *restrict);</b>
           <b>int     sigwait(const  sigset_t *restrict, int *re‐
strict);</b>
           <b>int    sigwaitinfo(const sigset_t *restrict, sigin‐
fo_t *restrict);</b>

       Inclusion  of  the <i>&lt;signal.h&gt;</i> header may make
visible all symbols from
       the <i>&lt;time.h&gt;</i> header.

       <i>The  following  sections  are  informative.</i>  </pre>
<h2><a  id="APPLICATION_USAGE"  href="#APPLICATION_USAGE"></a>AP‐
PLICATION    USAGE     &nbsp;    &nbsp;    &nbsp;    &nbsp;    <a
href="#top_of_page"><span                             class="top‐
link">top</span></a></h2><pre>
       On  systems   not   supporting   the   XSI   option,   the
<i>si_pid</i> and <i>si_uid</i>
       members  of <b>siginfo_t </b>are only required to be valid
when <i>si_code</i> is
       SI_USER or SI_QUEUE. On XSI‐conforming systems,  they  are
also valid
       for  all  <i>si_code</i>  values  less than or equal to 0;
however, it is
       unspecified whether SI_USER and SI_QUEUE have values  less
than or
       equal to zero, and therefore XSI applications should check
whether
       <i>si_code</i> has the value SI_USER  or  SI_QUEUE  or  is
less than or equal to
       0  to  tell  whether  <i>si_pid</i>  and <i>si_uid</i> are
valid.  </pre> <h2><a id="RATIONALE" href="#RATIONALE"></a>RATIO‐
NALE   &nbsp;  &nbsp;  &nbsp; &nbsp; <a href="#top_of_page"><span
class="top‐link">top</span></a></h2><pre>
       None.   </pre>  <h2><a  id="FUTURE_DIRECTIONS"  href="#FU‐
TURE_DIRECTIONS"></a>FUTURE DIRECTIONS  &nbsp; &nbsp; &nbsp; &nb‐
sp;        <a        href="#top_of_page"><span        class="top‐
link">top</span></a></h2><pre>
       The SIGPOLL and SIGPROF signals may be removed in a future
version.  </pre>  <h2><a  id="SEE_ALSO"  href="#SEE_ALSO"></a>SEE
ALSO   &nbsp;  &nbsp;  &nbsp; &nbsp; <a href="#top_of_page"><span
class="top‐link">top</span></a></h2><pre>
       <a   href="../man0/errno.h.0p.html">errno.h(0p)</a>,    <a
href="../man0/stropts.h.0p.html">stropts.h(0p)</a>,            <a
href="../man0/sys_types.h.0p.html">sys_types.h(0p)</a>,        <a
href="../man0/time.h.0p.html">time.h(0p)</a>

       The  System  Interfaces volume of POSIX.1‐2008, <i>Section
2.2</i>, <i>The</i>
       <i>Compilation             Environment</i>,             <a
href="../man3/alarm.3p.html">alarm(3p)</a>,                    <a
href="../man3/ioctl.3p.html">ioctl(3p)</a>,                    <a
href="../man3/kill.3p.html">kill(3p)</a>,                      <a
href="../man3/killpg.3p.html">killpg(3p)</a>,
       <a  href="../man3/psiginfo.3p.html">psiginfo(3p)</a>,   <a
href="../man3/pthread_kill.3p.html">pthread_kill(3p)</a>,      <a
href="../man3/pthread_sigmask.3p.html">pthread_sigmask(3p)</a>,
<a href="../man3/raise.3p.html">raise(3p)</a>,
       <a  href="../man3/sigaction.3p.html">sigaction(3p)</a>, <a
href="../man3/sigaddset.3p.html">sigaddset(3p)</a>,            <a
href="../man3/sigaltstack.3p.html">sigaltstack(3p)</a>,        <a
href="../man3/sigdelset.3p.html">sigdelset(3p)</a>,
       <a href="../man3/sigemptyset.3p.html">sigemptyset(3p)</a>,
<a    href="../man3/sigfillset.3p.html">sigfillset(3p)</a>,    <a
href="../man3/sighold.3p.html">sighold(3p)</a>,                <a
href="../man3/siginterrupt.3p.html">siginterrupt(3p)</a>,
       <a href="../man3/sigismember.3p.html">sigismember(3p)</a>,
<a        href="../man3/signal.3p.html">signal(3p)</a>,        <a
href="../man3/sigpending.3p.html">sigpending(3p)</a>,          <a
href="../man3/sigqueue.3p.html">sigqueue(3p)</a>,
       <a   href="../man3/sigsuspend.3p.html">sigsuspend(3p)</a>,
<a  href="../man3/sigtimedwait.3p.html">sigtimedwait(3p)</a>,  <a
href="../man3/sigwait.3p.html">sigwait(3p)</a>,                <a
href="../man3/timer_create.3p.html">timer_create(3p)</a>,
       <a       href="../man3/wait.3p.html">wait(3p)</a>,      <a
href="../man3/waitid.3p.html">waitid(3p)</a>    </pre>     <h2><a
id="COPYRIGHT"   href="#COPYRIGHT"></a>COPYRIGHT   &nbsp;  &nbsp;
&nbsp;   &nbsp;    <a    href="#top_of_page"><span    class="top‐
link">top</span></a></h2><pre>
       Portions  of  this  text  are  reprinted and reproduced in
electronic form
       from IEEE Std 1003.1, 2013 Edition, Standard for  Informa‐
tion
       Technology ‐‐ Portable Operating System Interface (POSIX),
The Open
       Group Base Specifications Issue 7, Copyright (C)  2013  by
the
       Institute of Electrical and Electronics Engineers, Inc and
The Open
       Group.  (This is POSIX.1‐2008 with the 2013 Technical Cor‐
rigendum 1
       applied.)  In  the  event  of any discrepancy between this
version and
       the original IEEE and The Open Group Standard, the  origi‐
nal IEEE and
       The Open Group Standard is the referee document. The orig‐
inal
       Standard    can    be    obtained     online     at     <a
href="http://www.unix.org/online.html">http://www.unix.org/on‐
line.html</a> .

       Any typographical or formatting errors that appear in this
page are
       most  likely to have been introduced during the conversion
of the
       source files to man page format. To  report  such  errors,
see
       <a      href="https://www.kernel.org/doc/man‐pages/report‐
ing_bugs.html">https://www.kernel.org/doc/man‐pages/report‐
ing_bugs.html</a> .

<span  class="footline">IEEE/The  Open Group                 2013
signal.h(0P)</span> </pre>

<hr class="end‐man‐text" />

<hr class="start‐footer" />

<div class="footer">

<table class="colophon‐table">
    <tr>
    <td class="pub‐info">
        <p>
            HTML rendering created 2019‐08‐02
            by  <a  href="http://man7.org/mtk/index.html">Michael
Kerrisk</a>,
            author of
            <a  href="http://man7.org/tlpi/"><em>The  Linux  Pro‐
gramming Interface</em></a>,
            maintainer of the
            <a href="https://www.kernel.org/doc/man‐pages/">Linux
<em>man‐pages</em> project</a>.
        </p>
        <p>
            For details of in‐depth
            <strong>Linux/UNIX  system programming training cour‐
ses</strong>
            that I teach,  look  <a  href="http://man7.org/train‐
ing/">here</a>.
        </p>
        <p>
            Hosting    by    <a   href="http://www.jambit.com/in‐
dex_en.html">jambit GmbH</a>.
        </p>
        <p>
            <a href="http://validator.w3.org/check?uri=referer">
            <img src="http://www.w3.org/Icons/valid‐xhtml11"
                alt="Valid XHTML 1.1" height="31" width="88" />
            </a>
        </p>
    </td>
    <td class="colophon‐divider">
    </td>
    <td class="tlpi‐cover">
        <a                      href="http://man7.org/tlpi/"><img
src="http://man7.org/tlpi/cover/TLPI‐front‐cover‐vsmall.png"
alt="Cover of TLPI" /></a>
    </td>
    </tr> </table>

</div>

<hr class="end‐footer" />

</body> </html>