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:
parent
39ab61c6d0
commit
830896afe3
@ -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;
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user