January 7, 2006 PTHREAD_SIGMASK 3

### NAME

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

### LIBRARY

POSIX Thread Library (libpthread, -lpthread)

### SYNOPSIS

```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

pthread_sigmask(``) conforms to ISO/IEC 9945-1:1996 (``POSIX.1'')