[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 30/32] chardev: add Chardev.gcontext field
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 30/32] chardev: add Chardev.gcontext field |
Date: |
Fri, 22 Sep 2017 01:16:38 +0200 |
From: Peter Xu <address@hidden>
It caches the gcontext that is used to poll the chardev IO. Before this
patch, we only passed it in via chr_update_read_handlers(). However
that may not be enough if the char backend is disconnected and
reconnected afterward. There are chardev codes that still assumed the
context be NULL (which is the main context). Will fix that up in
following up patches.
Signed-off-by: Peter Xu <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
chardev/char.c | 1 +
include/chardev/char.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/chardev/char.c b/chardev/char.c
index e090dd5..89eabea 100644
--- a/chardev/char.c
+++ b/chardev/char.c
@@ -185,6 +185,7 @@ void qemu_chr_be_update_read_handlers(Chardev *s,
{
ChardevClass *cc = CHARDEV_GET_CLASS(s);
+ s->gcontext = context;
if (cc->chr_update_read_handler) {
cc->chr_update_read_handler(s, context);
}
diff --git a/include/chardev/char.h b/include/chardev/char.h
index 2068ea4..84fb773 100644
--- a/include/chardev/char.h
+++ b/include/chardev/char.h
@@ -55,6 +55,7 @@ struct Chardev {
int logfd;
int be_open;
GSource *gsource;
+ GMainContext *gcontext;
DECLARE_BITMAP(features, QEMU_CHAR_FEATURE_LAST);
};
--
1.8.3.1
- [Qemu-devel] [PULL 18/32] memory: Do not allocate FlatView in address_space_init, (continued)
- [Qemu-devel] [PULL 18/32] memory: Do not allocate FlatView in address_space_init, Paolo Bonzini, 2017/09/21
- [Qemu-devel] [PULL 21/32] memory: Create FlatView directly, Paolo Bonzini, 2017/09/21
- [Qemu-devel] [PULL 23/32] memory: seek FlatView sharing candidates among children subregions, Paolo Bonzini, 2017/09/21
- [Qemu-devel] [PULL 20/32] memory: Get rid of address_space_init_shareable, Paolo Bonzini, 2017/09/21
- [Qemu-devel] [PULL 22/32] memory: trace FlatView creation and destruction, Paolo Bonzini, 2017/09/21
- [Qemu-devel] [PULL 19/32] memory: Rework "info mtree" to print flat views and dispatch trees, Paolo Bonzini, 2017/09/21
- [Qemu-devel] [PULL 24/32] memory: Share special empty FlatView, Paolo Bonzini, 2017/09/21
- [Qemu-devel] [PULL 25/32] scsi, file-posix: add support for persistent reservation management, Paolo Bonzini, 2017/09/21
- [Qemu-devel] [PULL 29/32] chardev: new qemu_chr_be_update_read_handlers(), Paolo Bonzini, 2017/09/21
- [Qemu-devel] [PULL 28/32] scsi: add persistent reservation manager using qemu-pr-helper, Paolo Bonzini, 2017/09/21
- [Qemu-devel] [PULL 30/32] chardev: add Chardev.gcontext field,
Paolo Bonzini <=
- [Qemu-devel] [PULL 27/32] scsi: add multipath support to qemu-pr-helper, Paolo Bonzini, 2017/09/21
- [Qemu-devel] [PULL 26/32] scsi: build qemu-pr-helper, Paolo Bonzini, 2017/09/21
- [Qemu-devel] [PULL 31/32] chardev: use per-dev context for io_add_watch_poll, Paolo Bonzini, 2017/09/21
- [Qemu-devel] [PULL 32/32] chardev: remove context in chr_update_read_handler, Paolo Bonzini, 2017/09/21