qemu-char: remove all msgfds on disconnect
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Tue, 23 Feb 2016 18:10:52 +0000 (19:10 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Fri, 11 Mar 2016 14:59:12 +0000 (16:59 +0200)
Disconnect should reset context.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
qemu-char.c

index fc4611d3b808f4e463cbfad420ea5455298be1cc..3813efdf1986da33d45c65f60d5d8064e622fe55 100644 (file)
@@ -2774,6 +2774,7 @@ static void tcp_chr_disconnect(CharDriverState *chr)
         s->listen_tag = qio_channel_add_watch(
             QIO_CHANNEL(s->listen_ioc), G_IO_IN, tcp_chr_accept, chr, NULL);
     }
+    tcp_set_msgfds(chr, NULL, 0);
     remove_fd_in_watch(chr);
     object_unref(OBJECT(s->sioc));
     s->sioc = NULL;