aboutsummaryrefslogtreecommitdiff
path: root/qemu-char.c
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2016-12-08 19:31:45 +0300
committerMarc-André Lureau <marcandre.lureau@redhat.com>2017-01-31 13:01:47 +0400
commit4d833ada524d84ff0dbccc63dc9845795205b364 (patch)
treec724691ed425f1cac0f1c856ad53bf680d65f18f /qemu-char.c
parentc930572883aa8c38ddf194bdcbfe3b75056feaa8 (diff)
char-stdio: convert to finalize
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'qemu-char.c')
-rw-r--r--qemu-char.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/qemu-char.c b/qemu-char.c
index 1981058f45..390e6a99de 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -1422,10 +1422,10 @@ static void qemu_chr_set_echo_stdio(Chardev *chr, bool echo)
tcsetattr (0, TCSANOW, &tty);
}
-static void qemu_chr_free_stdio(struct Chardev *chr)
+static void char_stdio_finalize(Object *obj)
{
term_exit();
- fd_chr_free(chr);
+ fd_chr_free(CHARDEV(chr));
}
static void qemu_chr_open_stdio(Chardev *chr,
@@ -3859,7 +3859,6 @@ static void char_stdio_class_init(ObjectClass *oc, void *data)
cc->chr_free = win_stdio_free;
#else
cc->chr_set_echo = qemu_chr_set_echo_stdio;
- cc->chr_free = qemu_chr_free_stdio;
#endif
}
@@ -3869,6 +3868,7 @@ static const TypeInfo char_stdio_type_info = {
.parent = TYPE_CHARDEV_WIN_STDIO,
#else
.parent = TYPE_CHARDEV_FD,
+ .instance_finalize = char_stdio_finalize,
#endif
.class_init = char_stdio_class_init,
};