NAME
pthread_attr_get_np
,
pthread_getattr_np
—
get attributes of existing
thread
LIBRARY
library “libpthread”
SYNOPSIS
#include
<pthread.h>
int
pthread_attr_get_np
(pthread_t
thread, pthread_attr_t
*attr);
int
pthread_getattr_np
(pthread_t
thread, pthread_attr_t
*attr);
DESCRIPTION
Thepthread_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).
RETURN VALUES
Upon successful completion,
pthread_attr_get_np
() and
pthread_getattr_np
() return 0. Otherwise an error
number is returned to indicate the error.
COMPATIBILITY
The pthread_attr_get_np
() and
pthread_getattr_np
() functions are non-standard
extensions.
ERRORS
The pthread_attr_get_np
() and
pthread_getattr_np
() functions will fail if:
- [
ENOMEM
] - Insufficient memory.
- [
ESRCH
] - Non-existent thread.