pthread_attr_getinheritsched¶
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);
Status¶
Implemented
Conformance¶
IEEE Std 1003.1-2017
Description¶
The pthread_attr_getinheritsched() and pthread_attr_setinheritsched() functions, respectively, shall get and set the
inheritsched attribute in the attr argument.
When the attributes objects are used by pthread_create(), the inheritsched attribute determines how the other
scheduling attributes of the created thread shall be set.
The supported values of inheritsched shall be:
PTHREAD_INHERIT_SCHED- Specifies that the thread scheduling attributes shall be inherited from the creating thread, and the scheduling attributes in this attr argument shall be ignored.PTHREAD_EXPLICIT_SCHED- Specifies that the thread scheduling attributes shall be set to the corresponding values from this attributes object.
The symbols PTHREAD_INHERIT_SCHED and PTHREAD_EXPLICIT_SCHED are defined in the <pthread.h> header. In
Phoenix-RTOS the default value of the attribute is PTHREAD_EXPLICIT_SCHED.
The following thread scheduling attributes defined by POSIX.1-2017 are affected by the inheritsched attribute:
scheduling policy (schedpolicy), scheduling parameters (schedparam), and scheduling contention scope
(contentionscope). Phoenix-RTOS supports only the SCHED_RR policy and the PTHREAD_SCOPE_SYSTEM contention scope,
so only the priority of the created thread depends on the inheritsched attribute.
The behavior is undefined if the value specified by the attr argument to pthread_attr_getinheritsched() or
pthread_attr_setinheritsched() does not refer to an initialized thread attributes object.
Return value¶
If successful, the pthread_attr_getinheritsched() and pthread_attr_setinheritsched() functions shall return zero;
otherwise, an error number shall be returned to indicate the error.
Errors¶
The pthread_attr_setinheritsched() function shall fail if:
ENOTSUP- An attempt was made to set the attribute to an unsupported value.
The pthread_attr_setinheritsched() function may fail if:
EINVAL- The value of inheritsched is not valid.
These functions shall not return an error code of EINTR.
POSIX deviations¶
No POSIX deviations discovered.