Change the priority and scheduling policy of a process
#include <sched.h> int sched_setscheduler( pid_t pid, int policy, const struct sched_param *param );
For more information, see “Thread scheduling” in the QNX Neutrino Microkernel chapter of the System Architecture guide.
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The sched_setscheduler() function changes the priority of process pid to that of the sched_priority member in the sched_param structure passed as param, and the scheduling policy is set to policy.
If pid is zero, the policy and priority of the calling process are set.
The sched_priority member in param must lie between the minimum and maximum values returned by sched_get_priority_max() and sched_get_priority_min().
By default, the process priority and scheduling policy are inherited from or explicitly set by the parent process. Once running, the child process may change its priority by using this function.
The previous scheduling policy, or -1 if an error occurs (errno is set).
See sched_getparam().
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
In a multithreaded program, sched_setscheduler() sets the scheduling policy for thread 1 in the process pid, or for the calling thread if pid is 0.
errno, getprio(), sched_getparam(), sched_get_priority_max(), sched_get_priority_min(), sched_getscheduler(), sched_param, sched_setparam(), sched_yield(), setprio()
“Thread scheduling” in the QNX Neutrino Microkernel chapter of the System Architecture guide
“Scheduling policies” in the Programming Overview chapter of the QNX Neutrino Programmer's Guide