{"id":816674,"url":"http://patchwork.ozlabs.org/api/patches/816674/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/patch/1505974414-6033-3-git-send-email-peterx@redhat.com/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<1505974414-6033-3-git-send-email-peterx@redhat.com>","list_archive_url":null,"date":"2017-09-21T06:13:32","name":"[2/4] chardev: add Chardev.gcontext field","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"c200a6569fad026fc2a69b00a810883425d2d290","submitter":{"id":67717,"url":"http://patchwork.ozlabs.org/api/people/67717/?format=json","name":"Peter Xu","email":"peterx@redhat.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/1505974414-6033-3-git-send-email-peterx@redhat.com/mbox/","series":[{"id":4302,"url":"http://patchwork.ozlabs.org/api/series/4302/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=4302","date":"2017-09-21T06:13:30","name":"chardev: support non-default gcontext","version":1,"mbox":"http://patchwork.ozlabs.org/series/4302/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/816674/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/816674/checks/","tags":{},"related":[],"headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx07.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx07.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=peterx@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xyRFc0N1fz9t3C\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 21 Sep 2017 16:16:20 +1000 (AEST)","from localhost ([::1]:51976 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1duumY-0007GJ-5d\n\tfor incoming@patchwork.ozlabs.org; Thu, 21 Sep 2017 02:16:18 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:34068)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <peterx@redhat.com>) id 1duukJ-0005rU-9P\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 02:14:00 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <peterx@redhat.com>) id 1duukI-0007sE-8A\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 02:13:59 -0400","from mx1.redhat.com ([209.132.183.28]:56174)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <peterx@redhat.com>) id 1duukI-0007qL-2S\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 02:13:58 -0400","from smtp.corp.redhat.com\n\t(int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 398FBC04B94A\n\tfor <qemu-devel@nongnu.org>; Thu, 21 Sep 2017 06:13:57 +0000 (UTC)","from pxdev.xzpeter.org.com (dhcp-15-224.nay.redhat.com\n\t[10.66.15.224])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id E87BF5D6B7;\n\tThu, 21 Sep 2017 06:13:53 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 398FBC04B94A","From":"Peter Xu <peterx@redhat.com>","To":"qemu-devel@nongnu.org","Date":"Thu, 21 Sep 2017 14:13:32 +0800","Message-Id":"<1505974414-6033-3-git-send-email-peterx@redhat.com>","In-Reply-To":"<1505974414-6033-1-git-send-email-peterx@redhat.com>","References":"<1505974414-6033-1-git-send-email-peterx@redhat.com>","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.15","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.31]);\n\tThu, 21 Sep 2017 06:13:57 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","Subject":"[Qemu-devel] [PATCH 2/4] chardev: add Chardev.gcontext field","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"Juan Quintela <quintela@redhat.com>, \"Dr . David Alan Gilbert\"\n\t<dgilbert@redhat.com>, peterx@redhat.com, =?utf-8?q?Marc-Andr=C3=A9_L?=\n\t=?utf-8?q?ureau?= <marcandre.lureau@redhat.com>,\n\tPaolo Bonzini <pbonzini@redhat.com>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"},"content":"It caches the gcontext that is used to poll the chardev IO.  Before this\npatch, we only passed it in via chr_update_read_handlers().  However\nthat may not be enough if the char backend is disconnected and\nreconnected afterward.  There are chardev codes that still assumed the\ncontext be NULL (which is the main context).  Will fix that up in\nfollowing up patches.\n\nSigned-off-by: Peter Xu <peterx@redhat.com>\n---\n chardev/char.c         | 1 +\n include/chardev/char.h | 1 +\n 2 files changed, 2 insertions(+)","diff":"diff --git a/chardev/char.c b/chardev/char.c\nindex e090dd5..89eabea 100644\n--- a/chardev/char.c\n+++ b/chardev/char.c\n@@ -185,6 +185,7 @@ void qemu_chr_be_update_read_handlers(Chardev *s,\n {\n     ChardevClass *cc = CHARDEV_GET_CLASS(s);\n \n+    s->gcontext = context;\n     if (cc->chr_update_read_handler) {\n         cc->chr_update_read_handler(s, context);\n     }\ndiff --git a/include/chardev/char.h b/include/chardev/char.h\nindex 2068ea4..84fb773 100644\n--- a/include/chardev/char.h\n+++ b/include/chardev/char.h\n@@ -55,6 +55,7 @@ struct Chardev {\n     int logfd;\n     int be_open;\n     GSource *gsource;\n+    GMainContext *gcontext;\n     DECLARE_BITMAP(features, QEMU_CHAR_FEATURE_LAST);\n };\n \n","prefixes":["2/4"]}