diff options
author | Lennart Poettering <lennart@poettering.net> | 2023-02-23 10:35:00 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2023-03-01 09:43:23 +0100 |
commit | ee32689f39d7a0bf3cec09aa729ccc61aa0bd10f (patch) | |
tree | 2988bbefd3d8f0ffc272c92fa28e451d5c00698d /src/userdb | |
parent | 988851b6f91690437a7a1adc1b4c4af994cf8aa0 (diff) | |
download | systemd-ee32689f39d7a0bf3cec09aa729ccc61aa0bd10f.tar.gz |
userdbd: hook up memory pressure and sigrtmin18
Diffstat (limited to 'src/userdb')
-rw-r--r-- | src/userdb/userdbd-manager.c | 9 | ||||
-rw-r--r-- | src/userdb/userdbd.c | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/userdb/userdbd-manager.c b/src/userdb/userdbd-manager.c index 7890d047c4..997ef83f57 100644 --- a/src/userdb/userdbd-manager.c +++ b/src/userdb/userdbd-manager.c @@ -4,6 +4,7 @@ #include "sd-daemon.h" +#include "common-signal.h" #include "fd-util.h" #include "fs-util.h" #include "mkdir.h" @@ -102,6 +103,14 @@ int manager_new(Manager **ret) { if (r < 0) return r; + r = sd_event_add_signal(m->event, NULL, SIGRTMIN+18, sigrtmin18_handler, NULL); + if (r < 0) + return r; + + r = sd_event_add_memory_pressure(m->event, NULL, NULL, NULL); + if (r < 0) + log_debug_errno(r, "Failed allocate memory pressure event source, ignoring: %m"); + (void) sd_event_set_watchdog(m->event, true); m->workers_fixed = set_new(NULL); diff --git a/src/userdb/userdbd.c b/src/userdb/userdbd.c index 0c321bf411..2bf37a52c4 100644 --- a/src/userdb/userdbd.c +++ b/src/userdb/userdbd.c @@ -37,7 +37,7 @@ static int run(int argc, char *argv[]) { if (setenv("SYSTEMD_BYPASS_USERDB", "io.systemd.NameServiceSwitch:io.systemd.Multiplexer:io.systemd.DropIn", 1) < 0) return log_error_errno(errno, "Failed to set $SYSTEMD_BYPASS_USERDB: %m"); - assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGCHLD, SIGTERM, SIGINT, SIGUSR2, -1) >= 0); + assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGCHLD, SIGTERM, SIGINT, SIGUSR2, SIGRTMIN+18, -1) >= 0); r = manager_new(&m); if (r < 0) |