Mac Developer Library Developer


This manual page is part of Xcode Tools version 5.0

To obtain these tools:

If you are running a version of Xcode Tools other than 5.0, view the documentation locally:

  • In Xcode

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

SIGPROCMASK(2)              BSD System Calls Manual             SIGPROCMASK(2)

     sigprocmask -- manipulate current signal mask

     #include <signal.h>

     sigprocmask(int how, const sigset_t *restrict set, sigset_t *restrict oset);

     The sigprocmask() function examines and/or changes the current signal mask (those signals that are
     blocked from delivery).  Signals are blocked if they are members of the current signal mask set.

     If set is not null, the action of sigprocmask() depends on the value of the parameter how.  The signal
     mask is changed as a function of the specified set and the current mask.  The function is specified by
     how using one of the following values from <signal.h>:

     SIG_BLOCK    The new mask is the union of the current mask and the specified set.

     SIG_UNBLOCK  The new mask is the intersection of the current mask and the complement of the specified

     SIG_SETMASK  The current mask is replaced by the specified set.

     If oset is not null, it is set to the previous value of the signal mask.  When set is null, the value
     of how is insignificant and the mask remains unset providing a way to examine the signal mask without

     The system quietly disallows SIGKILL or SIGSTOP to be blocked.

     A 0 value indicated that the call succeeded.  A -1 return value indicates an error occurred and errno
     is set to indicated the reason.

     The sigprocmask() call will fail and the signal mask will be unchanged if one of the following occurs:

     [EINVAL]           how has a value other than those listed here.

     kill(2), sigaction(2), sigsuspend(2), sigsetops(3)

     The sigprocmask() function call is expected to conform to IEEE Std 1003.1-1988 (``POSIX.1'').

BSD                              June 4, 1993                              BSD

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.