X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Fsocket.c;h=23658ac274a2343e0bb6ed7455e9d9954022b18f;hb=10f8e83cbb10c73b980c9b3b895ac044e600ba0c;hp=2a5270f336f96458a621ed5d881912efee631f73;hpb=56cf987fe74270bde4e16c7ec9e0414a9030723b;p=elogind.git diff --git a/src/socket.c b/src/socket.c index 2a5270f33..23658ac27 100644 --- a/src/socket.c +++ b/src/socket.c @@ -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; } @@ -296,7 +297,7 @@ static int socket_add_default_dependencies(Socket *s) { if ((r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SYSINIT_TARGET, NULL, true)) < 0) return r; - return unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_SHUTDOWN_TARGET, NULL, true); + return unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, UNIT_CONFLICTED_BY, SPECIAL_SHUTDOWN_TARGET, NULL, true); } static int socket_load(Unit *u) { @@ -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);