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 0 1 or 2 megabyte
priority 0 priority of the thread
policy SCHED_OTHER traditional time-sharing policy
inheritsched PTHREAD_INHERIT_SCHED scheduling policy and parameters
are inherited from the creating
thread
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.
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(7) for descriptions of the following attributes:
+--------------------+-------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------+
|Interface Stability | Committed |
+--------------------+-------------------+
|MT-Level | MT-Safe |
+--------------------+-------------------+
|Standard | See
standards(7). |
+--------------------+-------------------+
SEE ALSO
pthread_attr_get_np(3C),
pthread_attr_getdetachstate(3C),
pthread_attr_getguardsize(3C),
pthread_attr_getinheritsched(3C),
pthread_attr_getschedparam(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),
sysconf(3C),
attributes(7),
standards(7) December 10, 2015 PTHREAD_ATTR_INIT(3C)