Skip to content

Commit dcd771e

Browse files
committed
musl: time64: update struct sched_param
A bunch of properties were removed upstream and set to reserved. This matches upstream commit bminor/musl@827aa8f and bminor/musl@2d69fcf
1 parent ca18daa commit dcd771e

File tree

5 files changed

+80
-8
lines changed

5 files changed

+80
-8
lines changed

src/new/emscripten/sched.rs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
use crate::prelude::*;
2+
3+
cfg_if! {
4+
if #[cfg(musl_v1_2_3)] {
5+
s! {
6+
struct __c_anon_sched_param__reserved2 {
7+
__reserved1: crate::time_t,
8+
__reserved2: c_long,
9+
}
10+
11+
pub struct sched_param {
12+
pub sched_priority: c_int,
13+
14+
__reserved1: Padding<c_int>,
15+
#[cfg(musl32_time64)]
16+
__reserved2: Padding<[c_long; 4]>,
17+
#[cfg(not(musl32_time64))]
18+
__reserved2: Padding<[__c_anon_sched_param__reserved2; 2]>,
19+
__reserved3: Padding<c_int>,
20+
}
21+
}
22+
} else {
23+
s! {
24+
pub struct sched_param {
25+
pub sched_priority: c_int,
26+
27+
#[deprecated(since = "0.2.173", note = "This field has been removed upstream")]
28+
pub sched_ss_low_priority: c_int,
29+
#[deprecated(since = "0.2.173", note = "This field has been removed upstream")]
30+
pub sched_ss_repl_period: crate::timespec,
31+
#[deprecated(since = "0.2.173", note = "This field has been removed upstream")]
32+
pub sched_ss_init_budget: crate::timespec,
33+
#[deprecated(since = "0.2.173", note = "This field has been removed upstream")]
34+
pub sched_ss_max_repl: c_int,
35+
}
36+
}
37+
}
38+
}

src/new/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ cfg_if! {
5858
pub(crate) use dragonfly::*;
5959
} else if #[cfg(target_os = "emscripten")] {
6060
mod emscripten;
61+
pub use emscripten::sched::*;
6162
pub(crate) use emscripten::*;
6263
} else if #[cfg(target_os = "espidf")] {
6364
mod espidf;
@@ -150,6 +151,7 @@ cfg_if! {
150151
} else if #[cfg(any(target_env = "musl", target_env = "ohos"))] {
151152
// OhOS also uses the musl libc
152153
mod musl;
154+
pub use musl::sched::*;
153155
pub(crate) use musl::*;
154156
} else if #[cfg(target_env = "newlib")] {
155157
mod newlib;

src/new/musl/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,5 @@ pub(crate) mod sys {
2929
pub(crate) mod socket;
3030
}
3131

32+
pub(crate) mod sched;
3233
pub(crate) mod unistd;

src/new/musl/sched.rs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
use crate::prelude::*;
2+
3+
cfg_if! {
4+
if #[cfg(musl_v1_2_3)] {
5+
s! {
6+
struct __c_anon_sched_param__reserved2 {
7+
__reserved1: crate::time_t,
8+
__reserved2: c_long,
9+
}
10+
11+
pub struct sched_param {
12+
pub sched_priority: c_int,
13+
14+
__reserved1: Padding<c_int>,
15+
#[cfg(musl32_time64)]
16+
__reserved2: Padding<[c_long; 4]>,
17+
#[cfg(not(musl32_time64))]
18+
__reserved2: Padding<[__c_anon_sched_param__reserved2; 2]>,
19+
__reserved3: Padding<c_int>,
20+
}
21+
}
22+
} else {
23+
s! {
24+
pub struct sched_param {
25+
pub sched_priority: c_int,
26+
27+
#[deprecated(since = "0.2.173", note = "This field has been removed upstream")]
28+
pub sched_ss_low_priority: c_int,
29+
#[deprecated(since = "0.2.173", note = "This field has been removed upstream")]
30+
pub sched_ss_repl_period: crate::timespec,
31+
#[deprecated(since = "0.2.173", note = "This field has been removed upstream")]
32+
pub sched_ss_init_budget: crate::timespec,
33+
#[deprecated(since = "0.2.173", note = "This field has been removed upstream")]
34+
pub sched_ss_max_repl: c_int,
35+
}
36+
}
37+
}
38+
}

src/unix/linux_like/mod.rs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -109,16 +109,9 @@ s! {
109109
pub tm_zone: *const c_char,
110110
}
111111

112+
#[cfg(not(any( target_env = "musl", target_os = "emscripten", target_env = "ohos")))]
112113
pub struct sched_param {
113114
pub sched_priority: c_int,
114-
#[cfg(any(target_env = "musl", target_os = "emscripten", target_env = "ohos"))]
115-
pub sched_ss_low_priority: c_int,
116-
#[cfg(any(target_env = "musl", target_os = "emscripten", target_env = "ohos"))]
117-
pub sched_ss_repl_period: crate::timespec,
118-
#[cfg(any(target_env = "musl", target_os = "emscripten", target_env = "ohos"))]
119-
pub sched_ss_init_budget: crate::timespec,
120-
#[cfg(any(target_env = "musl", target_os = "emscripten", target_env = "ohos"))]
121-
pub sched_ss_max_repl: c_int,
122115
}
123116

124117
pub struct Dl_info {

0 commit comments

Comments
 (0)