Provided by: manpages-posix-dev_2.16-1_all bug

NAME

       pthread_setschedprio - dynamic thread scheduling parameters access (REALTIME THREADS)

SYNOPSIS

       #include <pthread.h>

       int pthread_setschedprio(pthread_t thread, int prio);

DESCRIPTION

       The pthread_setschedprio() function shall set the scheduling priority for the thread whose
       thread ID is given by thread to the value given by prio. See  Scheduling  Policies  for  a
       description  on  how  this  function call affects the ordering of the thread in the thread
       list for its new priority.

       If the pthread_setschedprio() function fails, the scheduling priority of the target thread
       shall not be changed.

RETURN VALUE

       If  successful, the pthread_setschedprio() function shall return zero; otherwise, an error
       number shall be returned to indicate the error.

ERRORS

       The pthread_setschedprio() function may fail if:

       EINVAL The value of prio is invalid for the scheduling policy of the specified thread.

       ENOTSUP
              An attempt was made to set the priority to an unsupported value.

       EPERM  The caller does not have the appropriate permission to set the scheduling policy of
              the specified thread.

       EPERM  The  implementation  does  not  allow the application to modify the priority to the
              value specified.

       ESRCH  The value specified by thread does not refer to an existing thread.

       The pthread_setschedprio() function shall not return an error code of [EINTR].

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       None.

RATIONALE

       The pthread_setschedprio() function provides a way for an application to temporarily raise
       its priority and then lower it again, without having the undesired side effect of yielding
       to other threads of the same  priority.  This  is  necessary  if  the  application  is  to
       implement its own strategies for bounding priority inversion, such as priority inheritance
       or priority ceilings.  This capability is especially important if the implementation  does
       not  support  the  Thread  Priority Protection or Thread Priority Inheritance options, but
       even if those options are supported it is needed if the application is to  bound  priority
       inheritance for other resources, such as semaphores.

       The standard developers considered that while it might be preferable conceptually to solve
       this problem by modifying the specification of pthread_setschedparam(), it was too late to
       make  such  a  change,  as  there  may  be  implementations that would need to be changed.
       Therefore, this new function was introduced.

FUTURE DIRECTIONS

       None.

SEE ALSO

       Scheduling  Policies  ,  pthread_getschedparam()  ,  the  Base   Definitions   volume   of
       IEEE Std 1003.1-2001, <pthread.h>

COPYRIGHT

       Portions  of  this  text  are  reprinted  and  reproduced in electronic form from IEEE Std
       1003.1, 2003 Edition, Standard for Information Technology  --  Portable  Operating  System
       Interface  (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by
       the Institute of Electrical and Electronics Engineers, Inc and  The  Open  Group.  In  the
       event  of  any  discrepancy  between this version and the original IEEE and The Open Group
       Standard, the original IEEE and The Open Group  Standard  is  the  referee  document.  The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .