[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 24/38] char: move fe_open in CharBackend
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCH 24/38] char: move fe_open in CharBackend |
Date: |
Sat, 22 Oct 2016 13:09:37 +0300 |
The fe_open state belongs to front end.
Signed-off-by: Marc-André Lureau <address@hidden>
---
qemu-char.c | 7 ++++---
include/sysemu/char.h | 2 +-
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/qemu-char.c b/qemu-char.c
index e52c3af..81a593b 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -921,6 +921,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;
@@ -4221,10 +4222,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);
}
@@ -4309,7 +4310,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;
diff --git a/include/sysemu/char.h b/include/sysemu/char.h
index ae32e1c..2c3060c 100644
--- a/include/sysemu/char.h
+++ b/include/sysemu/char.h
@@ -81,6 +81,7 @@ typedef struct CharBackend {
IOReadHandler *chr_read;
void *opaque;
int tag;
+ int fe_open;
} CharBackend;
struct CharDriverState {
@@ -108,7 +109,6 @@ struct CharDriverState {
char *filename;
int logfd;
int be_open;
- int fe_open;
int explicit_be_open;
int avail_connections;
int is_mux;
--
2.10.0
- [Qemu-devel] [PATCH 13/38] char: rename some frontend functions, (continued)
- [Qemu-devel] [PATCH 13/38] char: rename some frontend functions, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 16/38] char: fold qemu_chr_set_handlers in qemu_chr_fe_set_handlers, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 17/38] vhost-user: only initialize queue 0 CharBackend, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 15/38] char: use qemu_chr_fe* functions with CharBackend argument, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 18/38] char: replace qemu_chr_claim/release with qemu_chr_fe_init/deinit, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 19/38] char: make some qemu_chr_fe skip if no driver, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 20/38] tests: start chardev unit tests, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 21/38] char: move front end handlers in CharBackend, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 22/38] char: rename chr_close/chr_free, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 23/38] char: remove explicit_fe_open, use a set_handlers argument, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 24/38] char: move fe_open in CharBackend,
Marc-André Lureau <=
- [Qemu-devel] [PATCH 25/38] char: remove unused CHR_EVENT_FOCUS, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 26/38] char: use an enum for CHR_EVENT, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 27/38] char: remove unused qemu_chr_fe_event, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 28/38] char: replace avail_connections, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 29/38] char: use common error path in qmp_chardev_add, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 30/38] char: remove explicit_be_open from CharDriverState, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 31/38] char: use a const CharDriver, Marc-André Lureau, 2016/10/22
- [Qemu-devel] [PATCH 32/38] char: use a static array for backends, Marc-André Lureau, 2016/10/22