#include <pthread.h>
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);
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.
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.
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.
The pthread_attr_setschedparam() function may fail if:
These functions shall not return an error code of [EINTR].
The following sections are informative.
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.
pthread_attr_destroy(), pthread_attr_getscope(), pthread_attr_getinheritsched(), pthread_attr_getschedpolicy(), pthread_create(), the Base Definitions volume of IEEE Std 1003.1-2001, <pthread.h>, <sched.h>