32 lines
1.3 KiB
Rust
32 lines
1.3 KiB
Rust
use nix::unistd::gettid;
|
|
use std::thread;
|
|
|
|
use rtkit_client_rs::{set_current_thread_priority, Error};
|
|
|
|
fn main() {
|
|
println!("Main tid: {}", gettid());
|
|
thread::spawn(important_thread).join().unwrap();
|
|
}
|
|
|
|
fn important_thread() {
|
|
println!("Important thread tid: {}", gettid());
|
|
|
|
let requested_priority = 40;
|
|
let actual_priority = set_current_thread_priority(Some(requested_priority.try_into().unwrap()));
|
|
match actual_priority {
|
|
Ok(actual_priority) => println!("Requested priority: {requested_priority}, Actual priority: {}", actual_priority.value()),
|
|
Err(Error::PermissionDenied) => println!("Permission denied. Do you have polkit rules set up, or otherwise have the necessary permissions?"),
|
|
Err(e) => println!("Internal zbus error: {e}"),
|
|
}
|
|
|
|
let requested_nice_level = -10;
|
|
let actual_nice_level = rtkit_client_rs::set_current_thread_nice_level(Some(
|
|
requested_nice_level.try_into().unwrap(),
|
|
));
|
|
match actual_nice_level {
|
|
Ok(actual_nice_level) => println!("Requested nice level: {requested_nice_level}, Actual nice level: {}", actual_nice_level.value()),
|
|
Err(Error::PermissionDenied) => println!("Permission denied. Do you have polkit rules set up, or otherwise have the necessary permissions?"),
|
|
Err(e) => println!("Internal zbus error: {e}"),
|
|
}
|
|
}
|