diff options
author | Anton Nefedov | 2017-07-06 14:08:49 +0200 |
---|---|---|
committer | Paolo Bonzini | 2017-07-14 11:04:33 +0200 |
commit | 81517ba37a6cec59f92396b4722861868eb0a500 (patch) | |
tree | debc47fba5f9718bc490176419076212e7dc1b57 /chardev | |
parent | char: move QemuOpts->ChardevBackend translation to a separate func (diff) | |
download | qemu-81517ba37a6cec59f92396b4722861868eb0a500.tar.gz qemu-81517ba37a6cec59f92396b4722861868eb0a500.tar.xz qemu-81517ba37a6cec59f92396b4722861868eb0a500.zip |
char: add backend hotswap handler
Frontends should have an interface to setup the handler of a backend change.
The interface will be used in the next commits
Signed-off-by: Anton Nefedov <anton.nefedov@virtuozzo.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <1499342940-56739-3-git-send-email-anton.nefedov@virtuozzo.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'chardev')
-rw-r--r-- | chardev/char-fe.c | 4 | ||||
-rw-r--r-- | chardev/char-mux.c | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/chardev/char-fe.c b/chardev/char-fe.c index 3f90f0567c..7054863208 100644 --- a/chardev/char-fe.c +++ b/chardev/char-fe.c @@ -216,7 +216,7 @@ void qemu_chr_fe_deinit(CharBackend *b, bool del) assert(b); if (b->chr) { - qemu_chr_fe_set_handlers(b, NULL, NULL, NULL, NULL, NULL, true); + qemu_chr_fe_set_handlers(b, NULL, NULL, NULL, NULL, NULL, NULL, true); if (b->chr->be == b) { b->chr->be = NULL; } @@ -235,6 +235,7 @@ void qemu_chr_fe_set_handlers(CharBackend *b, IOCanReadHandler *fd_can_read, IOReadHandler *fd_read, IOEventHandler *fd_event, + BackendChangeHandler *be_change, void *opaque, GMainContext *context, bool set_open) @@ -258,6 +259,7 @@ void qemu_chr_fe_set_handlers(CharBackend *b, b->chr_can_read = fd_can_read; b->chr_read = fd_read; b->chr_event = fd_event; + b->chr_be_change = be_change; b->opaque = opaque; if (cc->chr_update_read_handler) { cc->chr_update_read_handler(s, context); diff --git a/chardev/char-mux.c b/chardev/char-mux.c index 08570b915e..4cda5e7458 100644 --- a/chardev/char-mux.c +++ b/chardev/char-mux.c @@ -278,6 +278,7 @@ void mux_chr_set_handlers(Chardev *chr, GMainContext *context) mux_chr_can_read, mux_chr_read, mux_chr_event, + NULL, chr, context, true); } |