PTHREAD_GETSCHEDPARAM(3C) Standard C Library Functions

NAME


pthread_getschedparam, pthread_setschedparam - access dynamic thread
scheduling parameters

SYNOPSIS


cc -mt [ flag... ] file... -lpthread [ library... ]
#include <pthread.h>

int pthread_getschedparam(pthread_t thread, int *restrict policy,
struct sched_param *restrict param);


int pthread_setschedparam(pthread_t thread, int policy,
const struct sched_param *param);


DESCRIPTION


The pthread_getschedparam() and pthread_setschedparam() functions allow
the scheduling policy and scheduling parameters of individual threads
within a multithreaded process to be retrieved and set. Supported
policies are :

SCHED_OTHER
traditional time-sharing scheduling class


SCHED_FIFO
real-time class: run to completion


SCHED_RR
real-time class: round-robin


SCHED_IA
interactive time-sharing class


SCHED_FSS
fair-share scheduling class


SCHED_FX
fixed priority scheduling class


See pthreads(7). The affected scheduling parameter is the sched_priority
member of the sched_param structure.


The pthread_getschedparam() function retrieves the scheduling policy and
scheduling parameters for the thread whose thread ID is given by thread
and stores those values in policy and param, respectively. The priority
value returned from pthread_getschedparam() is the value specified by the
most recent pthread_setschedparam() or pthread_create() call affecting
the target thread, and does not reflect any temporary adjustments to its
priority as a result of any priority inheritance or ceiling functions.
The pthread_setschedparam() function sets the scheduling policy and
associated scheduling parameters for the thread whose thread ID is given
by thread to the policy and associated parameters provided in policy and
param, respectively.


If the pthread_setschedparam() function fails, no scheduling parameters
will be changed for the target thread.

RETURN VALUES


If successful, the pthread_getschedparam() and pthread_setschedparam()
functions return 0. Otherwise, an error number is returned to indicate
the error.

ERRORS


The pthread_getschedparam() and pthread_setschedparam() functions will
fail if:

ESRCH
The value specified by thread does not refer to an existing
thread.


The pthread_setschedparam() function will fail if:

EINVAL
The value specified by policy or one of the scheduling
parameters associated with the scheduling policy policy is
invalid.


EPERM
The caller does not have the appropriate permission to set
either the scheduling parameters or the scheduling policy of
the specified thread.


ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+--------------------+-------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------+
|Interface Stability | Committed |
+--------------------+-------------------+
|MT-Level | MT-Safe |
+--------------------+-------------------+
|Standard | See standards(7). |
+--------------------+-------------------+

SEE ALSO


pthread_attr_init(3C), sched_get_priority_max(3C),
sched_get_priority_min(3C), sched_getparam(3C), sched_getscheduler(3C),
sched_setparam(3C), sched_setscheduler(3C), attributes(7), pthreads(7),
standards(7)

illumos February 21, 2023 PTHREAD_GETSCHEDPARAM(3C)