PTHREAD_SETSCHEDPARAM(3) | Library Functions Manual | PTHREAD_SETSCHEDPARAM(3)

# NAME

`pthread_setschedparam`, `pthread_getschedparam` — thread scheduling parameter manipulation

# SYNOPSIS

POSIX Threads Library (libpthread, -lpthread)
`#include <pthread.h>`

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

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

# DESCRIPTION

The `pthread_setschedparam`() and `pthread_getschedparam`() functions set and get the scheduling parameters of individual threads. The scheduling policy for a thread can either be `SCHED_FIFO` (first in, first out) or `SCHED_RR` (round-robin). The thread priority (accessed via param->sched_priority) must be within the range returned by the `sched_get_priority_min`() and `sched_get_priority_max`() functions.

# RETURN VALUES

If successful, these functions return 0. Otherwise, an error number is returned to indicate the error.

# ERRORS

`pthread_setschedparam`() will fail if:

[`EINVAL`]
  Invalid value for policy.
[`ENOTSUP`]
  Invalid value for scheduling parameters.
[`ESRCH`]
  Non-existent thread thread.

`pthread_getschedparam`() will fail if:

[`ESRCH`]
  Non-existent thread thread.

# SEE ALSO

sched_get_priority_max(3)

# STANDARDS

`pthread_setschedparam`() and `pthread_getschedparam`() conform to Version 2 of the Single UNIX Specification (“SUSv2”)

June 7, 2025 | Debian