chiark / gitweb /
dbus: export unit file state
[elogind.git] / src / socket.c
index 64d1028d4f1e42f90ba440fcbdde1a0f588bbaa8..44051554818d07af0d2c6939c31029237cbd6c23 100644 (file)
@@ -892,11 +892,14 @@ static int socket_open_fds(Socket *s) {
                                 if ((r = socket_instantiate_service(s)) < 0)
                                         return r;
 
-                                if (s->service && s->service->exec_command[SERVICE_EXEC_START])
-                                        if ((r = label_get_socket_label_from_exe(s->service->exec_command[SERVICE_EXEC_START]->path, &label)) < 0) {
+                                if (s->service && s->service->exec_command[SERVICE_EXEC_START]) {
+                                        r = label_get_create_label_from_exe(s->service->exec_command[SERVICE_EXEC_START]->path, &label);
+
+                                        if (r < 0) {
                                                 if (r != -EPERM)
                                                         return r;
                                         }
+                                }
 
                                 know_label = true;
                         }