pthread_attr_setschedparam()

Updated: May 06, 2022

Set a thread's scheduling parameters attribute

Synopsis:

#include <pthread.h>
#include <sched.h>

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

Arguments:

attr
A pointer to the pthread_attr_t structure that defines the attributes to use when creating new threads. For more information, see pthread_attr_init().
param
A pointer to a sched_param structure that defines the thread's scheduling parameters.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The pthread_attr_setschedparam() function sets the thread scheduling parameters attribute in the thread attribute object attr to param.

The thread scheduling parameters are used only if you've set the thread inherit scheduling attribute to PTHREAD_EXPLICIT_SCHED by calling pthread_attr_setinheritsched(). By default, a thread inherits its parent's priority.

Note: In order to create a thread whose priority is above the maximum permitted for unprivileged processes, your process must have the PROCMGR_AID_PRIORITY ability enabled. For more information, see procmgr_ability().

Returns:

EOK
Success.
EINVAL
In the sched_param structure, sched_ss_repl_period is less than sched_ss_init_budget, or sched_ss_max_repl is not in the inclusive range of 1 to SS_REPL_MAX.

Examples:

See the entry for sched_param.

Classification:

POSIX 1003.1

Safety:  
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes