#include <pthread.h>

       int pthread_attr_setschedparam(pthread_attr_t *attr,
                                      const struct sched_param *param);
       int pthread_attr_getschedparam(const pthread_attr_t *attr,
                                      struct sched_param *param);

       Compile and link with -pthread.

       The pthread_attr_setschedparam() function sets the scheduling parameter
       attributes  of  the thread attributes object referred to by attr to the
       values specified in the buffer pointed to by param.   These  attributes
       determine  the  scheduling  parameters  of  a  thread created using the
       thread attributes object attr.

       The  pthread_attr_getschedparam()  returns  the  scheduling   parameter
       attributes  of  the thread attributes object attr in the buffer pointed
       to by param.

       Scheduling parameters are maintained in the following structure:

           struct sched_param {
               int sched_priority;     /* Scheduling priority */

       As can be seen,  only  one  scheduling  parameter  is  supported.   For
       details  of  the  permitted  ranges  for  scheduling priorities in each
       scheduling policy, see sched(7).

       In order for the parameter setting made by pthread_attr_setschedparam()
       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.

       pthread_attr_setschedparam() can fail with the following error:

       EINVAL The priority specified in param does not make sense for the cur-
              rent scheduling policy of attr.

       POSIX.1  also  documents  an  ENOTSUP  error for pthread_attr_setsched-
       param().  This value is never  returned  on  Linux  (but  portable  and
       future-proof  applications should nevertheless handle this error return

       For  an  explanation  of  the  terms  used   in   this   section,   see
       policies supported on Linux.

       See pthread_setschedparam(3).

       sched_get_priority_min(2), pthread_attr_init(3),
       pthread_attr_setinheritsched(3), pthread_attr_setschedpolicy(3),
       pthread_create(3), pthread_setschedparam(3), pthread_setschedprio(3),
       pthreads(7), sched(7)

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

Linux                             2015-08-08     PTHREAD_ATTR_SETSCHEDPARAM(3)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2019 Hurricane Electric. All Rights Reserved.