Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


SIGBLOCK(3)                Library Functions Manual                SIGBLOCK(3)

NAME
     sigblock - block signals

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <signal.h>

     int
     sigblock(int mask);

     int
     sigmask(signum);

DESCRIPTION
     This interface is made obsolete by: sigprocmask(2).

     sigblock() adds the signals specified in mask to the set of signals
     currently being blocked from delivery.  Signals are blocked if the
     corresponding bit in mask is a 1; the macro sigmask() is provided to
     construct the mask for a given signum.

     It is not possible to block SIGKILL or SIGSTOP; this restriction is
     silently imposed by the system.

RETURN VALUES
     The previous set of masked signals is returned.

EXAMPLES
     The following example using sigblock():

           int omask;

           omask = sigblock(sigmask(SIGINT) | sigmask(SIGHUP));

     Becomes:

           sigset_t set, oset;

           sigemptyset(&set);
           sigaddset(&set, SIGINT);
           sigaddset(&set, SIGHUP);
           sigprocmask(SIG_BLOCK, &set, &oset);

     Another use of sigblock() is to get the current set of masked signals
     without changing what is actually blocked.  Instead of:

           int set;

           set = sigblock(0);

     Use the following:

           sigset_t set;

           sigprocmask(SIG_BLOCK, NULL, &set);

SEE ALSO
     kill(2), sigaction(2), sigprocmask(2), sigsetmask(3), sigsetops(3)

HISTORY
     The sigblock() function call appeared in 4.2BSD and has been deprecated.

NetBSD 10.99                    August 10, 2002                   NetBSD 10.99