PTHREAD_SIGMASK(3) | Library Functions Manual | PTHREAD_SIGMASK(3)

# NAME

`pthread_sigmask` —
examine and/or change a thread's signal mask

# LIBRARY

POSIX Threads Library (libpthread, -lpthread)

# SYNOPSIS

`#include <signal.h>`

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

# DESCRIPTION

The `pthread_sigmask`() function examines and/or changes the calling thread's signal mask.

If set is not `NULL`, it specifies a set of signals to be modified, and how specifies what to set the signal mask to:

`SIG_BLOCK`
  Union of the current mask and set.
`SIG_UNBLOCK`
  Intersection of the current mask and the complement of set.
`SIG_SETMASK`
  set.

If oset is not `NULL`, the previous signal mask is stored in the location pointed to by oset.

`SIGKILL` and `SIGSTOP` cannot be blocked, and will be silently ignored if included in the signal mask.

# RETURN VALUES

If successful, `pthread_sigmask`() returns 0. Otherwise, an error is returned.

# ERRORS

`pthread_sigmask`() shall fail if:

[`EINVAL`]
  how is not one of the defined values.

# SEE ALSO

sigaction(2), sigpending(2), sigprocmask(2), sigsuspend(2), sigwait(2), sigsetops(3)

# STANDARDS

The function conforms to IEEE Std 1003.1-2001 (“POSIX.1”).

July 9, 2010 | NetBSD 9.3