Show a patch.

GET /api/1.1/patches/2695/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2695,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/2695/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/2695/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api",
        "name": "libcamera",
        "link_name": "libcamera",
        "list_id": "libcamera_core",
        "list_email": "libcamera-devel@lists.libcamera.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20200120002437.6633-9-laurent.pinchart@ideasonboard.com>",
    "date": "2020-01-20T00:24:26",
    "name": "[libcamera-devel,08/19] test: signal: Add additional disconnection tests for Object",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "95b60e18e0c3b64534db91124208acb8b21b473d",
    "submitter": {
        "id": 2,
        "url": "https://patchwork.libcamera.org/api/1.1/people/2/?format=api",
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/2695/mbox/",
    "series": [
        {
            "id": 641,
            "url": "https://patchwork.libcamera.org/api/1.1/series/641/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=641",
            "date": "2020-01-20T00:24:19",
            "name": "Initial libcamera threading model",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/641/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/2695/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/2695/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "<laurent.pinchart@ideasonboard.com>",
        "Received": [
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D8E31607F4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 20 Jan 2020 01:24:45 +0100 (CET)",
            "from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi\n\t[81.175.216.236])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 420BE529\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 20 Jan 2020 01:24:45 +0100 (CET)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1579479885;\n\tbh=381ksBZRWm51n+Ev4Slj5OQOiaQATFkU/Qfy81qRFG4=;\n\th=From:To:Subject:Date:In-Reply-To:References:From;\n\tb=i9r5lGEdnX62A3aV/AuF31JeMoxmONaFwqdNJUFTjYkMC+fXSgflMFLgDn2Ptbe+S\n\t4gLJiGC7VOrI/K2mhw+7XI6ECuIw+81S8Jnf5vuUk1qJ3G9aVHJtBr266UOHoM49XN\n\tEFaZLDR5ipFxZ8rDpupCgOXv6x4ZNaYGNSedLxs8=",
        "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Mon, 20 Jan 2020 02:24:26 +0200",
        "Message-Id": "<20200120002437.6633-9-laurent.pinchart@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.24.1",
        "In-Reply-To": "<20200120002437.6633-1-laurent.pinchart@ideasonboard.com>",
        "References": "<20200120002437.6633-1-laurent.pinchart@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH 08/19] test: signal: Add additional\n\tdisconnection tests for Object",
        "X-BeenThere": "libcamera-devel@lists.libcamera.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "<libcamera-devel.lists.libcamera.org>",
        "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>",
        "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>",
        "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>",
        "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>",
        "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>",
        "X-List-Received-Date": "Mon, 20 Jan 2020 00:24:47 -0000"
    },
    "content": "Add two tests that exercise the Signal::disconnect(Object *) and\nSignal::disconnect() methods, to verify that they correctly remove the\nsignal from the connected object's list of signals. This triggers an\nissue that was detected through manual code inspection, and is expected\nto crash or at least generate valgrind warnings.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n test/signal.cpp | 24 ++++++++++++++++++++++++\n 1 file changed, 24 insertions(+)",
    "diff": "diff --git a/test/signal.cpp b/test/signal.cpp\nindex 0054ed5a380d..f83ceb05f091 100644\n--- a/test/signal.cpp\n+++ b/test/signal.cpp\n@@ -220,6 +220,30 @@ protected:\n \t\tdelete dynamicSignal;\n \t\tdelete slotObject;\n \n+\t\t/*\n+\t\t * Test that signal manual disconnection from Object removes\n+\t\t * the signal for the object. This shall not generate any\n+\t\t * valgrind warning.\n+\t\t */\n+\t\tdynamicSignal = new Signal<>();\n+\t\tslotObject = new SlotObject();\n+\t\tdynamicSignal->connect(slotObject, &SlotObject::slot);\n+\t\tdynamicSignal->disconnect(slotObject);\n+\t\tdelete dynamicSignal;\n+\t\tdelete slotObject;\n+\n+\t\t/*\n+\t\t * Test that signal manual disconnection from all slots removes\n+\t\t * the signal for the object. This shall not generate any\n+\t\t * valgrind warning.\n+\t\t */\n+\t\tdynamicSignal = new Signal<>();\n+\t\tslotObject = new SlotObject();\n+\t\tdynamicSignal->connect(slotObject, &SlotObject::slot);\n+\t\tdynamicSignal->disconnect();\n+\t\tdelete dynamicSignal;\n+\t\tdelete slotObject;\n+\n \t\t/* Exercise the Object slot code paths. */\n \t\tslotObject = new SlotObject();\n \t\tsignalVoid_.connect(slotObject, &SlotObject::slot);\n",
    "prefixes": [
        "libcamera-devel",
        "08/19"
    ]
}