MirBSD manpage: sigblock(3), sigmask(3)

SIGBLOCK(3)                BSD Programmer's Manual                 SIGBLOCK(3)

NAME

     sigblock - block signals

SYNOPSIS

     #include <signal.h>

     int
     sigblock(int mask);

     int
     sigmask(int 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 con-
     struct 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 utilizing 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.

MirBSD #10-current              March 10, 1991                               1

Generated on 2022-12-24 01:00:14 by $MirOS: src/scripts/roff2htm,v 1.113 2022/12/21 23:14:31 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2022 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.

Kontakt / Impressum & Datenschutzerklärung