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(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
|Standard |See standards(5). |
+-----------------------------+-----------------------------+
SEE ALSO 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)SunOS 5.11 1 Apr 2008 pthread_attr_init(3C)
Check Out this Related Man Page
PTHREAD_ATTR(3) BSD Library Functions Manual PTHREAD_ATTR(3)NAME
pthread_attr_init, pthread_attr_destroy, pthread_attr_setstack, pthread_attr_getstack, pthread_attr_setguardsize, pthread_attr_getguardsize
-- thread attribute operations
SYNOPSIS
#include <pthread.h>
int
pthread_attr_init(pthread_attr_t *attr);
int
pthread_attr_destroy(pthread_attr_t *attr);
int
pthread_attr_setstack(pthread_attr_t *attr, void *stackaddr, size_t stacksize);
int
pthread_attr_getstack(const pthread_attr_t * restrict attr, void ** restrict stackaddr, size_t * restrict stacksize);
int
pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize);
int
pthread_attr_getstacksize(const pthread_attr_t *attr, size_t *stacksize);
int
pthread_attr_setguardsize(pthread_attr_t *attr, size_t guardsize);
int
pthread_attr_getguardsize(const pthread_attr_t *attr, size_t *guardsize);
int
pthread_attr_setstackaddr(pthread_attr_t *attr, void *stackaddr);
int
pthread_attr_getstackaddr(const pthread_attr_t *attr, void **stackaddr);
int
pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);
int
pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detachstate);
int
pthread_attr_setinheritsched(pthread_attr_t *attr, int inheritsched);
int
pthread_attr_getinheritsched(const pthread_attr_t *attr, int *inheritsched);
int
pthread_attr_setschedparam(pthread_attr_t *attr, const struct sched_param *param);
int
pthread_attr_getschedparam(const pthread_attr_t *attr, struct sched_param *param);
int
pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy);
int
pthread_attr_getschedpolicy(const pthread_attr_t *attr, int *policy);
int
pthread_attr_setscope(pthread_attr_t *attr, int contentionscope);
int
pthread_attr_getscope(const pthread_attr_t *attr, int *contentionscope);
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 calls.
The pthread_attr_init() function initializes attr with all the default thread attributes.
The pthread_attr_destroy() function destroys attr.
The pthread_attr_set*() functions set the attribute that corresponds to each function name.
The pthread_attr_get*() functions copy the value of the attribute that corresponds to each function name to the location pointed to by the
second function parameter.
RETURN VALUES
If successful, these functions return 0. Otherwise, an error number is returned to indicate the error.
ERRORS
The pthread_attr_init() function will fail if:
[ENOMEM] Out of memory.
The pthread_attr_destroy() function will fail if:
[EINVAL] Invalid value for attr.
SEE ALSO pthread_attr_affinity_np(3), pthread_attr_get_np(3), pthread_create(3)STANDARDS
pthread_attr_init(), pthread_attr_destroy(), pthread_attr_setstacksize(), pthread_attr_getstacksize(), pthread_attr_setstackaddr(),
pthread_attr_getstackaddr(), pthread_attr_setdetachstate(), and pthread_attr_getdetachstate() functions conform to ISO/IEC 9945-1:1996
(``POSIX.1'')
The pthread_attr_setinheritsched(), pthread_attr_getinheritsched(), pthread_attr_setschedparam(), pthread_attr_getschedparam(),
pthread_attr_setschedpolicy(), pthread_attr_getschedpolicy(), pthread_attr_setscope(), and pthread_attr_getscope() functions conform to
Version 2 of the Single UNIX Specification (``SUSv2'')
BSD January 8, 2010 BSD