NAME¶
pthread_attr_setschedpolicy, pthread_attr_getschedpolicy - set/get scheduling
policy attribute in thread attributes object
SYNOPSIS¶
#include <pthread.h>
int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy);
int pthread_attr_getschedpolicy(const pthread_attr_t *attr, int *policy);
Compile and link with -pthread.
DESCRIPTION¶
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.
RETURN VALUE¶
On success, these functions return 0; on error, they return a nonzero error
number.
ERRORS¶
pthread_attr_setschedpolicy() can fail with the following error:
- EINVAL
- Invalid value in policy.
POSIX.1-2001 also documents an optional
ENOTSUP error ("attempt was
made to set the attribute to an unsupported value") for
pthread_attr_setschedpolicy().
ATTRIBUTES¶
Multithreading (see pthreads(7))¶
The
pthread_attr_setschedpolicy() and
pthread_attr_getschedpolicy() functions are thread-safe.
POSIX.1-2001.
EXAMPLE¶
See
pthread_setschedparam(3).
SEE ALSO¶
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)
COLOPHON¶
This page is part of release 3.74 of the Linux
man-pages project. A
description of the project, information about reporting bugs, and the latest
version of this page, can be found at
http://www.kernel.org/doc/man-pages/.