use nix::unistd::gettid; use std::thread; use rtkit_client_rs::{set_current_thread_nice_level, set_current_thread_priority}; 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(err) => { eprintln!("Failed to set priority: {}", err); } } let requested_nice_level = -10; let actual_nice_level = 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(err) => { eprintln!("Failed to set nice level: {}", err); } } }