Content-type: text/html
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(5) 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_setscope(3C), pthread_attr_setschedpolicy(3C), pthread_create(3C), pthread_setschedparam(3C), attributes(5), standards(5)