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_getguardsizethread 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 (). One attribute object can be used in multiple calls to pthread_create(), with or without modifications between calls.

The () function initializes attr with all the default thread attributes.

The () function destroys attr.

The () functions set the attribute that corresponds to each function name.

The () 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:

[]
Out of memory.

The pthread_attr_destroy() function will fail if:

[]
Invalid value for attr.

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.2