PTHREAD_ATTR(3) Library Functions Manual PTHREAD_ATTR(3)

pthread_attr_getinheritsched, pthread_attr_setinheritschedthread attribute operations

#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);

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.

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 () functions set the "inheritsched" attribute within the attr argument to the desired value.

The () functions copy the value of the "inheritsched" attribute 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.

pthread_attr_getinheritsched() will fail if:

[]
Invalid value for attr.

pthread_attr_setinheritsched() will fail if:

[]
Invalid value for attr.

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

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

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

December 31, 2007 macOS 15.0