chiark / gitweb /
service: refuse to start services that are configured for per-connection instantiatio...
[elogind.git] / src / service.c
index 646749ed9c85ff78ee82b40195a0e71b9b12cf5a..1bfab5013d0cfe2cfb61a74d7cd5c453a1191ac8 100644 (file)
@@ -1896,6 +1896,14 @@ static int service_start(Unit *u) {
                 return -ECANCELED;
         }
 
+        if ((s->exec_context.std_input == EXEC_INPUT_SOCKET ||
+             s->exec_context.std_output == EXEC_OUTPUT_SOCKET ||
+             s->exec_context.std_error == EXEC_OUTPUT_SOCKET) &&
+            s->socket_fd < 0) {
+                log_warning("%s can only be started with a per-connection socket.", u->meta.id);
+                return -EINVAL;
+        }
+
         s->failure = false;
         s->main_pid_known = false;
         s->allow_restart = true;