Reference

pthread_attr_set_getinheritsched(3)

thread attribute operations

NAME

pthread_attr_getinheritsched, pthread_attr_setinheritsched – thread attribute operations

SYNOPSIS

#include <pthread.h>

int

pthread_attr_getinheritsched(const pthread_attr_t *restrict attr, int *restrict inheritsched);

int

pthread_attr_setinheritsched(pthread_attr_t *attr, int inheritsched);

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.

One of the thread attributes of interest is the "inheritsched" attribute. This attribute controls the scheduling policy and related attributes of the newly created thread. The values of the "inheritsched" attribute can be either PTHREAD_INHERIT_SCHED or PTHREAD_EXPLICIT_SCHED.

PTHREAD_INHERIT_SCHED

Indicates that the newly created thread should inherit all it's scheduling related attributes from it's creating thread. It ignores the values of the relevant attributes within the attr argument.

PTHREAD_EXPLICIT_SCHED

Indicates that the newly created thread should set it's scheduling related attributes based on attr argument.

The pthread_attr_setinheritsched() functions set the "inheritsched" attribute within the attr argument to the desired value.

The pthread_attr_getinheritsched() functions copy the value of the "inheritsched" attribute 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_getinheritsched() will fail if:

[EINVAL]

Invalid value for attr.

pthread_attr_setinheritsched() will fail if:

[EINVAL]

Invalid value for attr.

BUGS

The "inheritsched" attribute has no effect on Darwin. It is provided for compatibility only.

SEE ALSO

pthread_create(3), pthread_attr_init(3), pthread_attr_setschedparam(3)

STANDARDS

pthread_attr_setinheritsched(), pthread_attr_getinheritsched() conform to Version 2 of the Single UNIX Specification (“SUSv2”)

History