diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/colo-compare.c | 8 | ||||
-rw-r--r-- | net/filter-mirror.c | 6 | ||||
-rw-r--r-- | net/vhost-user.c | 5 |
3 files changed, 7 insertions, 12 deletions
diff --git a/net/colo-compare.c b/net/colo-compare.c index 2fb75bcca4..6d500e1dc4 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -801,11 +801,9 @@ static void colo_compare_finalize(Object *obj) { CompareState *s = COLO_COMPARE(obj); - qemu_chr_fe_set_handlers(&s->chr_pri_in, NULL, NULL, NULL, NULL, - s->worker_context, true); - qemu_chr_fe_set_handlers(&s->chr_sec_in, NULL, NULL, NULL, NULL, - s->worker_context, true); - qemu_chr_fe_deinit(&s->chr_out); + qemu_chr_fe_deinit(&s->chr_pri_in, false); + qemu_chr_fe_deinit(&s->chr_sec_in, false); + qemu_chr_fe_deinit(&s->chr_out, false); g_main_loop_quit(s->compare_loop); qemu_thread_join(&s->thread); diff --git a/net/filter-mirror.c b/net/filter-mirror.c index a20330475c..52d978fce2 100644 --- a/net/filter-mirror.c +++ b/net/filter-mirror.c @@ -178,15 +178,15 @@ static void filter_mirror_cleanup(NetFilterState *nf) { MirrorState *s = FILTER_MIRROR(nf); - qemu_chr_fe_deinit(&s->chr_out); + qemu_chr_fe_deinit(&s->chr_out, false); } static void filter_redirector_cleanup(NetFilterState *nf) { MirrorState *s = FILTER_REDIRECTOR(nf); - qemu_chr_fe_deinit(&s->chr_in); - qemu_chr_fe_deinit(&s->chr_out); + qemu_chr_fe_deinit(&s->chr_in, false); + qemu_chr_fe_deinit(&s->chr_out, false); } static void filter_mirror_setup(NetFilterState *nf, Error **errp) 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); |