aboutsummaryrefslogtreecommitdiff
path: root/qemu-char.c
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2016-10-22 13:09:37 +0300
committerPaolo Bonzini <pbonzini@redhat.com>2016-10-24 15:46:10 +0200
commit830896afe3d0ba74f023faba88eac2b5ef91a11b (patch)
treeb0e60b5214996e88e6da9f95acf9735ee639c7b0 /qemu-char.c
parent39ab61c6d0757ed95badc9315857effdb64e4aa0 (diff)
char: move fe_open in CharBackend
The fe_open state belongs to front end. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20161022100951.19562-1-marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'qemu-char.c')
-rw-r--r--qemu-char.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/qemu-char.c b/qemu-char.c
index a1517a4e4c..3b98acf279 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -910,6 +910,7 @@ bool qemu_chr_fe_init(CharBackend *b, CharDriverState *s, Error **errp)
s->be = b;
}
+ b->fe_open = false;
b->tag = tag;
b->chr = s;
@@ -4216,10 +4217,10 @@ void qemu_chr_fe_set_open(CharBackend *be, int fe_open)
return;
}
- if (chr->fe_open == fe_open) {
+ if (be->fe_open == fe_open) {
return;
}
- chr->fe_open = fe_open;
+ be->fe_open = fe_open;
if (chr->chr_set_fe_open) {
chr->chr_set_fe_open(chr, fe_open);
}
@@ -4304,7 +4305,7 @@ ChardevInfoList *qmp_query_chardev(Error **errp)
info->value = g_malloc0(sizeof(*info->value));
info->value->label = g_strdup(chr->label);
info->value->filename = g_strdup(chr->filename);
- info->value->frontend_open = chr->fe_open;
+ info->value->frontend_open = chr->be && chr->be->fe_open;
info->next = chr_list;
chr_list = info;