pthread_attr_destroy(3) [netbsd man page]
PTHREAD_ATTR(3) BSD Library Functions Manual PTHREAD_ATTR(3) NAME
pthread_attr_init, pthread_attr_destroy -- thread attribute operations LIBRARY
POSIX Threads Library (libpthread, -lpthread) 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 to pthread_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 implemen- tation, 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 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
pthread_create(3), pthread_join(3) STANDARDS
Both pthread_attr_init() and pthread_attr_destroy() conform to IEEE Std 1003.1-2001 (``POSIX.1''). BSD
July 9, 2010 BSD
Check Out this Related Man Page
pthread_attr_init(3C) pthread_attr_init(3C) NAME
pthread_attr_init, pthread_attr_destroy - initialize or destroy threads attribute object SYNOPSIS
cc -mt [ flag... ] file... -lpthread [ library... ] #include <pthread.h> int pthread_attr_init(pthread_attr_t *attr); int pthread_attr_destroy(pthread_attr_t *attr); The function pthread_attr_init() initializes a thread attributes object attr with the default value for all of the individual attributes used by a given implementation. The resulting attribute object (possibly modified by setting individual attribute values), when used by pthread_create(), defines the attributes of the thread created. A single attributes object can be used in multiple simultaneous calls to pthread_create(). The pthread_attr_init() function initializes a thread attributes object ( attr) with the default value for each attribute as follows: Attribute Default Value Meaning of Default contentionscope PTHREAD_SCOPE_PROCESS resource competition within process detachstate PTHREAD_CREATE_JOINABLE joinable by other threads stackaddr NULL stack allocated by system stacksize NULL 1 or 2 megabyte priority 0 priority of the thread policy SCHED_OTHER determined by system inheritsched PTHREAD_EXPLICIT_SCHED scheduling policy and parameters not inherited but explicitly defined by the attribute object guardsize PAGESIZE size of guard area for a thread's created stack The pthread_attr_destroy() function destroys a thread attributes object ( attr), which cannot be reused until it is reinitialized. An implementation may cause pthread_attr_destroy() to set attr to an implementation-dependent invalid value. The behavior of using the attribute after it has been destroyed is undefined. Upon successful completion, pthread_attr_init() and pthread_attr_destroy() return a value of 0. Otherwise, an error number is returned to indicate the error. The pthread_attr_init() function will fail if: ENOMEM Insufficient memory exists to initialize the thread attributes object. The pthread_attr_destroy() function may fail if: EINVAL attr is invalid. See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ sysconf(3C), pthread_attr_getdetachstate(3C), pthread_attr_getguardsize(3C), pthread_attr_getinheritsched(3C), pthread_attr_getsched- param(3C), pthread_attr_getschedpolicy(3C), pthread_attr_getscope(3C), pthread_attr_getstackaddr(3C), pthread_attr_getstacksize(3C), pthread_attr_setdetachstate(3C), pthread_attr_setguardsize(3C), pthread_attr_setinheritsched(3C), pthread_attr_setschedparam(3C), pthread_attr_setschedpolicy(3C), pthread_attr_setscope(3C), pthread_attr_setstackaddr(3C), pthread_attr_setstacksize(3C), pthread_cre- ate(3C), attributes(5), standards(5) 23 Mar 2005 pthread_attr_init(3C)