pthread_setschedparam()
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 get 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 Thread scheduling in the QNX Neutrino 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.
In order to set the scheduling policy policy for a process whose real or saved user ID is different from
the calling process's real or effective user ID, your process must have the
PROCMGR_AID_SCHEDULE ability enabled.
In order to change its 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 |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |