Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=45511
---
 src/service.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/service.c b/src/service.c
index 8b5c0b0..4bf6684 100644
--- a/src/service.c
+++ b/src/service.c
@@ -2208,9 +2208,10 @@ static void service_enter_restart(Service *s) {
                         goto fail;
         }
 
-        service_enter_dead(s, SERVICE_SUCCESS, false);
-
-        if ((r = manager_add_job(UNIT(s)->manager, JOB_START, UNIT(s), 
JOB_FAIL, false, &error, NULL)) < 0)
+       /* Any units that are bound to this service must also be
+        * restarted. We use JOB_RESTART here so that those job
+        * dependencies will be added. */
+        if ((r = manager_add_job(UNIT(s)->manager, JOB_RESTART, UNIT(s), 
JOB_FAIL, false, &error, NULL)) < 0)
                 goto fail;
 
         log_debug("%s scheduled restart job.", UNIT(s)->id);
-- 
1.7.1

_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to