Fix unbouneded loop and prep new version

This commit is contained in:
Luke Jones
2025-04-06 13:26:53 +12:00
parent c3f0e61ebc
commit 59aab24a4a
4 changed files with 32 additions and 19 deletions

View File

@@ -2,6 +2,11 @@
## [Unreleased]
## [v6.1.12]
### Changed
- Fix an unbounded event loop caused by other processes causing a "modify" event on the screen backlight brightness.
## [v6.1.11]
### Changed

28
Cargo.lock generated
View File

@@ -158,7 +158,7 @@ checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b"
[[package]]
name = "asusctl"
version = "6.1.11"
version = "6.1.12"
dependencies = [
"dmi_id",
"env_logger",
@@ -177,7 +177,7 @@ dependencies = [
[[package]]
name = "asusd"
version = "6.1.11"
version = "6.1.12"
dependencies = [
"cargo-husky",
"concat-idents",
@@ -204,7 +204,7 @@ dependencies = [
[[package]]
name = "asusd-user"
version = "6.1.11"
version = "6.1.12"
dependencies = [
"config-traits",
"dirs",
@@ -918,7 +918,7 @@ dependencies = [
[[package]]
name = "config-traits"
version = "6.1.11"
version = "6.1.12"
dependencies = [
"log",
"ron",
@@ -1310,7 +1310,7 @@ dependencies = [
[[package]]
name = "dmi_id"
version = "6.1.11"
version = "6.1.12"
dependencies = [
"log",
"udev 0.8.0",
@@ -4566,7 +4566,7 @@ dependencies = [
[[package]]
name = "rog-control-center"
version = "6.1.11"
version = "6.1.12"
dependencies = [
"asusd",
"concat-idents",
@@ -4597,7 +4597,7 @@ dependencies = [
[[package]]
name = "rog_anime"
version = "6.1.11"
version = "6.1.12"
dependencies = [
"dmi_id",
"gif 0.12.0",
@@ -4611,7 +4611,7 @@ dependencies = [
[[package]]
name = "rog_aura"
version = "6.1.11"
version = "6.1.12"
dependencies = [
"dmi_id",
"log",
@@ -4622,7 +4622,7 @@ dependencies = [
[[package]]
name = "rog_dbus"
version = "6.1.11"
version = "6.1.12"
dependencies = [
"asusd",
"rog_anime",
@@ -4636,7 +4636,7 @@ dependencies = [
[[package]]
name = "rog_platform"
version = "6.1.11"
version = "6.1.12"
dependencies = [
"concat-idents",
"inotify",
@@ -4649,7 +4649,7 @@ dependencies = [
[[package]]
name = "rog_profiles"
version = "6.1.11"
version = "6.1.12"
dependencies = [
"log",
"rog_platform",
@@ -4660,7 +4660,7 @@ dependencies = [
[[package]]
name = "rog_scsi"
version = "6.1.11"
version = "6.1.12"
dependencies = [
"ron",
"serde",
@@ -4670,7 +4670,7 @@ dependencies = [
[[package]]
name = "rog_simulators"
version = "6.1.11"
version = "6.1.12"
dependencies = [
"log",
"rog_anime",
@@ -4680,7 +4680,7 @@ dependencies = [
[[package]]
name = "rog_slash"
version = "6.1.11"
version = "6.1.12"
dependencies = [
"dmi_id",
"serde",

View File

@@ -1,5 +1,5 @@
[workspace.package]
version = "6.1.11"
version = "6.1.12"
rust-version = "1.82"
license = "MPL-2.0"
readme = "README.md"

View File

@@ -1,4 +1,5 @@
use std::sync::Arc;
use std::time::Duration;
use config_traits::StdConfig;
use futures_util::lock::Mutex;
@@ -165,10 +166,14 @@ impl CtrlBacklight {
let backlights = self.clone();
tokio::spawn(async move {
let mut last_level = 0;
let mut buffer = [0; 32];
use futures_lite::StreamExt;
if let Ok(mut stream) = watch.into_event_stream(&mut buffer) {
while (stream.next().await).is_some() {
// other processes cause "MODIFY" event and make this spin 100%, so sleep
tokio::time::sleep(Duration::from_secs(1)).await;
let sync = backlights.config.lock().await.screenpad_sync_primary;
if let Some(sync) = sync {
if !sync {
@@ -188,11 +193,14 @@ impl CtrlBacklight {
.get_brightness_percent(&BacklightType::Primary)
.await
.unwrap_or(60);
if last_level != level {
last_level = level;
backlights
.set_brightness_with_sync(&BacklightType::Screenpad, level)
.await
.ok();
}
}
// watch
// .into_event_stream(&mut buffer)
// .unwrap()