From 9dd6901d59a29943872744409004b194cf6e3e47 Mon Sep 17 00:00:00 2001 From: 4lDO2 <4lDO2@protonmail.com> Date: Fri, 5 Jun 2026 11:03:32 +0200 Subject: [PATCH] acpid: setrens before ready(), fixing deadlock. Otherwise, an open call to /scheme/acpi/tables will result in nsmgr blocking on an `openat(acpi_root, "tables")` call, which will never occur if acpid is itself blocking on a `ForkNs` call to nsmgr before it can serve any scheme requests. --- drivers/acpid/src/main.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/acpid/src/main.rs b/drivers/acpid/src/main.rs index e9c871683f..b145135919 100644 --- a/drivers/acpid/src/main.rs +++ b/drivers/acpid/src/main.rs @@ -110,11 +110,11 @@ fn daemon(daemon: daemon::Daemon) -> ! { register_sync_scheme(&socket, "acpi", &mut scheme) .expect("acpid: failed to register acpi scheme to namespace"); + libredox::call::setrens(0, 0).expect("acpid: failed to enter null namespace"); + daemon.ready(); log::info!("acpid ready"); - libredox::call::setrens(0, 0).expect("acpid: failed to enter null namespace"); - let mut mounted = true; while mounted { let Some(event) = event_queue