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>
This commit is contained in:
Marc-André Lureau 2016-10-22 13:09:37 +03:00 committed by Paolo Bonzini
parent 39ab61c6d0
commit 830896afe3
2 changed files with 5 additions and 4 deletions

View File

@ -81,6 +81,7 @@ typedef struct CharBackend {
IOReadHandler *chr_read; IOReadHandler *chr_read;
void *opaque; void *opaque;
int tag; int tag;
int fe_open;
} CharBackend; } CharBackend;
struct CharDriverState { struct CharDriverState {
@ -108,7 +109,6 @@ struct CharDriverState {
char *filename; char *filename;
int logfd; int logfd;
int be_open; int be_open;
int fe_open;
int explicit_be_open; int explicit_be_open;
int avail_connections; int avail_connections;
int is_mux; int is_mux;

View File

@ -910,6 +910,7 @@ bool qemu_chr_fe_init(CharBackend *b, CharDriverState *s, Error **errp)
s->be = b; s->be = b;
} }
b->fe_open = false;
b->tag = tag; b->tag = tag;
b->chr = s; b->chr = s;
@ -4216,10 +4217,10 @@ void qemu_chr_fe_set_open(CharBackend *be, int fe_open)
return; return;
} }
if (chr->fe_open == fe_open) { if (be->fe_open == fe_open) {
return; return;
} }
chr->fe_open = fe_open; be->fe_open = fe_open;
if (chr->chr_set_fe_open) { if (chr->chr_set_fe_open) {
chr->chr_set_fe_open(chr, 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 = g_malloc0(sizeof(*info->value));
info->value->label = g_strdup(chr->label); info->value->label = g_strdup(chr->label);
info->value->filename = g_strdup(chr->filename); 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; info->next = chr_list;
chr_list = info; chr_list = info;