The
pthread_attr_get_np() and
pthread_getattr_np() functions can be used to retrieve attributes of a running
thread. The result is stored to
attr.
For
pthread_attr_get_np()
attr should be initialized prior to the call by using
pthread_attr_init(3).
pthread_getattr_np() does this automatically.
For both functions
attr should be freed when it is not in use anymore with
pthread_attr_destroy(3).
Most fields of
attr are the same ones provided during thread creation time as a parameter to
pthread_create(3). The exceptions include:
•
The detach state -- a joinable thread may have detached itself after the creation.
•
The guard size, which may vary if the application has allocated its own thread stack.
•
The stack address and size; pthread_attr_get_np() will always return the thread's real stack address and size, regardless of the values in the original attributes structure.
The returned
pthread_attr_t structure is supposed to be used in conjunction with the
pthread_attr_get*() functions to retrieve individual values from the structure. When the returned
attr is no longer needed, it should be destroyed by using
pthread_attr_destroy(3).