PTHREAD_ATTR_GETSCHEDPARAM(3)

PTHREAD_ATTR_GETSCHEDPARAM(3) | Library Functions Manual | PTHREAD_ATTR_GETSCHEDPARAM(3)

# NAME

`pthread_attr_getschedparam`, `pthread_attr_setschedparam`, `pthread_attr_getschedpolicy`, `pthread_attr_setschedpolicy` —
get and set scheduling attributes

# LIBRARY

POSIX Threads Library (libpthread, -lpthread)

# SYNOPSIS

`#include <pthread.h>`

int
`pthread_attr_getschedparam`(const pthread_attr_t * restrict attr, struct sched_param * restrict param);

int
`pthread_attr_setschedparam`(pthread_attr_t *attr, const struct sched_param *param);

int
`pthread_attr_getschedpolicy`(const pthread_attr_t * restrict attr, int * restrict policy);

int
`pthread_attr_setschedpolicy`(pthread_attr_t *attr, int policy);

# DESCRIPTION

The `pthread_attr_getschedparam`() and `pthread_attr_setschedparam`() functions obtain and set the scheduling parameter attribute in the attr object. The sched_param structure is defined in `<sched.h>`. At minimum this structure contains only a single member, sched_priority. Refer to pthread_schedparam(3) and sched(3) for additional details.

The `pthread_attr_getschedpolicy`() and `pthread_attr_setschedpolicy`() functions get and set the scheduling policy attribute, policy, in the attr object. The supported values of policy are the same ones listed in pthread_schedparam(3).

# RETURN VALUES

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

# ERRORS

The `pthread_attr_getschedparam`() function may fail if:

[`EINVAL`]
  An invalid parameter was specified.

The `pthread_attr_setschedparam`() function may fail if:

[`EINVAL`]
  An invalid parameter was specified.
[`ENOMEM`]
  There was insufficient memory.

The `pthread_attr_setschedpolicy`() function may fail if:

[`ENOMEM`]
  There was insufficient memory.
[`ENOTSUP`]
  An unsupported policy was specified.

No errors are defined for `pthread_attr_getschedpolicy`().

# SEE ALSO

pthread_attr(3), pthread_schedparam(3), sched(3)

# STANDARDS

These functions conform to IEEE Std 1003.1-2008 (“POSIX.1”).

July 7, 2010 | NetBSD 9.0