Improve example
This commit is contained in:
24
README.md
24
README.md
@@ -12,7 +12,7 @@ This interface lets you request real-time scheduling for one or more threads.
|
|||||||
use nix::unistd::gettid;
|
use nix::unistd::gettid;
|
||||||
use std::thread;
|
use std::thread;
|
||||||
|
|
||||||
use rtkit_client_rs::{set_current_thread_priority, Error};
|
use rtkit_client_rs::{set_current_thread_nice_level, set_current_thread_priority};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
println!("Main tid: {}", gettid());
|
println!("Main tid: {}", gettid());
|
||||||
@@ -25,19 +25,27 @@ fn important_thread() {
|
|||||||
let requested_priority = 40;
|
let requested_priority = 40;
|
||||||
let actual_priority = set_current_thread_priority(Some(requested_priority.try_into().unwrap()));
|
let actual_priority = set_current_thread_priority(Some(requested_priority.try_into().unwrap()));
|
||||||
match actual_priority {
|
match actual_priority {
|
||||||
Ok(actual_priority) => println!("Requested priority: {requested_priority}, Actual priority: {}", actual_priority.value()),
|
Ok(actual_priority) => println!(
|
||||||
Err(Error::PermissionDenied) => println!("Permission denied. Do you have polkit rules set up, or otherwise have the necessary permissions?"),
|
"Requested priority: {requested_priority}, Actual priority: {}",
|
||||||
Err(e) => println!("Internal zbus error: {e}"),
|
actual_priority.value(),
|
||||||
|
),
|
||||||
|
Err(err) => {
|
||||||
|
eprintln!("Failed to set priority: {}", err);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let requested_nice_level = -10;
|
let requested_nice_level = -10;
|
||||||
let actual_nice_level = rtkit_client_rs::set_current_thread_nice_level(Some(
|
let actual_nice_level = set_current_thread_nice_level(Some(
|
||||||
requested_nice_level.try_into().unwrap(),
|
requested_nice_level.try_into().unwrap(),
|
||||||
));
|
));
|
||||||
match actual_nice_level {
|
match actual_nice_level {
|
||||||
Ok(actual_nice_level) => println!("Requested nice level: {requested_nice_level}, Actual nice level: {}", actual_nice_level.value()),
|
Ok(actual_nice_level) => println!(
|
||||||
Err(Error::PermissionDenied) => println!("Permission denied. Do you have polkit rules set up, or otherwise have the necessary permissions?"),
|
"Requested nice level: {requested_nice_level}, Actual nice level: {}",
|
||||||
Err(e) => println!("Internal zbus error: {e}"),
|
actual_nice_level.value(),
|
||||||
|
),
|
||||||
|
Err(err) => {
|
||||||
|
eprintln!("Failed to set nice level: {}", err);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
use nix::unistd::gettid;
|
use nix::unistd::gettid;
|
||||||
use std::thread;
|
use std::thread;
|
||||||
|
|
||||||
use rtkit_client_rs::{set_current_thread_priority, Error};
|
use rtkit_client_rs::{set_current_thread_nice_level, set_current_thread_priority};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
println!("Main tid: {}", gettid());
|
println!("Main tid: {}", gettid());
|
||||||
@@ -14,18 +14,26 @@ fn important_thread() {
|
|||||||
let requested_priority = 40;
|
let requested_priority = 40;
|
||||||
let actual_priority = set_current_thread_priority(Some(requested_priority.try_into().unwrap()));
|
let actual_priority = set_current_thread_priority(Some(requested_priority.try_into().unwrap()));
|
||||||
match actual_priority {
|
match actual_priority {
|
||||||
Ok(actual_priority) => println!("Requested priority: {requested_priority}, Actual priority: {}", actual_priority.value()),
|
Ok(actual_priority) => println!(
|
||||||
Err(Error::PermissionDenied) => println!("Permission denied. Do you have polkit rules set up, or otherwise have the necessary permissions?"),
|
"Requested priority: {requested_priority}, Actual priority: {}",
|
||||||
Err(e) => println!("Internal zbus error: {e}"),
|
actual_priority.value(),
|
||||||
|
),
|
||||||
|
Err(err) => {
|
||||||
|
eprintln!("Failed to set priority: {}", err);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let requested_nice_level = -10;
|
let requested_nice_level = -10;
|
||||||
let actual_nice_level = rtkit_client_rs::set_current_thread_nice_level(Some(
|
let actual_nice_level = set_current_thread_nice_level(Some(
|
||||||
requested_nice_level.try_into().unwrap(),
|
requested_nice_level.try_into().unwrap(),
|
||||||
));
|
));
|
||||||
match actual_nice_level {
|
match actual_nice_level {
|
||||||
Ok(actual_nice_level) => println!("Requested nice level: {requested_nice_level}, Actual nice level: {}", actual_nice_level.value()),
|
Ok(actual_nice_level) => println!(
|
||||||
Err(Error::PermissionDenied) => println!("Permission denied. Do you have polkit rules set up, or otherwise have the necessary permissions?"),
|
"Requested nice level: {requested_nice_level}, Actual nice level: {}",
|
||||||
Err(e) => println!("Internal zbus error: {e}"),
|
actual_nice_level.value(),
|
||||||
|
),
|
||||||
|
Err(err) => {
|
||||||
|
eprintln!("Failed to set nice level: {}", err);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user