pthread_attr_setschedpolicy man page

pthread_attr_setschedpolicy, pthread_attr_getschedpolicy ā€” set/get scheduling policy attribute in thread attributes object


#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.


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.


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

Conforming to

POSIX.1-2001, POSIX.1-2008.


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)


This page is part of release 4.13 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

Referenced By

pthread_attr_init(3), pthread_attr_setinheritsched(3), pthread_attr_setschedparam(3), pthread_attr_setscope(3), pthread_getattr_default_np(3), pthread_getattr_np(3), pthread_setschedparam(3), pthread_setschedprio(3).

The man page pthread_attr_getschedpolicy(3) is an alias of pthread_attr_setschedpolicy(3).

2017-09-15 Linux Programmer's Manual