mirror of
https://github.com/servo/servo.git
synced 2025-08-07 14:35:33 +01:00
Update energymon dependencies.
Ensure the energymon is enabled before trying to get refresh interval.
This commit is contained in:
parent
484c0e4546
commit
965fbbd99f
3 changed files with 13 additions and 9 deletions
|
@ -19,7 +19,7 @@ features = [ "serde_serialization" ]
|
||||||
|
|
||||||
[dependencies.energymon]
|
[dependencies.energymon]
|
||||||
git = "https://github.com/energymon/energymon-rust.git"
|
git = "https://github.com/energymon/energymon-rust.git"
|
||||||
rev = "67f74732ac"
|
rev = "eba1d8a"
|
||||||
optional = true
|
optional = true
|
||||||
|
|
||||||
[dependencies.energy-monitor]
|
[dependencies.energy-monitor]
|
||||||
|
|
|
@ -36,8 +36,8 @@ mod energymon {
|
||||||
|
|
||||||
static mut EM: Option<*mut EnergyMon> = None;
|
static mut EM: Option<*mut EnergyMon> = None;
|
||||||
|
|
||||||
/// Read energy from the energy monitor, otherwise return 0.
|
fn init() {
|
||||||
pub fn read_energy_uj() -> u64 {
|
// can't use lazy_static macro for EM (no Sync trait for EnergyMon)
|
||||||
static ONCE: Once = ONCE_INIT;
|
static ONCE: Once = ONCE_INIT;
|
||||||
ONCE.call_once(|| {
|
ONCE.call_once(|| {
|
||||||
if let Ok(em) = EnergyMon::new() {
|
if let Ok(em) = EnergyMon::new() {
|
||||||
|
@ -47,7 +47,11 @@ mod energymon {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Read energy from the energy monitor, otherwise return 0.
|
||||||
|
pub fn read_energy_uj() -> u64 {
|
||||||
|
init();
|
||||||
unsafe {
|
unsafe {
|
||||||
// EnergyMon implementations of EnergyMonitor always return a value
|
// EnergyMon implementations of EnergyMonitor always return a value
|
||||||
EM.map_or(0, |em| (*em).read_uj().unwrap())
|
EM.map_or(0, |em| (*em).read_uj().unwrap())
|
||||||
|
@ -55,6 +59,7 @@ mod energymon {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_min_interval_ms() -> u32 {
|
pub fn get_min_interval_ms() -> u32 {
|
||||||
|
init();
|
||||||
unsafe {
|
unsafe {
|
||||||
EM.map_or(0, |em| ((*em).interval_us() as f64 / 1000.0).ceil() as u32)
|
EM.map_or(0, |em| ((*em).interval_us() as f64 / 1000.0).ceil() as u32)
|
||||||
}
|
}
|
||||||
|
|
11
components/servo/Cargo.lock
generated
11
components/servo/Cargo.lock
generated
|
@ -473,18 +473,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "energymon"
|
name = "energymon"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/energymon/energymon-rust.git?rev=67f74732ac#67f74732ac0acc682659f7e81836155a32188fd0"
|
source = "git+https://github.com/energymon/energymon-rust.git?rev=eba1d8a#eba1d8a7256b710230ea2c1b26525b88bfcb529d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"energy-monitor 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"energy-monitor 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"energymon-default-sys 0.1.0 (git+https://github.com/energymon/energymon-default-sys.git)",
|
"energymon-default-sys 0.1.0 (git+https://github.com/energymon/energymon-sys.git)",
|
||||||
"energymon-sys 0.1.0 (git+https://github.com/energymon/energymon-sys.git)",
|
|
||||||
"libc 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "energymon-default-sys"
|
name = "energymon-default-sys"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/energymon/energymon-default-sys.git#82dd2f6762b492ced15d8446b70569778200c287"
|
source = "git+https://github.com/energymon/energymon-sys.git#82756eee725db3ccb658f14857947a0260743d4d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"energymon-sys 0.1.0 (git+https://github.com/energymon/energymon-sys.git)",
|
"energymon-sys 0.1.0 (git+https://github.com/energymon/energymon-sys.git)",
|
||||||
"libc 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -494,7 +493,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "energymon-sys"
|
name = "energymon-sys"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/energymon/energymon-sys.git#6306f70e5d5c824fa168e43521385798fd1b890b"
|
source = "git+https://github.com/energymon/energymon-sys.git#82756eee725db3ccb658f14857947a0260743d4d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
@ -1417,7 +1416,7 @@ name = "profile_traits"
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"energy-monitor 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"energy-monitor 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"energymon 0.1.0 (git+https://github.com/energymon/energymon-rust.git?rev=67f74732ac)",
|
"energymon 0.1.0 (git+https://github.com/energymon/energymon-rust.git?rev=eba1d8a)",
|
||||||
"ipc-channel 0.1.0 (git+https://github.com/pcwalton/ipc-channel)",
|
"ipc-channel 0.1.0 (git+https://github.com/pcwalton/ipc-channel)",
|
||||||
"plugins 0.0.1",
|
"plugins 0.0.1",
|
||||||
"serde 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue