From: Lennart Poettering Date: Thu, 9 Feb 2012 20:11:25 +0000 (+0100) Subject: service: imply NotifyAccess=main if WatchdogSec= is used X-Git-Tag: v42~15 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=02c4ef9c35e90ad562dc70fae25c81a8fd7f40f8 service: imply NotifyAccess=main if WatchdogSec= is used --- diff --git a/man/systemd.service.xml b/man/systemd.service.xml index 513b4e590..837a992ba 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 e78242138..ec2725a7b 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;