summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2013-01-23 14:12:15 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-01-24 19:36:47 -0500
commit6d594baa3fa3a361efc2a4c1da3557fc4eba960d (patch)
treef16d650b44df31a3dd6fae30911f4b753424ce17
parentc8503a3e16bb487e86682c9bee9a60f24b9e40d3 (diff)
service: really stop watchdog timer when stopping
For services without ExecStop= the state SERVICE_STOP is never entered. as a result the watchdog timer is not stopped and the service is restarted (if it is configuered to restart). Stopping the watchdog timer for SERVICE_STOP_SIGTERM as well fixes this.
-rw-r--r--src/core/service.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/service.c b/src/core/service.c
index ee5a1a41e5..593946e517 100644
--- a/src/core/service.c
+++ b/src/core/service.c
@@ -1550,7 +1550,7 @@ static void service_set_state(Service *s, ServiceState state) {
service_connection_unref(s);
}
- if (state == SERVICE_STOP)
+ if (state == SERVICE_STOP || state == SERVICE_STOP_SIGTERM)
service_stop_watchdog(s);
/* For the inactive states unit_notify() will trim the cgroup,