pthread_rwlock_unlock(3)

pthread_rwlock_unlock3

Release a read/write lock

Usage

#include <pthread.h>

int

pthread_rwlock_unlock(pthread_rwlock_t *lock);

Library

POSIX Threads Library (libpthread, -lpthread)

Overview

The pthread_rwlock_unlock() function is used to release the read/write lock previously obtained by pthread_rwlock_rdlock(), pthread_rwlock_wrlock(), pthread_rwlock_tryrdlock(), or pthread_rwlock_trywrlock().

Return values

If successful, the pthread_rwlock_unlock() function will return zero. Otherwise an error number will be returned to indicate the error.

The results are undefined if lock is not held by the calling thread.

Errors

The pthread_rwlock_unlock() function may fail if:

[EINVAL]

The value specified by lock is invalid.

[EPERM]

The current thread does not own the read/write lock.

Releases

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

  1. 2.2.8
  2. 2.2.9
  3. 3.0–3.2
  4. 3.3–3.4
  5. 3.5–3.5.1
  6. 4.0
  7. 4.1–4.4
  8. 4.5–4.11
  9. 5.0–5.2.1
  10. 5.3–5.5
  11. 6.0–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_rwlock_unlock() function is expected to conform to Version 2 of the Single UNIX Specification (“SUSv2”).

History

The pthread_rwlock_unlock() function first appeared in FreeBSD 3.0.

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