pthread_attr_setinheritsched, pthread_attr_getinheritsched - set and get inheritsched attribute (REALTIME THREADS)
#include <pthread.h> int pthread_attr_setinheritsched(pthread_attr_t *attr, int inheritsched); int pthread_attr_getinheritsched(const 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 zero. Otherwise, an error number is returned to indicate the error.
The pthread_attr_setinheritsched() and pthread_attr_getinheritsched() functions will fail if:
- [ENOSYS]
- The option _POSIX_THREAD_PRIORITY_SCHEDULING is not defined and the implementation does not support the function.
The pthread_attr_setinheritsched() function may fail if:
- [EINVAL]
- The value of the attribute being set is not valid.
- [ENOTSUP]
- An attempt was made to set the attribute to an unsupported value.
None.
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.
None.
pthread_attr_init(), pthread_attr_setscope(), pthread_attr_setschedpolicy(), pthread_attr_setschedparam(), pthread_create(), <pthread.h>, pthread_setschedparam(), <sched.h>.
Derived from the POSIX Threads Extension (1003.1c-1995)