From 245792ddb71df93ef4f8b25834734c8dfa17af9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Wed, 16 Aug 2017 21:05:20 +0200 Subject: vhost-user-scsi: simplify unix path cleanup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Always remove the unix path when leaving the program (instead of when freeing scsi_dev). Note that unix_sock_new() also unlink() exisiting path before creating the socket. Signed-off-by: Marc-André Lureau Reviewed-by: Paolo Bonzini --- contrib/vhost-user-scsi/vhost-user-scsi.c | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) (limited to 'contrib') diff --git a/contrib/vhost-user-scsi/vhost-user-scsi.c b/contrib/vhost-user-scsi/vhost-user-scsi.c index 82624a0f17..a9a4066eeb 100644 --- a/contrib/vhost-user-scsi/vhost-user-scsi.c +++ b/contrib/vhost-user-scsi/vhost-user-scsi.c @@ -636,24 +636,9 @@ fail: static void vdev_scsi_free(vhost_scsi_dev_t *vdev_scsi) { - if (!vdev_scsi) { - return; - } - if (vdev_scsi->server_sock >= 0) { - struct sockaddr_storage ss; - socklen_t sslen = sizeof(ss); - - if (getsockname(vdev_scsi->server_sock, (struct sockaddr *)&ss, - &sslen) == 0) { - struct sockaddr_un *su = (struct sockaddr_un *)&ss; - (void)unlink(su->sun_path); - } - - (void)close(vdev_scsi->server_sock); - vdev_scsi->server_sock = -1; + close(vdev_scsi->server_sock); } - g_main_loop_unref(vdev_scsi->loop); g_tree_destroy(vdev_scsi->fdmap); g_free(vdev_scsi); @@ -762,7 +747,10 @@ int main(int argc, char **argv) } out: - vdev_scsi_free(vdev_scsi); + if (vdev_scsi) { + vdev_scsi_free(vdev_scsi); + unlink(unix_fn); + } g_free(unix_fn); g_free(iscsi_uri); -- cgit v1.2.1