pthread_setschedprio — set scheduling priority of a thread


#include <pthread.h>

int pthread_setschedprio(pthread_t thread, int prio);

Compile and link with -pthread.


The pthread_setschedprio() function sets the scheduling priority of the thread thread to the value specified in prio. (By contrast pthread_setschedparam(3) changes both the scheduling policy and priority of a thread.)

Return Value

On success, this function returns 0; on error, it returns a nonzero error number. If pthread_setschedprio() fails, the scheduling priority of thread is not changed.



prio is not valid for the scheduling policy of the specified thread.


The caller does not have appropriate privileges to set the specified priority.


No thread with the ID thread could be found.

POSIX.1 also documents an ENOTSUP ("attempt was made to set the priority to an unsupported value") error for pthread_setschedparam(3).


This function is available in glibc since version 2.3.4.


For an explanation of the terms used in this section, see attributes(7).

Interface Attribute Value
pthread_setschedprio() Thread safety MT-Safe

Conforming to

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


For a description of the permissions required to, and the effect of, changing a thread's scheduling priority, and details of the permitted ranges for priorities in each scheduling policy, see sched(7).

See Also

getrlimit(2), sched_get_priority_min(2), pthread_attr_init(3), pthread_attr_setinheritsched(3), pthread_attr_setschedparam(3), pthread_attr_setschedpolicy(3), pthread_create(3), pthread_self(3), pthread_setschedparam(3), pthreads(7), sched(7)


This page is part of release 5.04 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_setinheritsched(3), pthread_attr_setschedparam(3), pthread_attr_setschedpolicy(3), pthread_setschedparam(3), sched(7), sched_setattr(2), sched_setscheduler(2).

2015-08-08 Linux Programmer's Manual