PTHREAD_ATTR_GETINHERITSCHED(3C) Standard C Library Functions PTHREAD_ATTR_GETINHERITSCHED(3C)

pthread_attr_getinheritsched, pthread_attr_setinheritsched - get or set inheritsched attribute

cc -mt [ flag... ] file... -lpthread [ library... ]
#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);

The functions pthread_attr_setinheritsched() and pthread_attr_getinheritsched(), respectively, set and get the inheritsched attribute in the attr argument.

When the attribute objects are used by pthread_create(), the inheritsched attribute determines how the other scheduling attributes of the created thread are to be set:

PTHREAD_INHERIT_SCHED

Specifies that the scheduling policy and associated attributes are to be inherited from the creating thread, and the scheduling attributes in this attr argument are to be ignored.

PTHREAD_EXPLICIT_SCHED

Specifies that the scheduling policy and associated attributes are to be set to the corresponding values from this attribute object.

The symbols PTHREAD_INHERIT_SCHED and PTHREAD_EXPLICIT_SCHED are defined in the header <pthread.h>.

If successful, the pthread_attr_setinheritsched() and pthread_attr_getinheritsched() functions return 0. Otherwise, an error number is returned to indicate the error.

The pthread_attr_setinheritsched() or pthread_attr_getinheritsched() functions may fail if:

EINVAL

attr or inheritsched is invalid.

After these attributes have been set, a thread can be created with the specified attributes using pthread_create(). Using these routines does not affect the current running thread.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Standard
MT-Level MT-Safe

pthread_attr_getschedparam(3C), pthread_attr_init(3C), pthread_attr_setschedpolicy(3C), pthread_attr_setscope(3C), pthread_create(3C), pthread_setschedparam(3C), attributes(7), standards(7)

March 23, 2005 OmniOS