chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
manager: serialize/deserialize startup time, too
[elogind.git]
/
src
/
socket.c
diff --git
a/src/socket.c
b/src/socket.c
index 2a5270f336f96458a621ed5d881912efee631f73..23658ac274a2343e0bb6ed7455e9d9954022b18f 100644
(file)
--- a/
src/socket.c
+++ b/
src/socket.c
@@
-165,6
+165,7
@@
static int socket_instantiate_service(Socket *s) {
if (r < 0)
return r;
if (r < 0)
return r;
+ u->meta.no_gc = true;
s->service = SERVICE(u);
return 0;
}
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;
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_CONFLICT
S
, SPECIAL_SHUTDOWN_TARGET, NULL, true);
+ return unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, UNIT_CONFLICT
ED_BY
, SPECIAL_SHUTDOWN_TARGET, NULL, true);
}
static int socket_load(Unit *u) {
}
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 ++;
s->service = NULL;
s->n_accepted ++;
+ service->meta.no_gc = false;
+
unit_choose_id(UNIT(service), name);
free(name);
unit_choose_id(UNIT(service), name);
free(name);