chiark / gitweb /
load-fragment: speed up parsing by using a perfect hash table with configuration...
[elogind.git] / src / socket.c
index 64d1028d4f1e42f90ba440fcbdde1a0f588bbaa8..468d1018c1f1d61e2c32c223647f35b8044fcdd4 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;
                         }
@@ -2088,6 +2091,10 @@ DEFINE_STRING_TABLE_LOOKUP(socket_exec_command, SocketExecCommand);
 
 const UnitVTable socket_vtable = {
         .suffix = ".socket",
+        .sections =
+                "Unit\0"
+                "Socket\0"
+                "Install\0",
 
         .init = socket_init,
         .done = socket_done,