The list is now empty, the chardev cleanup is taken care of by the unref of the root container.
Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- include/sysemu/char.h | 8 -------- chardev/char.c | 15 --------------- vl.c | 1 - 3 files changed, 24 deletions(-) diff --git a/include/sysemu/char.h b/include/sysemu/char.h index e3f3a10d17..e273c94421 100644 --- a/include/sysemu/char.h +++ b/include/sysemu/char.h @@ -95,7 +95,6 @@ struct Chardev { int be_open; guint fd_in_tag; DECLARE_BITMAP(features, QEMU_CHAR_FEATURE_LAST); - QTAILQ_ENTRY(Chardev) next; }; /** @@ -142,13 +141,6 @@ Chardev *qemu_chr_new(const char *label, const char *filename); void qemu_chr_fe_disconnect(CharBackend *be); /** - * @qemu_chr_cleanup: - * - * Delete all chardevs (when leaving qemu) - */ -void qemu_chr_cleanup(void); - -/** * @qemu_chr_fe_wait_connected: * * Wait for characted backend to be connected, return < 0 on error or diff --git a/chardev/char.c b/chardev/char.c index 1103b08177..f47d933828 100644 --- a/chardev/char.c +++ b/chardev/char.c @@ -42,9 +42,6 @@ /***********************************************************/ /* character device */ -static QTAILQ_HEAD(ChardevHead, Chardev) chardevs = - QTAILQ_HEAD_INITIALIZER(chardevs); - static Object *get_chardevs_root(void) { return container_get(object_get_root(), "/chardevs"); @@ -1050,9 +1047,6 @@ void qemu_chr_fe_disconnect(CharBackend *be) void qemu_chr_delete(Chardev *chr) { - if (QTAILQ_IN_USE(chr, next)) { - QTAILQ_REMOVE(&chardevs, chr, next); - } if (OBJECT(chr)->parent) { object_unparent(OBJECT(chr)); } else { @@ -1317,15 +1311,6 @@ void qmp_chardev_remove(const char *id, Error **errp) qemu_chr_delete(chr); } -void qemu_chr_cleanup(void) -{ - Chardev *chr, *tmp; - - QTAILQ_FOREACH_SAFE(chr, &chardevs, next, tmp) { - qemu_chr_delete(chr); - } -} - static void register_types(void) { type_register_static(&char_type_info); diff --git a/vl.c b/vl.c index 945df1d17f..7bce3b07e2 100644 --- a/vl.c +++ b/vl.c @@ -4639,7 +4639,6 @@ int main(int argc, char **argv, char **envp) net_cleanup(); audio_cleanup(); monitor_cleanup(); - qemu_chr_cleanup(); object_unref(object_get_root()); return 0; -- 2.11.0.295.gd7dffce1c.dirty