summaryrefslogtreecommitdiff
path: root/src/core/socket.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2018-02-15 17:47:37 +0100
committerGitHub <noreply@github.com>2018-02-15 17:47:37 +0100
commita94ab7acfd852c77775498796af180d6f36f3ba3 (patch)
tree57af490a41a1ad2be6bc6ad8582fa7663b826046 /src/core/socket.c
parent476f65f98a60b070bfec85842f220f0d37819f7f (diff)
parent554ce41f619f0a03b5fc777af4b923ff68fe13d4 (diff)
downloadsystemd-a94ab7acfd852c77775498796af180d6f36f3ba3.tar.gz
Merge pull request #8175 from keszybz/gc-cleanup
Garbage collection cleanup
Diffstat (limited to 'src/core/socket.c')
-rw-r--r--src/core/socket.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/core/socket.c b/src/core/socket.c
index 38ad8820be..1a57cf0e11 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -250,7 +250,7 @@ int socket_instantiate_service(Socket *s) {
if (r < 0)
return r;
- unit_ref_set(&s->service, u);
+ unit_ref_set(&s->service, UNIT(s), u);
return unit_add_two_dependencies(UNIT(s), UNIT_BEFORE, UNIT_TRIGGERS, u, false, UNIT_DEPENDENCY_IMPLICIT);
}
@@ -377,7 +377,7 @@ static int socket_add_extras(Socket *s) {
if (r < 0)
return r;
- unit_ref_set(&s->service, x);
+ unit_ref_set(&s->service, u, x);
}
r = unit_add_two_dependencies(u, UNIT_BEFORE, UNIT_TRIGGERS, UNIT_DEREF(s->service), true, UNIT_DEPENDENCY_IMPLICIT);
@@ -2818,12 +2818,12 @@ SocketType socket_port_type_from_string(const char *s) {
return _SOCKET_TYPE_INVALID;
}
-_pure_ static bool socket_check_gc(Unit *u) {
+_pure_ static bool socket_may_gc(Unit *u) {
Socket *s = SOCKET(u);
assert(u);
- return s->n_connections > 0;
+ return s->n_connections == 0;
}
static int socket_accept_do(Socket *s, int fd) {
@@ -3323,7 +3323,7 @@ const UnitVTable socket_vtable = {
.active_state = socket_active_state,
.sub_state_to_string = socket_sub_state_to_string,
- .check_gc = socket_check_gc,
+ .may_gc = socket_may_gc,
.sigchld_event = socket_sigchld_event,