PTHREAD_SCHEDPARAM(3)

PTHREAD_SCHEDPARAM(3) | Library Functions Manual | PTHREAD_SCHEDPARAM(3)

# NAME

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

# LIBRARY

POSIX Threads Library (libpthread, -lpthread)

# SYNOPSIS

`#include <pthread.h>`

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

int
`pthread_getschedparam`(pthread_t thread, int * restrict policy, struct sched_param * restrict 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 be:

`SCHED_FIFO`
  First in, first out.
`SCHED_RR`
  Round-robin.
`SCHED_OTHER`
  The system default.

The thread priority (accessed via param->sched_priority) must be at least `PTHREAD_MIN_PRIORITY` and no more than `PTHREAD_MAX_PRIORITY`.

# RETURN VALUES

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

# ERRORS

`pthread_setschedparam`() may fail if:

[`EINVAL`]
  The value specified by policy is invalid.
[`ENOTSUP`]
  Invalid value for scheduling parameters.
[`ESRCH`]
  Non-existent thread thread.

`pthread_getschedparam`() may fail if:

[`ESRCH`]
  Non-existent thread thread.

# SEE ALSO

pthread_attr_getschedparam(3), sched(3)

# STANDARDS

Both functions conform to IEEE Std 1003.1-2001 (“POSIX.1”).

July 9, 2010 | NetBSD 9.0