summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-05-16 07:49:51 +0000
committerbors <bors@rust-lang.org>2021-05-16 07:49:51 +0000
commit8580e972b57d5d55ddf5fb63b418ca484be934dc (patch)
treeb2ca1e229c6838b153e07fe2e9c0ff896f4fbfab
parentb3692e96b9e0791f691e9f7c725f4af5def0a093 (diff)
parent3c6c414c64fc952edf534d87c25ad0a37cfbc90f (diff)
downloadrust-libc-8580e972b57d5d55ddf5fb63b418ca484be934dc.tar.gz
Auto merge of #2175 - devnexen:haiku_upd, r=JohnTitor
Add kernel scheduler API to Haiku
-rwxr-xr-xlibc-test/build.rs1
-rw-r--r--src/unix/haiku/native.rs9
2 files changed, 10 insertions, 0 deletions
diff --git a/libc-test/build.rs b/libc-test/build.rs
index 1ed4bc6895..35e9550dcf 100755
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -3205,6 +3205,7 @@ fn test_haiku(target: &str) {
"kernel/fs_query.h",
"kernel/fs_volume.h",
"kernel/image.h",
+ "kernel/scheduler.h",
"storage/StorageDefs.h",
"support/Errors.h",
"support/SupportDefs.h",
diff --git a/src/unix/haiku/native.rs b/src/unix/haiku/native.rs
index a3c70e883f..5a37c68241 100644
--- a/src/unix/haiku/native.rs
+++ b/src/unix/haiku/native.rs
@@ -61,6 +61,12 @@ e! {
B_ADD_ON_IMAGE,
B_SYSTEM_IMAGE
}
+
+ // kernel/scheduler.h
+ pub enum schduler_mode {
+ SCHEDULER_MODE_LOW_LATENCY,
+ SCHEDULER_MODE_POWER_SAVING,
+ }
}
s! {
@@ -744,6 +750,9 @@ extern "C" {
pub fn find_thread(name: *const ::c_char) -> thread_id;
+ pub fn get_scheduler_mode() -> i32;
+ pub fn set_scheduler_mode(mode: i32) -> status_t;
+
pub fn send_data(
thread: thread_id,
code: i32,