PTHREAD_ATTR(3)

NAME
pthread_attr_destroy, pthread_attr_getdetachstate, pthread_attr_getinheritsched, pthread_attr_getschedparam, pthread_attr_getschedpolicy, pthread_attr_getscope, pthread_attr_getstackaddr, pthread_attr_getstacksize, pthread_attr_init, pthread_attr_setdetachstate, pthread_attr_setinheritsched, pthread_attr_setschedparam, pthread_attr_setschedpolicy, pthread_attr_setscope, pthread_attr_setstackaddr, pthread_attr_setstacksize - thread attribute operations

SYNOPSIS
#include <pthread.h>
int
pthread_attr_destroy(pthread_attr_t *attr);
int
pthread_attr_getdetachstate(const pthread_attr_t *attr, int *detachstate);
int
pthread_attr_getinheritsched(const pthread_attr_t *restrict attr, int *restrict inheritsched);
int
pthread_attr_getschedparam(const pthread_attr_t *restrict attr, struct sched_param *restrict param);
int
pthread_attr_getschedpolicy(const pthread_attr_t *restrict attr, int *restrict policy);
int
pthread_attr_getscope(const pthread_attr_t *restrict attr, int *restrict contentionscope);
int
pthread_attr_getstackaddr(const pthread_attr_t *restrict attr, void **restrict stackaddr);
int
pthread_attr_getstacksize(const pthread_attr_t *restrict attr, size_t *restrict stacksize);
int
pthread_attr_init(pthread_attr_t *attr);
int
pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);
int
pthread_attr_setinheritsched(pthread_attr_t *attr, int inheritsched);
int
pthread_attr_setschedparam(pthread_attr_t *restrict attr, const struct sched_param *restrict param);
int
pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy);
int
pthread_attr_setscope(pthread_attr_t *attr, int contentionscope);
int
pthread_attr_setstackaddr(pthread_attr_t *attr, void *stackaddr);
int
pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize);

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
pthread_attr_init() will fail if:

[ENOMEM]
    Out of memory.

pthread_attr_destroy() will fail if:

[EINVAL]
    Invalid value for attr.

pthread_attr_setstacksize() will fail if:

[EINVAL]
    Invalid value for attr.

[EINVAL]
    stacksize is less than PTHREAD_STACK_MIN.

[EINVAL]
    stacksize is not a multiple of the system page size.

pthread_attr_setdetachstate() will fail if:

[EINVAL]
    Invalid value for attr or detachstate.

pthread_attr_setinheritsched() will fail if:

[EINVAL]
    Invalid value for attr.

pthread_attr_setschedparam() will fail if:

[EINVAL]
    Invalid value for attr.

[ENOTSUP]
    Invalid value for param.

pthread_attr_setschedpolicy() will fail if:

[EINVAL]
    Invalid value for attr.

[ENOTSUP]
    Invalid or unsupported value for policy.

pthread_attr_setscope() will fail if:

[EINVAL]
    Invalid value for attr.

[ENOTSUP]
    Invalid or unsupported value for contentionscope.

SEE ALSO
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() conform to p1003.1-96

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() conform to susv2