diff --git a/local/recipes/gpu/redox-drm/source/src/main.rs b/local/recipes/gpu/redox-drm/source/src/main.rs index e814e50265..c135f3e6cd 100644 --- a/local/recipes/gpu/redox-drm/source/src/main.rs +++ b/local/recipes/gpu/redox-drm/source/src/main.rs @@ -83,7 +83,20 @@ fn run(daemon: daemon::Daemon) -> Result<()> { break; } } - Ok(None) => {} + Ok(None) => { + match irq_driver.poll_hotplug() { + Ok(Some(event)) => { + if event_tx.send(event).is_err() { + error!("redox-drm: event consumer dropped, stopping IRQ event thread"); + break; + } + } + Ok(None) => {} + Err(e) => { + error!("redox-drm: hotplug poll error: {}", e); + } + } + } Err(e) => { error!("redox-drm: IRQ handler error: {}", e); }