diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2017-01-27 00:49:13 +0400 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@redhat.com> | 2017-06-02 11:33:53 +0400 |
commit | 1ce2610c106d925387669b3133fc18ea986f0476 (patch) | |
tree | bd08c41941ea2235cabde4c02739f6ca52ff07d7 /net/vhost-user.c | |
parent | a9b1ca38c2b1f062f22d4847e3b4c848d0fb84c3 (diff) |
char: make chr_fe_deinit() optionaly delete backend
This simplifies removing a backend for a frontend user (no need to
retrieve the associated driver and separate delete call etc).
NB: many frontends have questionable handling of ending a chardev. They
should probably delete the backend to prevent broken reusage.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Diffstat (limited to 'net/vhost-user.c')
-rw-r--r-- | net/vhost-user.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/net/vhost-user.c b/net/vhost-user.c index 526290d8c1..a042ec6a34 100644 --- a/net/vhost-user.c +++ b/net/vhost-user.c @@ -151,10 +151,7 @@ static void vhost_user_cleanup(NetClientState *nc) s->vhost_net = NULL; } if (nc->queue_index == 0) { - Chardev *chr = qemu_chr_fe_get_driver(&s->chr); - - qemu_chr_fe_deinit(&s->chr); - object_unparent(OBJECT(chr)); + qemu_chr_fe_deinit(&s->chr, true); } qemu_purge_queued_packets(nc); |