X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fsocket.c;h=f2d854851d5c8c94435c7a129feddf0bd433b353;hp=d75504051b45718554512f2e410c0ebe9511e13f;hb=74051b9b5865586bf4d30b9075649af838fb92bd;hpb=4b20075e2fbd99caee8b6a782050969a087a1a21 diff --git a/src/core/socket.c b/src/core/socket.c index d75504051..f2d854851 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -102,8 +102,7 @@ static void socket_unwatch_control_pid(Socket *s) { s->control_pid = 0; } -static void socket_done(Unit *u) { - Socket *s = SOCKET(u); +void socket_free_ports(Socket *s) { SocketPort *p; assert(s); @@ -119,6 +118,14 @@ static void socket_done(Unit *u) { free(p->path); free(p); } +} + +static void socket_done(Unit *u) { + Socket *s = SOCKET(u); + + assert(s); + + socket_free_ports(s); exec_context_done(&s->exec_context); exec_command_free_array(s->exec_command, _SOCKET_EXEC_COMMAND_MAX);