Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SIGPROCMASK(2)		  FreeBSD System Calls Manual		SIGPROCMASK(2)

NAME
     sigprocmask -- manipulate current signal mask

SYNOPSIS
     #include <signal.h>

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

DESCRIPTION
     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,	which can be one of the	following values:

     SIG_BLOCK	  The new mask is the union of the current mask	and the	speci-
		  fied set.

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

     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
     unchanged,	providing a way	to examine the signal mask without modifica-
     tion.

     The system	quietly	disallows SIGKILL or SIGSTOP to	be blocked.

     Only signals which	are in the pending state will be blocked.  Signals
     that are explicitly ignored or for	which no handler has been installed
     and where the default action is to	discard	the signal are not held	as
     pending and will be discarded regardless of the signal mask.

     Blocked signals remain in the pending state until another call to
     sigprocmask() removes the pending signal(s) from the mask.	 If there are
     unblocked signals that are	pending	after the signal mask is updated, at
     least one will be delivered before	sigprocmask() returns.

RETURN VALUES
     Upon successful completion, the value 0 is	returned; otherwise the
     value -1 is returned and the global variable errno	is set to indicate the
     error.

ERRORS
     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.

SEE ALSO
     kill(2), sigaction(2), sigpending(2), sigsuspend(2), sigaddset(3)

STANDARDS
     The sigprocmask() function	conforms to IEEE Std 1003.1-2008 ("POSIX.1").

FreeBSD	13.0			 May 29, 2017			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=sigprocmask&sektion=2&manpath=OpenBSD+6.9>

home | help