NAME
pthread_attr_getinheritsched
pthread_attr_setinheritsched —
get and set the inheritsched attribute (REALTIME
THREADS)
SYNOPSIS
[THR
TPS]
#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);
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(3), the inheritsched attribute determines how the other scheduling attributes of the created thread shall be set.
- 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.
The following thread scheduling attributes defined by IEEE Std 1003.1-2001 (“POSIX.1”) are affected by the inheritsched attribute: scheduling policy ( schedpolicy), scheduling parameters ( schedparam), and scheduling contention scope ( contentionscope).
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 may fail if:
- [EINVAL]
- The value of inheritsched is not valid.
- [ENOTSUP]
- An attempt was made to set the attribute to an unsupported value.
These functions shall not return an error code of [EINTR].
EXAMPLES
None.
APPLICATION USAGE
After these attributes have been set, a thread can be created with the specified attributes using pthread_create(3). Using these routines does not affect the current running thread.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
pthread_attr_destroy(3) , pthread_attr_getscope(3) , pthread_attr_getschedpolicy(3) , pthread_attr_getschedparam(3) , pthread_create(3) , the Base Definitions volume of IEEE Std 1003.1-2001 (“POSIX.1”), <pthread.h>, <sched.h>
CHANGE HISTORY
First released in Issue 5. Included for alignment with the POSIX Threads Extension.
Marked as part of the Realtime Threads Feature Group.
Issue 6
The pthread_attr_getinheritsched () and
pthread_attr_setinheritsched () functions are marked as
part of the Threads and Thread Execution Scheduling options.
The [ENOSYS] error condition has been removed as stubs need not be provided if an implementation does not support the Thread Execution Scheduling option.
The
restrict keyword
is added to the pthread_attr_getinheritsched ()
prototype for alignment with the ISO/IEC 9899:1999
(“ISO C99”) standard.
End of informative text. footer end