NAME
pthread_attr_getschedpolicy
pthread_attr_setschedpolicy —
get and set the schedpolicy attribute (REALTIME
THREADS)
SYNOPSIS
[THR
TPS]
#include <pthread.h>
int pthread_attr_getschedpolicy(const pthread_attr_t *restrict attr,
int *restrict policy);
int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy);
DESCRIPTION
The pthread_attr_getschedpolicy () and
pthread_attr_setschedpolicy () functions, respectively,
shall get and set the
schedpolicy
attribute in the attr argument.
The supported values of policy shall include SCHED_FIFO, SCHED_RR, and SCHED_OTHER, which are defined in the <sched.h> header. When threads executing with the scheduling policy SCHED_FIFO, SCHED_RR, [TSP] or SCHED_SPORADIC are waiting on a mutex, they shall acquire the mutex in priority order when the mutex is unlocked.
RETURN VALUE
If successful, the
pthread_attr_getschedpolicy () and
pthread_attr_setschedpolicy () functions shall return
zero; otherwise, an error number shall be returned to indicate the
error.
ERRORS
The pthread_attr_getschedpolicy ()
function may fail if:
- [EINVAL]
- The value specified by attr does not refer to an initialized thread attribute object.
The pthread_attr_setschedpolicy () function may fail if:
- [EINVAL]
- The value of policy is not valid, or the value specified by attr does not refer to an initialized thread attribute object.
- [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.
See xsh_chap02_09(3) for further details on thread scheduling attributes and their default settings.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
pthread_attr_destroy(3), pthread_attr_getscope(3), pthread_attr_getinheritsched(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_getschedpolicy () and
pthread_attr_setschedpolicy () 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 SCHED_SPORADIC scheduling policy is added for alignment with IEEE Std 1003.1d-1999.
The
restrict keyword
is added to the pthread_attr_getschedpolicy ()
prototype for alignment with the ISO/IEC 9899:1999
(“ISO C99”) standard.
IEEE Std 1003.1-2001 (“POSIX.1”)/Cor 2-2004, item XSH/TC2/D6/79 is applied, adding a reference to xsh_chap02_09(3) in the APPLICATION USAGE section.
IEEE Std 1003.1-2001 (“POSIX.1”)/Cor 2-2004, item XSH/TC2/D6/80 is applied, updating the ERRORS section to include optional errors for the case when attr refers to an uninitialized thread attribute object.
End of informative text. footer end