183354fcb1
The previous fire-and-forget fix passed hwd's own INIT_NOTIFY fd to pcid, but that fd had CLOEXEC set (by daemon::Daemon::new), so pcid inherited a closed fd and panicked in PipeWriter::from_raw_fd. Fix: create a new pipe in hwd before spawning pcid. Pass the write end as INIT_NOTIFY with CLOEXEC cleared (via pre_exec). Drop the read end immediately — pcid's daemon.ready() will get EPIPE, which is silently ignored by the daemon library. This gives pcid a valid fd while still being fully non-blocking from hwd's perspective.