sched_getscheduler (2)
Leading comments
$FreeBSD: releng/11.0/lib/libc/sys/sched_setscheduler.2 276006 2014-12-21 12:36:36Z brueffer $ Copyright (c) 1998 HD Associates, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyrigh...
NAME
sched_setscheduler sched_getscheduler - set/get scheduling policy and scheduler parametersLIBRARY
Lb libcSYNOPSIS
In sched.h Ft int Fn sched_setscheduler pid_t pid int policy const struct sched_param *param Ft int Fn sched_getscheduler pid_t pidDESCRIPTION
The Fn 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.
The scheduling policies are in Fa <sched.h> :
- Bq Er SCHED_FIFO
- 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 Fn 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 -stdERRORS
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.