PTHREAD_ATTR(3) | Library Functions Manual | PTHREAD_ATTR(3) |
int
pthread_attr_init(pthread_attr_t *attr);
int
pthread_attr_destroy(pthread_attr_t *attr);
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 contains 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 |
July 9, 2010 | NetBSD 6.1 |