sched_setschedulersched_getscheduler
- set/get scheduling policy and scheduler parameters
LIBRARY
Lb libc
SYNOPSIS
#include <sched.h> int
sched_setscheduler (pid_t pid int policy const struct sched_param *param); int
sched_getscheduler (pid_t pid);
DESCRIPTION
The
sched_setscheduler ();
system call sets the scheduling policy and scheduling parameters
of the process specified by
Fa pid
to
Fa policy
and the parameters specified in the
Vt sched_param
structure pointed to by
Fa param ,
respectively.
The value of the
Fa sched_priority
member in the
Fa param
structure must be any integer within the inclusive priority range for
the scheduling policy specified by
Fa policy .
In this implementation, if the value of
Fa pid
is negative the system call will fail.
If a process specified by
Fa pid
exists and if the calling process has permission, the scheduling
policy and scheduling parameters will be set for the process
whose process ID is equal to
Fa pid .
If
Fa pid
is zero, the scheduling policy and scheduling
parameters are set for the calling process.
In this implementation, the policy of when a process can affect
the scheduling parameters of another process is specified in
St -p1003.1b-93
as a write-style operation.
First-in-first-out fixed priority scheduling with no round robin scheduling;
Bq Er SCHED_OTHER
The standard time sharing scheduler;
Bq Er SCHED_RR
Round-robin scheduling across same priority processes.
The
Vt sched_param
structure is defined in
Fa <sched.h> :
struct sched_param {
int sched_priority; /* scheduling priority */
};
The
sched_getscheduler ();
system call returns the scheduling policy of the process specified
by
Fa pid .
If a process specified by
Fa pid
exists and if the calling process has permission,
the scheduling parameters for the process whose process ID is equal to
Fa pid
are returned.
In this implementation, the policy of when a process can obtain the
scheduling parameters of another process are detailed in
St -p1003.1b-93
as a read-style operation.
If
Fa pid
is zero, the scheduling parameters for the calling process will be
returned.
In this implementation, the
Fa sched_getscheduler
system call will fail if
Fa pid
is negative.
RETURN VALUES
Rv -std
ERRORS
On failure
errno
will be set to the corresponding value:
Bq Er ENOSYS
The system is not configured to support this functionality.
Bq Er EPERM
The requesting process doesn not have permission as detailed in
St -p1003.1b-93 .
Bq Er ESRCH
No process can be found corresponding to that specified by
Fa pid .
Bq Er EINVAL
The value of the
Fa policy
argument is invalid, or one or more of the parameters contained in
Fa param
is outside the valid range for the specified scheduling policy.