pthread_sigmask(3)

pthread_sigmask3

Examine and/or change a thread's signal mask

Usage

#include <pthread.h>

#include <signal.h>

int

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

Library

POSIX Threads Library (libpthread, -lpthread)

Overview

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

The pthread_sigmask() function will fail if:

[EINVAL]

how is not one of the defined values.

Releases

69 releases since FreeBSD 4.1-RELEASE; the text changed 38 times.

  1. 4.1–4.2
  2. 4.3
  3. 4.4
  4. 4.5–4.11
  5. 5.0
  6. 5.1–5.2.1
  7. 5.3–6.3
  8. 6.4
  9. 7.0
  10. 7.1
  11. 7.2
  12. 7.3
  13. 7.4
  14. 8.0
  15. 8.1
  16. 8.2
  17. 8.3
  18. 8.4
  19. 9.0
  20. 9.1
  21. 9.2
  22. 9.3
  23. 10.0
  24. 10.1
  25. 10.2
  26. 10.3
  27. 10.4
  28. 11.0
  29. 11.1
  30. 11.2
  31. 11.3
  32. 11.4
  33. 12.0
  34. 12.1
  35. 12.2
  36. 12.3
  37. 12.4
  38. 13.0–13.2
  39. 13.3–16.0

Standards

The pthread_sigmask() function conforms to ISO/IEC 9945-1:1996 (“POSIX.1”)

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.