Standard C Library Functions schedsetscheduler(3C)
NAME
schedsetscheduler - set scheduling policy and scheduling
parameters
SYNOPSIS
#include
int schedsetscheduler(pidt pid, int policy,
const struct schedparam *param);
DESCRIPTION
The schedsetscheduler() function sets the scheduling policy
and scheduling parameters of the process specified by pid to
policy and the parameters specified in the schedparam
structure pointed to by param, respectively. The value of
the schedpriority member in the schedparam structure is
any integer within the inclusive priority range for the
scheduling policy specified by policy. The
schedsetscheduler() function ignores the other members of
the schedparam structure. If the value of pid is negative,
the behavior of the schedsetscheduler() function is
unspecified.
The possible values for the policy parameter are defined in
the header (see sched.h(3HEAD)):
If a process specified by pid exists and if the calling pro-
cess has permission, the scheduling policy and scheduling
parameters are set for the process whose process ID is
equal to pid. The real or effective user ID of the calling
process must match the real or saved (from exec(2)) user ID
of the target process unless the effective user ID of the
calling process is 0. See Intro(2).
If pid is 0, the scheduling policy and scheduling parameters
are set for the calling process.
To change the policy of any process to either of the real
time policies SCHEDFIFO or SCHEDR, the calling process
must either have the SCHEDFIFO or SCHEDR policy or have
an effective user ID of 0.
The schedsetscheduler() function is considered successful
if it succeeds in setting the scheduling policy and schedul-
ing parameters of the process specified by pid to the values
specified by policy and the structure pointed to by param,
SunOS 5.11 Last change: 1 Apr 2008 1
Standard C Library Functions schedsetscheduler(3C)
respectively.
RETURN VALUES
Upon successful completion, the function returns the former
scheduling policy of the specified process. If the
schedsetscheduler() function fails to complete success-
fully, the policy and scheduling paramenters remain
unchanged, and the function returns -1 and sets errno to
indicate the error.
ERORS
The schedsetscheduler() function will fail if:
EINVAL The value of policy is invalid, or one or more of
the parameters contained in param is outside the
valid range for the specified scheduling policy.
EPERM The requesting process does not have permission to
set either or both of the scheduling parameters or
the scheduling policy of the specified process.
ESRCH No process can be found corresponding to that
specified by pid.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
Standard See standards(5).
SEE ALSO
priocntl(1), Intro(2), exec(2), priocntl(2), librt(3LIB),
sched.h(3HEAD), schedgetprioritymax(3C),
schedgetparam(3C), schedgetscheduler(3C),
schedsetparam(3C), attributes(5), standards(5)
SunOS 5.11 Last change: 1 Apr 2008 2
|