pthread_attr_get_np(3)
NAME
pthread_attr_get_np - get attributes of existent thread
LIBRARY
library ``libc_r'' library ``libpthread'' library ``libthr''
SYNOPSIS
#include <pthread_np.h> int pthread_attr_get_np(pthread_t pid, pthread_attr_t *dst);
DESCRIPTION
- The pthread_attr_get_np() function is used to get existent
- thread's
attributes. Most fields of pthread_attr_t structure are ex - act values of
attributes provided at thread creation time (as parameter to
pthread_create(3) function), except for the stack address. - Value returned as dst is supposed to be used in conjunction
- with
pthread_attr_get*() functions to retrieve individual values - from
pthread_attr_t structure. Parameter dst should point to al - located memory
area big enough to fit this structure. - It is HIGHLY RECOMMENDED to use pthread_attr_init(3) func
- tion to allocate
attribute storage.
IMPLEMENTATION NOTES
- The pthread_attr_get_np() function will always return a
- pointer to the
thread's real stack address, regardless of its value in the - original
attributes structure.
RETURN VALUES
- If successful, pthread_attr_get_np() function returns 0.
- Otherwise, an
error number is returned to indicate the error.
EXAMPLES
- size_t
my_thread_stack_size(pthread_t pid)
{ - pthread_attr_t attr;
size_t size; - pthread_attr_init(&attr);
pthread_attr_get_np(pid, &attr);
pthread_attr_getstacksize(&attr, &size);
pthread_attr_destroy(&attr);
return(size); - }
ERRORS
The pthread_attr_get_np() function will fail if:
- [EINVAL] Invalid value for one of given parame
- ters.
- [ESRC] No thread could be found corresponding to
- that speci
- fied by the given thread ID.
SEE ALSO
- pthread_attr_destroy(3), pthread_attr_getdetachstate(3),
pthread_attr_getinheritsched(3), pthread_attr_getsched - param(3),
pthread_attr_getschedpolicy(3), pthread_attr_getscope(3),
pthread_attr_getstack(3), pthread_attr_getstackaddr(3),
pthread_attr_getstacksize(3), pthread_attr_init(3)
AUTHORS
- The pthread_attr_get_np() function and this manual page were
- written by
Alexey Zelkin <phantom@FreeBSD.org>. - BSD January 31, 2003