Wrap ints in tiny types, implement corresponding functions for nice level
Some checks failed
Build and test / check (push) Has been cancelled
Build and test / build (push) Has been cancelled
Build and test / docs (push) Has been cancelled

This commit is contained in:
2026-01-02 22:13:10 +09:00
parent fdbd5af5ba
commit 046628a3a8
3 changed files with 235 additions and 34 deletions

View File

@@ -1,8 +1,7 @@
use nix::unistd::gettid;
use std::thread;
// use rtkit_client_rs::::RTKitProxyBlocking;
use rtkit_client_rs::{make_current_thread_realtime, Error};
use rtkit_client_rs::{set_current_thread_priority, Error};
fn main() {
println!("Main tid: {}", gettid());
@@ -11,10 +10,21 @@ fn main() {
fn important_thread() {
println!("Important thread tid: {}", gettid());
let requested_priority = 40;
let actual_priority = make_current_thread_realtime(Some(requested_priority));
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}"),
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}"),
}