LIBRARY
Lb libcSYNOPSIS
In sys/types.h In sys/rtprio.h Ft int Fn rtprio int function pid_t pid struct rtprio *rtpDESCRIPTION
The Fn rtprio system call is used to lookup or change the realtime or idle priority of a process.The Fa function argument specifies the operation to be performed. RTP_LOOKUP to lookup the current priority, and RTP_SET to set the priority. The Fa pid argument specifies the process to be used, 0 for the current process.
The Fa *rtp argument is a pointer to a struct rtprio which is used to specify the priority and priority type. This structure has the following form:
struct rtprio { u_short type; u_short prio; };
The value of the type field may be RTP_PRIO_REALTIME for realtime priorities, RTP_PRIO_NORMAL for normal priorities, and RTP_PRIO_IDLE for idle priorities. The priority specified by the prio field ranges between 0 and RTP_PRIO_MAX (usually 31) 0 is the highest possible priority.
Realtime and idle priority is inherited through fork() and exec().
A realtime process can only be preempted by a process of equal or higher priority, or by an interrupt; idle priority processes will run only when no other real/normal priority process is runnable. Higher real/idle priority processes preempt lower real/idle priority processes. Processes of equal real/idle priority are run round-robin.
RETURN VALUES
Rv -std rtprioERRORS
The Fn rtprio system call will fail if- Bq Er EINVAL
- The specified Fa prio was out of range.
- Bq Er EPERM
- The calling process is not allowed to set the realtime priority. Only root is allowed to change the realtime priority of any process, and non-root may only change the idle priority of the current process.
- Bq Er ESRCH
- The specified process was not found.
AUTHORS
An -nosplit The original author was An Henrik Vestergaard Draboel Aq [email protected] . This implementation in Fx was substantially rewritten by An David Greenman .