pthread_attr_init(3C) Standard C Library Functions 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);
DESCRIPTION
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 implemen‐
tation may cause pthread_attr_destroy() to set attr to an implementa‐
tion-dependent invalid value. The behavior of using the attribute after
it has been destroyed is undefined.
RETURN VALUES
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.
ERRORS
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.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Standard │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │MT-Safe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOsysconf(3C), pthread_attr_getdetachstate(3C), pthread_attr_getguard‐
size(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_create(3C), attributes(5), standards(5)SunOS 5.10 23 Mar 2005 pthread_attr_init(3C)