NAME
pthread_attr_init
,
pthread_attr_destroy
—
thread attribute operations
LIBRARY
library “libpthread”
SYNOPSIS
#include
<pthread.h>
int
pthread_attr_init
(pthread_attr_t
*attr);
int
pthread_attr_destroy
(pthread_attr_t
*attr);
DESCRIPTION
Thread attributes are used to specify parameters topthread_create
().
One attribute object can be used in multiple calls to
pthread_create
(), with or without modifications
between the calls. The pthread_attr_t type is an opaque
representation of the thread attributes; any access to the object other than
via the described
pthread_attr_*
()
functions may result in undefined behavior.
The
pthread_attr_init
()
function initializes attr with the default thread
attributes used in the implementation. Depending on the implementation,
undefined behavior may follow if an uninitialized thread attribute object is
used with some of the thread attribute functions. It is therefore a good
practice to always use pthread_attr_init
(), even if
this might be unnecessary. Undefined behavior may also follow if an already
initialized attr is used with
pthread_attr_init
().
When the attribute object is no longer
needed, it should be destroyed by using
pthread_attr_destroy
().
The function has no effect on threads that were created by using a given
attribute object. A destroyed attr can be
reinitialized using pthread_attr_init
(), but all
other actions with the destroyed object are unspecified.
The following standard thread attribute functions are available:
Function | Description |
pthread_attr_getdetachstate(3) | thread detach state |
pthread_attr_getguardsize(3) | thread guard size |
pthread_attr_getinheritsched(3) | inherit scheduler attribute |
pthread_attr_getschedparam(3) | thread scheduling parameter |
pthread_attr_getschedpolicy(3) | thread scheduling policy |
pthread_attr_getscope(3) | thread contention scope |
pthread_attr_getstack(3) | thread stack |
pthread_attr_getstacksize(3) | thread stack size |
pthread_attr_getstackaddr(3) | thread stack address |
Each listed
pthread_attr_get*
()
function has a
pthread_attr_set*
()
counterpart. In addition, the following NetBSD
specific extensions are available:
Function | Description |
pthread_attr_get_np(3) | attributes of a running thread |
pthread_attr_getname_np(3) | descriptive name of an attribute |
RETURN VALUES
If successful, these functions return 0. Otherwise, an error number is returned to indicate the error.
ERRORS
No errors are defined for
pthread_attr_init
() and
pthread_attr_destroy
().
SEE ALSO
STANDARDS
Both pthread_attr_init
() and
pthread_attr_destroy
() conform to
IEEE Std 1003.1-2001 (“POSIX.1”).