PTHREAD_ATTR(3) | Library Functions Manual | PTHREAD_ATTR(3) |
pthread_attr_init
,
pthread_attr_destroy
,
pthread_attr_setstack
,
pthread_attr_getstack
,
pthread_attr_setguardsize
,
pthread_attr_getguardsize
—
thread attribute operations
#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);
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.
If successful, these functions return 0. Otherwise, an error number is returned to indicate the error.
The pthread_attr_init
() function will fail
if:
ENOMEM
]The pthread_attr_destroy
() function will
fail if:
EINVAL
]pthread_attr_affinity_np(3), pthread_attr_get_np(3), pthread_create(3)
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”)
January 8, 2010 | macOS 15.0 |