PTHREAD_ATTR_GET_NP(3) BSD 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 auto-
matically.
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:
o The detach state -- a joinable thread may have detached itself after the creation.
o The guard size, which may vary if the application has allocated its own thread stack.
o 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.
SEE ALSO pthread(3), pthread_attr(3)BSD August 6, 2010 BSD
Check Out this Related Man Page
PTHREAD_ATTR(3) BSD Library Functions Manual PTHREAD_ATTR(3)NAME
pthread_attr_init, pthread_attr_destroy, pthread_attr_setstack, pthread_attr_getstack, pthread_attr_setguardsize, pthread_attr_getguardsize
-- thread attribute operations
SYNOPSIS
#include <pthread.h>
int
pthread_attr_init(pthread_attr_t *attr);
int
pthread_attr_destroy(pthread_attr_t *attr);
int
pthread_attr_setstack(pthread_attr_t *attr, void *stackaddr, size_t stacksize);
int
pthread_attr_getstack(const pthread_attr_t * restrict attr, void ** restrict stackaddr, size_t * restrict stacksize);
int
pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize);
int
pthread_attr_getstacksize(const pthread_attr_t *attr, size_t *stacksize);
int
pthread_attr_setguardsize(pthread_attr_t *attr, size_t guardsize);
int
pthread_attr_getguardsize(const pthread_attr_t *attr, size_t *guardsize);
int
pthread_attr_setstackaddr(pthread_attr_t *attr, void *stackaddr);
int
pthread_attr_getstackaddr(const pthread_attr_t *attr, void **stackaddr);
int
pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);
int
pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detachstate);
int
pthread_attr_setinheritsched(pthread_attr_t *attr, int inheritsched);
int
pthread_attr_getinheritsched(const pthread_attr_t *attr, int *inheritsched);
int
pthread_attr_setschedparam(pthread_attr_t *attr, const struct sched_param *param);
int
pthread_attr_getschedparam(const pthread_attr_t *attr, struct sched_param *param);
int
pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy);
int
pthread_attr_getschedpolicy(const pthread_attr_t *attr, int *policy);
int
pthread_attr_setscope(pthread_attr_t *attr, int contentionscope);
int
pthread_attr_getscope(const pthread_attr_t *attr, int *contentionscope);
DESCRIPTION
Thread attributes are used to specify parameters to pthread_create(). One attribute object can be used in multiple calls to
pthread_create(), with or without modifications between calls.
The pthread_attr_init() function initializes attr with all the default thread attributes.
The pthread_attr_destroy() function destroys attr.
The pthread_attr_set*() functions set the attribute that corresponds to each function name.
The pthread_attr_get*() functions copy the value of the attribute that corresponds to each function name to the location pointed to by the
second function parameter.
RETURN VALUES
If successful, these functions return 0. Otherwise, an error number is returned to indicate the error.
ERRORS
The pthread_attr_init() function will fail if:
[ENOMEM] Out of memory.
The pthread_attr_destroy() function will fail if:
[EINVAL] Invalid value for attr.
SEE ALSO pthread_attr_affinity_np(3), pthread_attr_get_np(3), pthread_create(3)STANDARDS
pthread_attr_init(), pthread_attr_destroy(), pthread_attr_setstacksize(), pthread_attr_getstacksize(), pthread_attr_setstackaddr(),
pthread_attr_getstackaddr(), pthread_attr_setdetachstate(), and pthread_attr_getdetachstate() functions conform to ISO/IEC 9945-1:1996
(``POSIX.1'')
The pthread_attr_setinheritsched(), pthread_attr_getinheritsched(), pthread_attr_setschedparam(), pthread_attr_getschedparam(),
pthread_attr_setschedpolicy(), pthread_attr_getschedpolicy(), pthread_attr_setscope(), and pthread_attr_getscope() functions conform to
Version 2 of the Single UNIX Specification (``SUSv2'')
BSD January 8, 2010 BSD