Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/816675/?format=api
{ "id": 816675, "url": "http://patchwork.ozlabs.org/api/patches/816675/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/1505974414-6033-4-git-send-email-peterx@redhat.com/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api", "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-4-git-send-email-peterx@redhat.com>", "list_archive_url": null, "date": "2017-09-21T06:13:33", "name": "[3/4] chardev: use per-dev context for io_add_watch_poll", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "d317fe0eb2e557d698dee0dd176405a553137c1a", "submitter": { "id": 67717, "url": "http://patchwork.ozlabs.org/api/people/67717/?format=api", "name": "Peter Xu", "email": "peterx@redhat.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/1505974414-6033-4-git-send-email-peterx@redhat.com/mbox/", "series": [ { "id": 4302, "url": "http://patchwork.ozlabs.org/api/series/4302/?format=api", "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/816675/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/816675/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-mx06.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com", "ext-mx06.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 3xyRFc1P7lz9t3Z\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 21 Sep 2017 16:16:20 +1000 (AEST)", "from localhost ([::1]:51977 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-A5\n\tfor incoming@patchwork.ozlabs.org; Thu, 21 Sep 2017 02:16:18 -0400", "from eggs.gnu.org ([2001:4830:134:3::10]:34145)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <peterx@redhat.com>) id 1duukR-0005yg-V9\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 02:14:10 -0400", "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <peterx@redhat.com>) id 1duukL-0007zM-Qc\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 02:14:07 -0400", "from mx1.redhat.com ([209.132.183.28]:37024)\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 1duukL-0007xR-Ia\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 02:14:01 -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 B0AE7356D7\n\tfor <qemu-devel@nongnu.org>; Thu, 21 Sep 2017 06:14:00 +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 CCC7C5D6A4;\n\tThu, 21 Sep 2017 06:13:57 +0000 (UTC)" ], "DMARC-Filter": "OpenDMARC Filter v1.3.2 mx1.redhat.com B0AE7356D7", "From": "Peter Xu <peterx@redhat.com>", "To": "qemu-devel@nongnu.org", "Date": "Thu, 21 Sep 2017 14:13:33 +0800", "Message-Id": "<1505974414-6033-4-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.30]);\n\tThu, 21 Sep 2017 06:14:00 +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 3/4] chardev: use per-dev context for\n\tio_add_watch_poll", "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 was only passed in by chr_update_read_handlers(). However when\nreconnect, we'll lose that context information. So if a chardev was\nrunning on another context (rather than the default context, the NULL\npointer), it'll switch back to the default context if reconnection\nhappens. But, it should really stick to the old context.\n\nConvert all the callers of io_add_watch_poll() to use the internally\ncached gcontext. Then the context should be able to survive even after\nreconnections.\n\nSigned-off-by: Peter Xu <peterx@redhat.com>\n---\n chardev/char-fd.c | 2 +-\n chardev/char-pty.c | 2 +-\n chardev/char-socket.c | 4 ++--\n chardev/char-udp.c | 2 +-\n 4 files changed, 5 insertions(+), 5 deletions(-)", "diff": "diff --git a/chardev/char-fd.c b/chardev/char-fd.c\nindex 6a62a54..09fbb07 100644\n--- a/chardev/char-fd.c\n+++ b/chardev/char-fd.c\n@@ -94,7 +94,7 @@ static void fd_chr_update_read_handler(Chardev *chr,\n chr->gsource = io_add_watch_poll(chr, s->ioc_in,\n fd_chr_read_poll,\n fd_chr_read, chr,\n- context);\n+ chr->gcontext);\n }\n }\n \ndiff --git a/chardev/char-pty.c b/chardev/char-pty.c\nindex e5d20a0..d239c04 100644\n--- a/chardev/char-pty.c\n+++ b/chardev/char-pty.c\n@@ -219,7 +219,7 @@ static void pty_chr_state(Chardev *chr, int connected)\n chr->gsource = io_add_watch_poll(chr, s->ioc,\n pty_chr_read_poll,\n pty_chr_read,\n- chr, NULL);\n+ chr, chr->gcontext);\n }\n }\n }\ndiff --git a/chardev/char-socket.c b/chardev/char-socket.c\nindex 1ae730a..ee71cbe 100644\n--- a/chardev/char-socket.c\n+++ b/chardev/char-socket.c\n@@ -516,7 +516,7 @@ static void tcp_chr_connect(void *opaque)\n chr->gsource = io_add_watch_poll(chr, s->ioc,\n tcp_chr_read_poll,\n tcp_chr_read,\n- chr, NULL);\n+ chr, chr->gcontext);\n }\n qemu_chr_be_event(chr, CHR_EVENT_OPENED);\n }\n@@ -535,7 +535,7 @@ static void tcp_chr_update_read_handler(Chardev *chr,\n chr->gsource = io_add_watch_poll(chr, s->ioc,\n tcp_chr_read_poll,\n tcp_chr_read, chr,\n- context);\n+ chr->gcontext);\n }\n }\n \ndiff --git a/chardev/char-udp.c b/chardev/char-udp.c\nindex 4ee11d3..106dee1 100644\n--- a/chardev/char-udp.c\n+++ b/chardev/char-udp.c\n@@ -110,7 +110,7 @@ static void udp_chr_update_read_handler(Chardev *chr,\n chr->gsource = io_add_watch_poll(chr, s->ioc,\n udp_chr_read_poll,\n udp_chr_read, chr,\n- context);\n+ chr->gcontext);\n }\n }\n \n", "prefixes": [ "3/4" ] }