diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index 513b4e5900..837a992ba4 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 e782421389..ec2725a7ba 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;