chiark / gitweb /
socket: disable GC for pre-allocated per-connection service until it is used
[elogind.git] / src / socket.c
index 7c280e0067bb1d6a30963db123cedb47fc8c2501..23658ac274a2343e0bb6ed7455e9d9954022b18f 100644 (file)
@@ -165,6 +165,7 @@ static int socket_instantiate_service(Socket *s) {
         if (r < 0)
                 return r;
 
+        u->meta.no_gc = true;
         s->service = SERVICE(u);
         return 0;
 }
@@ -1202,6 +1203,8 @@ static void socket_enter_running(Socket *s, int cfd) {
                 s->service = NULL;
                 s->n_accepted ++;
 
+                service->meta.no_gc = false;
+
                 unit_choose_id(UNIT(service), name);
                 free(name);