mirror of
https://github.com/troglobit/finit.git
synced 2026-10-24 11:54:36 +00:00
keventd: defer pidfile until coldplug queue is drained
When started with -c (the default when keventd is the device manager), gate the pidfile on the kernel's uevent_seqnum having been stable for 200ms. Up to now ready signaling with the pidfile was done right after coldplug() triggered the kernel to re-emit events, but before uev_run() had drained any of them, so <pid/keventd> really only meant "listening on netlink". With the gate, services that depend on <pid/keventd> can now assume /dev is populated and persistent symlinks are live. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
3 files changed
+93
-11
No files matched your search
@@ -154,6 +154,12 @@ kernel to re-emit add events for all existing devices.
|
||||
|
||||
This replaces the separate `coldplug` script previously used with mdev.
|
||||
|
||||
When `-c` is used, keventd defers its pidfile (and the `pid/keventd`
|
||||
condition Finit asserts from it) until the coldplug event queue has
|
||||
been fully drained. Services that depend on `<pid/keventd>` can
|
||||
therefore assume `/dev` is populated and persistent symlinks are live,
|
||||
without needing a separate `settle` step.
|
||||
|
||||
|
||||
Netlink Rebroadcast
|
||||
-------------------
|
||||
|
||||
Reference in new issue
Block a user