NAME
pthread_attr_getschedparam
pthread_attr_setschedparam —
get and set the schedparam attribute
SYNOPSIS
int pthread_attr_getschedparam(const pthread_attr_t *restrict attr,
struct sched_param *restrict param);
int pthread_attr_setschedparam(pthread_attr_t *restrict attr,
const struct sched_param *restrict param);
DESCRIPTION
The pthread_attr_getschedparam (), and
pthread_attr_setschedparam () functions, respectively,
shall get and set the scheduling parameter attributes in the
attr argument. The contents of the param
structure are defined in the <sched.h> header.
For the SCHED_FIFO and SCHED_RR policies, the only required member of
param is sched_priority.
[TSP] For the SCHED_SPORADIC policy, the required members of the param structure are sched_priority, sched_ss_low_priority, sched_ss_repl_period, sched_ss_init_budget, and sched_ss_max_repl. The specified sched_ss_repl_period must be greater than or equal to the specified sched_ss_init_budget for the function to succeed; if it is not, then the function shall fail. The value of sched_ss_max_repl shall be within the inclusive range [1, {SS_REPL_MAX}] for the function to succeed; if not, the function shall fail.
RETURN VALUE
If successful, the
pthread_attr_getschedparam () and
pthread_attr_setschedparam () functions shall return zero;
otherwise, an error number shall be returned to indicate the error.
ERRORS
The pthread_attr_getschedparam () function
may fail if:
- [EINVAL]
- The value specified by attr does not refer to an initialized thread attribute object.
The pthread_attr_setschedparam () function may fail if:
- [EINVAL]
- The value of param 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.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
pthread_attr_destroy(3), pthread_attr_getscope(3), pthread_attr_getinheritsched(3), pthread_attr_getschedpolicy(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.
Issue 6
The pthread_attr_getschedparam () and
pthread_attr_setschedparam () functions are marked as part
of the Threads 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_getschedparam () and
pthread_attr_setschedparam () prototypes 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/78 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