| PTHREAD_ATTR_GET_NP(3) | Library Functions Manual | PTHREAD_ATTR_GET_NP(3) | 
NAME
 pthread_attr_get_np — get attributes of existing thread
LIBRARY
 POSIX Threads Library (libpthread, -lpthread)
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
 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).
 
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.