blob: 6434130643f9903eb3f6199911cf6a874c5c68ac [file] [log] [blame]
<assertions>
<assertion id="1" tag="ref:XSH6:{System Interfaces:sched_setscheduler:DESCRIPTION}">
sched_setscheduler() sets the scheduling policy and scheduling parameters of
the process specified by pid to policy and the parameters specified in the
sched_param structure pointed to by param, respectively
</assertion>
<assertion id="2" tag="ref:XSH6:{System Interfaces:sched_setscheduler:DESCRIPTION}">
If pid is negative, the behavior of sched_setscheduler() is unspecified
</assertion>
<assertion id="3" tag="ref:XSH6:{System Interfaces:sched_setscheduler:DESCRIPTION}">
If a process specified by pid exists, and if the calling process has
permission, the scheduling policy and scheduling parameters shall be set for
the process whose process ID is equal to pid
</assertion>
<assertion id="4" tag="ref:XSH6:{System Interfaces:sched_setscheduler:DESCRIPTION}">
If pid is zero, the scheduling policy and scheduling parameters shall be set
for the calling process
</assertion>
<assertion id="5" tag="ref:XSH6:{System Interfaces:sched_setscheduler:DESCRIPTION}">
The condition under which one process has the appropriate privilege to
change the scheduling parameters of another process are
implementation-defined
</assertion>
<assertion id="6" tag="ref:XSH6:{System Interfaces:sched_setscheduler:DESCRIPTION}">
Implementations may require that the requesting process have permission to
set its own scheduling parameters or those of another process
</assertion>
<assertion id="7" tag="ref:XSH6:{System Interfaces:sched_setscheduler:DESCRIPTION}">
Implementation-defined restrictions may apply as to the appropriate
privileges required to set a process' own scheduling policy, or another
process' scheduling policy, to a particular value
</assertion>
<assertion id="8" tag="ref:XSH6:{System Interfaces:sched_setscheduler:DESCRIPTION}">
The sched_setscheduler() function shall be considered successful if it
succeeds in setting the scheduling policy and scheduling parameters of the
process specified by pid to the values specified by policy and the structure
pointed to by param, respectively
</assertion>
<assertion id="9" tag="ref:XSH6:{System Interfaces:sched_setscheduler:DESCRIPTION} pt:SS">
The sched_ss_repl_period and sched_ss_init_budget members of the param
argument shall represent the time parameters used by the sporadic server
scheduling policy for the target process
</assertion>
<assertion id="10" tag="ref:XSH6:{System Interfaces:sched_setscheduler:DESCRIPTION} pt:SS">
The sched_ss_max_repl member of the param argument shall represent the
maximum number of replenishments that are allowed to be pending
simultaneously for the process scheduled under this scheduling policy
</assertion>
<assertion id="11" tag="ref:XSH6:{System Interfaces:sched_setscheduler:DESCRIPTION} pt:SS">
If the scheduling policy specified by policy is either SCHED_FIFO or
SCHED_RR, the sched_ss_low_priority, sched_ss_repl_period, and
sched_ss_init_budget members of the param argument shall have no effect on
the scheduling behavior
</assertion>
<assertion id="12" tag="ref:XSH6:{System Interfaces:sched_setscheduler:DESCRIPTION}">
For threads with system scheduling contention scope, this function shall
have no effect on their scheduling
</assertion>
<assertion id="13" tag="ref:XSH6:{System Interfaces:sched_setscheduler:DESCRIPTION}">
For threads with process scheduling contention scope, the threads'
scheduling policy and associated parameters shall not be affected
</assertion>
<assertion id="14" tag="ref:XSH6:{System Interfaces:sched_setscheduler:DESCRIPTION}">
The underlying kernel-scheduled entities for the system contention scope
threads shall not be affected by this function
</assertion>
<assertion id="15" tag="ref:XSH6:{System Interfaces:sched_setscheduler:DESCRIPTION}">
The underlying kernel-scheduled entities for the process contention scope
threads shall have their scheduling policy and associated scheduling
parameters changed to the values specified in policy and param,
respectively
</assertion>
<assertion id="16" tag="ref:XSH6:{System Interfaces:sched_setscheduler:RETURN VALUE}">
Upon successful completion, the function shall return the former scheduling policy of the specified process
</assertion>
<assertion id="17" tag="ref:XSH6:{System Interfaces:sched_setscheduler:RETURN VALUE}">
If the sched_setscheduler() function fails to complete successfully, the
policy and scheduling parameters shall remain unchanged
</assertion>
<assertion id="18" tag="ref:XSH6:{System Interfaces:sched_setscheduler:RETURN VALUE}">
If the sched_setscheduler() function fails to complete successfully, the
function shall return a value of -1
</assertion>
<assertion id="19" tag="ref:XSH6:{System Interfaces:sched_setscheduler:ERRORS}">
The sched_setscheduler() function shall return EINVAL if the value of the
policy parameter is invalid, or one or more of the parameters contained in
param is outside the valid range for the specified scheduling policy
</assertion>
<assertion id="20" tag="ref:XSH6:{System Interfaces:sched_setscheduler:ERRORS}">
The sched_setscheduler() function shall return EPERM if the requesting
process does not have permission to set either or both of the scheduling
parameters or the scheduling policy of the specified process
</assertion>
<assertion id="21" tag="ref:XSH6:{System Interfaces:sched_setscheduler:ERRORS}">
The sched_setscheduler() function shall return ESRCH if no process can be
found corresponding to that specified by pid
</assertion>
<assertion id="22" tag="ref:XSH6:{System Interfaces:sched_setscheduler:DESCRIPTION}">
Kernel-scheduled entities for use by process contention scope threads that
are created after this call completes shall inherit their scheduling policy
and associated scheduling parameters from the process
</assertion>
</assertions>