| Top |
void
gs_ioprio_set (gint priority);
Set the I/O priority of the current thread using the syscall.ioprio_set()
The priority
is quantised before being passed to the kernel.
This function may fail if the process doesn’t have permission to change its I/O priority to the given value. If so, a warning will be printed, as the quantised priority values are chosen so they shouldn’t typically require permissions to set.
void gs_set_thread_cpu_niceness (GDBusConnection *system_bus_connection,pid_t tid,int niceness);
Set the CPU niceness of the given thread using RealtimeKit.
This is essentially equivalent to calling
setpriority (PRIO_PROCESS, tid, niceness), or calling nice (niceness)
from within the given thread. However, either of those syscalls require the
CAP_SYS_NICE capability, which would also allow the process to _raise_ its
priority. That is a capability we don’t want to have. Requesting the niceness
change to happen via RealtimeKit means that it’s done using RealtimeKit’s
CAP_SYS_NICE capability, and appropriate polkit permissions checks can be
done, as well as checks on the requested niceness
value.
This function may fail if the process doesn’t have permission to change its thread niceness priority to the given value. If so, *no* warning will be printed, as that would require waiting for a D-Bus round trip from RealtimeKit, which seems unnecessary given that the niceness values are chosen so they shouldn’t typically require permissions to set.
system_bus_connection |
a connection to the D-Bus system bus. |
[transfer none] |
tid |
ID of the thread to change the niceness of |
|
niceness |
new niceness (0 is default, >0 means lower scheduling priority, <0 means higher scheduling priority and is disallowed) |
Since: 50