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_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) April 1, 2008
PTHREAD_GETSCHEDPARAM(3C)