pthread_attr_setschedparam, pthread_attr_getschedparam — set/get scheduling parameter attributes in thread attributes object
#include <pthread.h>
int pthread_attr_setschedparam( |
pthread_attr_t *attr, |
const struct sched_param *param) ; |
int pthread_attr_getschedparam( |
pthread_attr_t *attr, |
struct sched_param *param) ; |
![]() |
Note |
---|---|
Compile and link with |
The pthread_attr_setschedparam
() function sets
the scheduling parameter attributes of the thread attributes
object referred to by attr
to the values specified in
the buffer pointed to by param
. These attributes
determine the scheduling parameters of a thread created using
the thread attributes object attr
.
The pthread_attr_getschedparam
() returns the
scheduling parameter attributes of the thread attributes
object attr
in the
buffer pointed to by param
.
Scheduling parameters are maintained in the following structure:
struct sched_param { int sched_priority
; /* Scheduling priority */};
As can be seen, only one scheduling parameter is supported. For details of the permitted ranges for scheduling priorities in each scheduling policy, see sched_setscheduler(2).
POSIX.1 documents EINVAL
and ENOTSUP errors for
pthread_attr_setschedparam
().
On Linux these functions always succeed (but portable and
future-proof applications should nevertheless handle a
possible error return).
See pthread_attr_setschedpolicy(3) for a list of the thread scheduling policies supported on Linux.
sched_get_priority_min(2), sched_setscheduler(2), pthread_attr_init(3), pthread_attr_setinheritsched(3), pthread_attr_setschedpolicy(3), pthread_create(3), pthread_setschedparam(3), pthread_setschedprio(3), pthreads(7)