socket: properly handle if our service vanished during runtime

(cherry picked from commit 640ace4a8d)
(cherry picked from commit b56c47689c)
This commit is contained in:
Lennart Poettering
2014-06-18 12:34:16 -04:00
committed by Zbigniew Jędrzejewski-Szmek
parent ed15dbd87d
commit 01bd69736c
+6
View File
@@ -1462,6 +1462,12 @@ static void socket_enter_running(Socket *s, int cfd) {
}
if (!pending) {
if (!UNIT_ISSET(s->service)) {
log_error_unit(UNIT(s)->id, "%s: service to activate vanished, refusing activation.", UNIT(s)->id);
r = -ENOENT;
goto fail;
}
r = manager_add_job(UNIT(s)->manager, JOB_START, UNIT_DEREF(s->service), JOB_REPLACE, true, &error, NULL);
if (r < 0)
goto fail;