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.
Note:
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:
POSIX 1003.1 THR TPS
| Safety: |
|
| Cancellation point |
No |
| Interrupt handler |
No |
| Signal handler |
Yes |
| Thread |
Yes |