pthread_mutex_unlock(3)

pthread_mutex_unlock3

Unlock a mutex

Usage

#include <pthread.h>

int

pthread_mutex_unlock(pthread_mutex_t *mutex);

Library

POSIX Threads Library (libpthread, -lpthread)

Overview

If the current thread holds the lock on mutex, then the pthread_mutex_unlock() function unlocks mutex.

If the argument pointed by the mutex is a robust mutex in the inconsistent state, and the call to pthread_mutex_consistent() function was not done prior to unlocking, further locking attempts on the mutex mutex are denied and locking functions return ENOTRECOVERABLE error.

Return values

If successful, pthread_mutex_unlock() will return zero, otherwise an error number will be returned to indicate the error.

Errors

The pthread_mutex_unlock() function will fail if:

[EINVAL]

The value specified by mutex is invalid.

[EPERM]

The current thread does not hold a lock on mutex.

Releases

79 releases since FreeBSD 2.2.8-RELEASE; the text changed 43 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.6.2
  9. 4.7–4.11
  10. 5.0
  11. 5.1–5.2.1
  12. 5.3–6.3
  13. 6.4
  14. 7.0
  15. 7.1
  16. 7.2
  17. 7.3
  18. 7.4
  19. 8.0
  20. 8.1
  21. 8.2
  22. 8.3
  23. 8.4
  24. 9.0
  25. 9.1
  26. 9.2
  27. 9.3
  28. 10.0
  29. 10.1
  30. 10.2
  31. 10.3
  32. 10.4
  33. 11.0
  34. 11.1
  35. 11.2
  36. 11.3
  37. 11.4
  38. 12.0
  39. 12.1
  40. 12.2
  41. 12.3
  42. 12.4
  43. 13.0–13.2
  44. 13.3–16.0

Standards

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