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}"), } }