pthread_mutex_init(3)

pthread_mutex_init3

Create a mutex

Usage

#include <pthread.h>

int

pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr);

Library

POSIX Threads Library (libpthread, -lpthread)

Overview

The pthread_mutex_init() function creates a new mutex, with attributes specified with attr. If attr is NULL the default attributes are used.

Return values

If successful, pthread_mutex_init() will return zero and put the new mutex id into mutex, otherwise an error number will be returned to indicate the error.

Errors

The pthread_mutex_init() function will fail if:

[EINVAL]

The value specified by attr is invalid.

[ENOMEM]

The process cannot allocate enough memory to create another mutex.

Releases

79 releases since FreeBSD 2.2.8-RELEASE; the text changed 42 times.

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

Standards

The pthread_mutex_init() 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.