diff options
author | Tom Gundersen <teg@jklm.no> | 2015-06-02 23:08:11 +0200 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2015-06-03 02:03:17 +0200 |
commit | 7500cd5e96cff52a726d03194e3b927771ddb1d4 (patch) | |
tree | 73428fffa5d22b06c0fefee5014c9f837fd385a7 | |
parent | b7f74dd48f7f3166caf781487c1f5c51f6b70d48 (diff) |
udevd: make sd_notify independent of forknig/notify mode
This will simply silently fail on non-systemd systems, so there is no reason
to make it conditional.
Also make it clear that we notify systemd about being ready as the last step
before starting the event loop, whereas the forking might need to happen
earlier.
-rw-r--r-- | src/udev/udevd.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/udev/udevd.c b/src/udev/udevd.c index a6cddf6e5a..5fee67d8df 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -1716,15 +1716,16 @@ int main(int argc, char *argv[]) { setsid(); write_string_file("/proc/self/oom_score_adj", "-1000"); - } else - sd_notify(false, - "READY=1\n" - "STATUS=Processing..."); + } r = manager_listen(manager); if (r < 0) return log_error_errno(r, "failed to set up fds and listen for events: %m"); + (void) sd_notify(false, + "READY=1\n" + "STATUS=Processing..."); + r = sd_event_loop(manager->event); if (r < 0) { log_error_errno(r, "event loop failed: %m"); |