On Mon, May 21, 2018 at 07:17:35PM +0300, Pavel Balaev wrote:
> This is a second attempt at sending this patch:
>
> http://lists.nongnu.org/archive/html/qemu-devel/2018-05/msg04697.html
>
> Signed-off-by: Pavel Balaev <mail@void.so>
> ---
> io/channel-socket.c | 18 +++++++++++++++++-
> 1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/io/channel-socket.c b/io/channel-socket.c
> index 57cfb4d3a6..b50e63a053 100644
> --- a/io/channel-socket.c
> +++ b/io/channel-socket.c
> @@ -685,8 +685,10 @@ qio_channel_socket_close(QIOChannel *ioc,
> Error **errp)
> {
> QIOChannelSocket *sioc = QIO_CHANNEL_SOCKET(ioc);
> + int rc = 0;
>
> if (sioc->fd != -1) {
> + SocketAddress *addr = socket_local_address(sioc->fd, errp);
> #ifdef WIN32
> WSAEventSelect(sioc->fd, NULL, 0);
> #endif
> @@ -697,8 +699,22 @@ qio_channel_socket_close(QIOChannel *ioc,
> return -1;
> }
> sioc->fd = -1;
> +
> + if (addr && addr->type == SOCKET_ADDRESS_TYPE_UNIX
> + && addr->u.q_unix.path) {
> + if (unlink(addr->u.q_unix.path) < 0 && errno != ENOENT) {
> + error_setg_errno(errp, errno,
> + "Failed to unlink socket %s",
> + addr->u.q_unix.path);
> + rc = -1;
> + }
> + }
> +
> + if (addr) {
> + qapi_free_SocketAddress(addr);
> + }
> }
> - return 0;
> + return rc;
> }
>
> static int
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
I've queued this now, thanks.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|