Commit 95eeeba6 authored by Peter Xu's avatar Peter Xu Committed by Paolo Bonzini
Browse files

chardev: add Chardev.gcontext field



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: default avatarPeter Xu <peterx@redhat.com>
Message-Id: <1505975754-21555-3-git-send-email-peterx@redhat.com>
Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 07241c20
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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);
    }
+1 −0
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ struct Chardev {
    int logfd;
    int be_open;
    GSource *gsource;
    GMainContext *gcontext;
    DECLARE_BITMAP(features, QEMU_CHAR_FEATURE_LAST);
};