From 2423357754ae7d64d844fc064c72b8d27adf40c4 Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Tue, 8 Jul 2014 16:14:19 +0200 Subject: [PATCH] Remove socket when closing UDS transport. [RC: added cast to sockaddr to avoid compiler warning. ] Signed-off-by: Miroslav Lichvar --- uds.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/uds.c b/uds.c index e98e32c..97edb97 100644 --- a/uds.c +++ b/uds.c @@ -42,6 +42,14 @@ struct uds { static int uds_close(struct transport *t, struct fdarray *fda) { + struct sockaddr_un sa; + socklen_t len = sizeof(sa); + + if (!getsockname(fda->fd[FD_GENERAL], (struct sockaddr *) &sa, &len) && + sa.sun_family == AF_LOCAL) { + unlink(sa.sun_path); + } + close(fda->fd[FD_GENERAL]); return 0; }