battery/gpu: Fix freezing after udev-event
This commit is contained in:
parent
1ad07dc2f3
commit
ee04d486fa
1 changed files with 38 additions and 32 deletions
|
|
@ -412,7 +412,8 @@ async fn start_listening(
|
||||||
.map(|(_, i, _)| i);
|
.map(|(_, i, _)| i);
|
||||||
|
|
||||||
tokio::select! {
|
tokio::select! {
|
||||||
_guard = monitor.monitor.readable() => {
|
guard = monitor.monitor.readable() => {
|
||||||
|
if let Ok(mut guard) = guard {
|
||||||
for event in monitor.monitor.get_ref().0.iter() {
|
for event in monitor.monitor.get_ref().0.iter() {
|
||||||
match event.event_type() {
|
match event.event_type() {
|
||||||
// New device
|
// New device
|
||||||
|
|
@ -473,6 +474,11 @@ async fn start_listening(
|
||||||
_ => {},
|
_ => {},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
guard.clear_ready_matching(tokio::io::Ready::READABLE);
|
||||||
|
} else {
|
||||||
|
return State::Finished;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
i = select_all => {
|
i = select_all => {
|
||||||
let gpu = &mut monitor.gpus[i];
|
let gpu = &mut monitor.gpus[i];
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue