pthread_setschedparam()
QNX SDP8.0C Library ReferenceAPIDeveloper
Set thread scheduling parameters
Synopsis:
#include <pthread.h>
int pthread_setschedparam(
pthread_t thread,
int policy,
const struct sched_param *param );
Arguments:
- thread
- The ID of the thread that you want to set the scheduling parameters for. You can get a thread ID by calling pthread_create() or pthread_self().
- policy
- The new scheduling policy; one of:
- SCHED_FIFO — a fixed-priority scheduler in which the highest priority, ready thread runs until it blocks or is preempted by a higher priority thread.
- SCHED_RR — the same as SCHED_FIFO, except threads at the same priority level timeslice (round robin) every 4 × the clock period (see ClockPeriod()).
- SCHED_OTHER — currently the same as SCHED_RR.
- SCHED_SPORADIC — sporadic scheduling. For more information, see
pthread_attr_setschedpolicy(),
and
Scheduling policies
in the chapter on the microkernel in the System Architecture guide. - SCHED_HIGH_PRIORITY_IST — a FIFO scheduling policy that allows a thread to go at or above the clock IST, but below 255.Note:The SCHED_HIGH_PRIORITY_IST policy is intended only for ISTs. For more information, see
Interrupt Service Thread (IST)
in the Programmer's Guide. - SCHED_OFFLINING — a FIFO scheduling policy intended for CPU
offlining that allows a thread to be of higher priority than the clock IST. Note:
- To set the SCHED_OFFLINING policy, the process must have the
runstate ability enabled. For more information, go to
Abilities
in the QNX OS System Security Guide. - The offlining and onlining scheduling feature is experimental.
- To set the SCHED_OFFLINING policy, the process must have the
runstate ability enabled. For more information, go to
For more information, see
Thread scheduling
in the IDE Microkernel chapter of the System Architecture guide. - param
- A pointer to a sched_param structure that specifies the scheduling parameters that you want to use.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The pthread_setschedparam() function sets the scheduling policy and associated scheduling parameters of thread thread to the values specified in policy and param.
Note:
In order to change the thread's priority to a value 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
- Invalid scheduling policy policy or parameters param.
- ENOTSUP
- Unsupported scheduling policy policy or parameters param.
- EPERM
- The calling process doesn't have the required permission; see procmgr_ability().
- ESRCH
- Invalid thread ID thread.
Classification:
Safety: | |
---|---|
Cancellation point | No |
Signal handler | Yes |
Thread | Yes |
Page updated: