From 5d71e463f49518c7702467f6145484afa31bf8ba Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 2 Jan 2023 17:35:23 +0100 Subject: [PATCH] logind: implement Type=notify-reload protocol properly So close already. Let's add the two missing notifications too. Fixes: #18484 --- src/login/logind.c | 6 ++++++ units/systemd-logind.service.in | 1 + 2 files changed, 7 insertions(+) diff --git a/src/login/logind.c b/src/login/logind.c index def2f5a4428..1feacd36011 100644 --- a/src/login/logind.c +++ b/src/login/logind.c @@ -1020,6 +1020,11 @@ static int manager_dispatch_reload_signal(sd_event_source *s, const struct signa Manager *m = userdata; int r; + (void) sd_notifyf(/* unset= */ false, + "RELOADING=1\n" + "STATUS=Reloading configuration...\n" + "MONOTONIC_USEC=" USEC_FMT, now(CLOCK_MONOTONIC)); + manager_reset_config(m); r = manager_parse_config_file(m); if (r < 0) @@ -1027,6 +1032,7 @@ static int manager_dispatch_reload_signal(sd_event_source *s, const struct signa else log_info("Config file reloaded."); + (void) sd_notify(/* unset= */ false, NOTIFY_READY); return 0; } diff --git a/units/systemd-logind.service.in b/units/systemd-logind.service.in index 042ea75d7ab..24f5ddaa173 100644 --- a/units/systemd-logind.service.in +++ b/units/systemd-logind.service.in @@ -58,6 +58,7 @@ StateDirectory=systemd/linger SystemCallArchitectures=native SystemCallErrorNumber=EPERM SystemCallFilter=@system-service +Type=notify-reload {{SERVICE_WATCHDOG}} # Increase the default a bit in order to allow many simultaneous logins since