pthread_attr_setschedpolicy, pthread_attr_getschedpolicy - set/get scheduling policy attribute in thread attributes object
POSIX threads library (libpthread
, -lpthread
)
#include <pthread.h>
int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy);
int pthread_attr_getschedpolicy(const pthread_attr_t *restrict attr,
int *restrict policy);
The pthread_attr_setschedpolicy() function sets the
scheduling policy attribute of the thread attributes object referred to
by attr
to the value specified in policy
. This
attribute determines the scheduling policy of a thread created using the
thread attributes object attr
.
The supported values for policy
are
SCHED_FIFO, SCHED_RR, and
SCHED_OTHER, with the semantics described in
sched(7).
The pthread_attr_getschedpolicy() returns the
scheduling policy attribute of the thread attributes object
attr
in the buffer pointed to by policy
.
In order for the policy setting made by
pthread_attr_setschedpolicy() to have effect when
calling pthread_create(3), the caller must use
pthread_attr_setinheritsched(3) to set the
inherit-scheduler attribute of the attributes object attr
to
PTHREAD_EXPLICIT_SCHED.
On success, these functions return 0; on error, they return a nonzero error number.
See pthread_setschedparam(3).
pthread_attr_setschedpolicy() can fail with the following error:
Invalid value in policy
.
POSIX.1 also documents an optional ENOTSUP error ("attempt was made to set the attribute to an unsupported value") for pthread_attr_setschedpolicy().
For an explanation of the terms used in this section, see attributes(7).
Interface | Attribute | Value |
pthread_attr_setschedpolicy(), pthread_attr_getschedpolicy() |
Thread safety | MT-Safe |
POSIX.1-2008.
glibc 2.0. POSIX.1-2001.
pthread_attr_init(3), pthread_attr_setinheritsched(3), pthread_attr_setschedparam(3), pthread_create(3), pthread_setschedparam(3), pthread_setschedprio(3), pthreads(7), sched(7)