From 02c4ef9c35e90ad562dc70fae25c81a8fd7f40f8 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 9 Feb 2012 21:11:25 +0100 Subject: [PATCH] service: imply NotifyAccess=main if WatchdogSec= is used --- man/systemd.service.xml | 24 +++++++++++++++++++----- src/service.c | 3 +++ 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/man/systemd.service.xml b/man/systemd.service.xml index 513b4e59..837a992b 100644 --- a/man/systemd.service.xml +++ b/man/systemd.service.xml @@ -198,8 +198,8 @@ below) should be set to open access to the notification socket provided by systemd. If - NotifyAccess= is not - set, it will implicitly be set to + NotifyAccess= is + not set, it will be implicitly set to . @@ -478,7 +478,15 @@ time configured here will be passed to the executed service process in the WATCHDOG_USEC= - environment variable. Defaults to 0s, + environment variable. If + this option is used + NotifyAccess= (see + below) should be set to open access to + the notification socket provided by + systemd. If + NotifyAccess= is not + set, it will be implicitly set to + . Defaults to 0, which disables this feature. @@ -687,10 +695,16 @@ accepted. If all services updates from all members of the service's control group are - accepted. This option must be set to + accepted. This option should be set to open access to the notification socket when using - Type=notify (see above). + Type=notify or + WatchdogUsec= (see + above). If those options are used but + NotifyAccess= not + configured it will be implicitly set + to + . diff --git a/src/service.c b/src/service.c index e7824213..ec2725a7 100644 --- a/src/service.c +++ b/src/service.c @@ -1235,6 +1235,9 @@ static int service_load(Unit *u) { if (s->type == SERVICE_NOTIFY && s->notify_access == NOTIFY_NONE) s->notify_access = NOTIFY_MAIN; + if (s->watchdog_usec > 0 && s->notify_access == NOTIFY_NONE) + s->notify_access = NOTIFY_MAIN; + if (s->type == SERVICE_DBUS || s->bus_name) if ((r = unit_add_two_dependencies_by_name(u, UNIT_AFTER, UNIT_REQUIRES, SPECIAL_DBUS_SOCKET, NULL, true)) < 0) return r; -- 2.39.5