From: Lennart Poettering Date: Thu, 23 Feb 2023 09:35:00 +0000 (+0100) Subject: userdbd: hook up memory pressure and sigrtmin18 X-Git-Tag: v254-rc1~1142^2~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ee32689f39d7a0bf3cec09aa729ccc61aa0bd10f;p=thirdparty%2Fsystemd.git userdbd: hook up memory pressure and sigrtmin18 --- diff --git a/src/userdb/userdbd-manager.c b/src/userdb/userdbd-manager.c index 7890d047c49..997ef83f577 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 0c321bf4119..2bf37a52c4d 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)