DragonFly On-Line Manual Pages
    
    
	
RTPRIO(2)                DragonFly System Calls Manual               RTPRIO(2)
NAME
     rtprio, lwp_rtprio - examine or modify a process/lwp realtime or idle
     priority
LIBRARY
     Standard C Library (libc, -lc)
SYNOPSIS
     #include <sys/types.h>
     #include <sys/rtprio.h>
     int
     rtprio(int function, pid_t pid, struct rtprio *rtp);
     #include <sys/lwp.h>
     int
     lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp);
DESCRIPTION
     rtprio() is used to lookup or change the realtime or idle priority of a
     process.
     function specifies the operation to be performed.  RTP_LOOKUP to lookup
     the current priority, and RTP_SET to set the priority.  pid specifies the
     process to be used, 0 for the current process.
     *rtp 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.
     The lwp_rtprio() function is the lwp counterpart of rtprio().  It takes
     one additional argument, tid, specifying the lwp to be used, -1 for the
     current lwp.
RETURN VALUES
     The rtprio() and lwp_rtprio() functions return the value 0 if successful;
     otherwise the value -1 is returned and the global variable errno is set
     to indicate the error.
ERRORS
     rtprio() and lwp_rtprio() will fail if
     [EINVAL]           The specified prio was out of range.
     [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.
     [ESRCH]            The specified process was not found.
SEE ALSO
     nice(1), ps(1), rtprio(1), setpriority(2), nice(3), renice(8)
AUTHORS
     The original author was Henrik Vestergaard Draboel <hvd@terry.ping.dk>.
     This implementation was substantially rewritten by David Greenman.
DragonFly 5.5-DEVELOPMENT      December 14, 2007     DragonFly 5.5-DEVELOPMENT