SchedGet(), SchedGet_r()
Get the scheduling policy and parameters for a thread
Synopsis:
#include <sys/neutrino.h>
int SchedGet( pid_t pid,
int tid,
struct sched_param *param );
int SchedGet_r( pid_t pid,
int tid,
struct sched_param *param );
Arguments:
- pid
- 0 or a process ID; see below.
- tid
- 0 or a thread ID; see below.
- param
- NULL, or a pointer to a sched_param structure where the function can store the scheduling parameters.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The SchedGet() and SchedGet_r() kernel calls return the current scheduling policy and parameters for the thread specified by tid in the process specified by pid. If pid is zero, the current process is used to look up a nonzero tid. If tid is zero, then the calling thread is used and pid is ignored.
These functions are identical except in the way they indicate errors. See the Returns section for details.
The scheduling policy is returned on success and is one of SCHED_FIFO, SCHED_RR, SCHED_SPORADIC, SCHED_OTHER, SCHED_OFFLINING, or SCHED_HIGH_PRIORITY_IST.
Blocking states
These calls don't block.
Returns:
The current scheduling policy. If an error occurs:
- SchedGet() returns -1 and sets errno.
- SchedGet_r() returns the negative of a value from the Errors section and doesn't set errno.
Errors:
- EFAULT
- A fault occurred when the kernel tried to access the buffers provided.
- EPERM
- The calling process doesn't have the required permission; see procmgr_ability().
- ESRCH
- The process indicated by pid or thread indicated by tid doesn't exist.
Classification:
| Safety: | |
|---|---|
| Cancellation point | No |
| Signal handler | Yes |
| Thread | Yes |
