pthread_getspecific(3)

pthread_getspecific3

Get a thread-specific data value

Usage

#include <pthread.h>

void *

pthread_getspecific(pthread_key_t key);

Library

POSIX Threads Library (libpthread, -lpthread)

Overview

The pthread_getspecific() function returns the value currently bound to the specified key on behalf of the calling thread.

The effect of calling pthread_getspecific() with a key value not obtained from pthread_key_create() or after key has been deleted with pthread_key_delete() is undefined.

The pthread_getspecific() function may be called from a thread-specific data destructor function. A call to pthread_getspecific() for the thread-specific data key being destroyed returns the value NULL, unless the value is changed (after the destructor starts) by a call to pthread_setspecific().

Return values

The pthread_getspecific() function will return the thread-specific data value associated with the given key. If no thread-specific data value is associated with key, then the value NULL is returned.

Errors

None.

Releases

80 releases since FreeBSD 2.2.7-RELEASE; the text changed 45 times.

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

Standards

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