pthread_mutex_trylock(3)

pthread_mutex_trylock3

Attempt to lock a mutex without blocking

Usage

#include <pthread.h>

int

pthread_mutex_trylock(pthread_mutex_t *mutex);

Library

POSIX Threads Library (libpthread, -lpthread)

Overview

The pthread_mutex_trylock() function locks mutex. If the mutex is already locked, pthread_mutex_trylock() will not block waiting for the mutex, but will return an error condition.

Return values

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

Errors

The pthread_mutex_trylock() function will fail if:

[EINVAL]

The value specified by mutex is invalid.

[EBUSY]

Mutex is already locked.

[EOWNERDEAD]

The argument mutex points to a robust mutex and the process containing the previous owning thread terminated while holding the mutex lock. The lock was granted to the caller and it is up to the new owner to make the state consistent.

[ENOTRECOVERABLE]

The state protected by the mutex is not recoverable.

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_trylock() 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.