Cover Letter Detail
Show a cover letter.
GET /api/covers/23451/?format=api
{ "id": 23451, "url": "https://patchwork.libcamera.org/api/covers/23451/?format=api", "web_url": "https://patchwork.libcamera.org/cover/23451/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/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": "<20250527155615.560463-1-julien.vuillaumier@nxp.com>", "date": "2025-05-27T15:56:13", "name": "[v4,0/2] libcamera: process: Pass stderr and reserve stdin and stdout fds", "submitter": { "id": 190, "url": "https://patchwork.libcamera.org/api/people/190/?format=api", "name": "Julien Vuillaumier", "email": "julien.vuillaumier@nxp.com" }, "mbox": "https://patchwork.libcamera.org/cover/23451/mbox/", "series": [ { "id": 5198, "url": "https://patchwork.libcamera.org/api/series/5198/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5198", "date": "2025-05-27T15:56:13", "name": "libcamera: process: Pass stderr and reserve stdin and stdout fds", "version": 4, "mbox": "https://patchwork.libcamera.org/series/5198/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/23451/comments/", "headers": { "Return-Path": "<libcamera-devel-bounces@lists.libcamera.org>", "X-Original-To": "parsemail@patchwork.libcamera.org", "Delivered-To": "parsemail@patchwork.libcamera.org", "Received": [ "from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 90667C3237\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 27 May 2025 15:56:56 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8358868D99;\n\tTue, 27 May 2025 17:56:55 +0200 (CEST)", "from DUZPR83CU001.outbound.protection.outlook.com\n\t(mail-northeuropeazlp170120005.outbound.protection.outlook.com\n\t[IPv6:2a01:111:f403:c200::5])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4802C68D94\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 27 May 2025 17:56:54 +0200 (CEST)", "from AM9PR04MB8147.eurprd04.prod.outlook.com\n\t(2603:10a6:20b:3e0::22)\n\tby AS8PR04MB8499.eurprd04.prod.outlook.com (2603:10a6:20b:342::15)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.29;\n\tTue, 27 May 2025 15:56:52 +0000", "from AM9PR04MB8147.eurprd04.prod.outlook.com\n\t([fe80::eace:e980:28a4:ef8a]) by\n\tAM9PR04MB8147.eurprd04.prod.outlook.com\n\t([fe80::eace:e980:28a4:ef8a%7]) with mapi id 15.20.8722.027;\n\tTue, 27 May 2025 15:56:52 +0000" ], "Authentication-Results": [ "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"C9nkWrYJ\";\n\tdkim-atps=neutral", "dkim=none (message not signed)\n\theader.d=none;dmarc=none action=none header.from=nxp.com;" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n\tb=icwmcI8KAbnQHCmYcG4s1KTFBLCCIzL4mJKE1xSCnkZ4fNdC8ujo40m9W0SXKkH26B2wnyGr5kp8i8trseKiiQ0GjpGMqku7FBoIKub3AKoYE1OjQzuoD1Xy/tdlbGKltKYPhf4FgxWCEK0pqAn1Z7QKhMP9moXDZEtvJGyhO4BQiNk+sqnS1H5Clqf+1LRFzD67fvCPV2+7D7s291+QiATgVZ2L69NvzG5b2lPNcC9QlIn0lB9wiYroLtUvMPSyJtL0ip8jDEpMAiP3cv0lv7f6lUTW8s9g+mPOa/JK+AID7K/Hh44i7VOuaf/DMruhYRX1WhE7cUnV0WJvcf5Osw==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n\ts=arcselector10001;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n\tbh=Ik+9NfFfE6+CPbdY+6CtRgCdq/ctOXqu9qn1NSQdNpk=;\n\tb=W2zKJsE34Sgw/4aFGsdMSWvDiTCyvV9nHdUOmbJWz113hsbp6NZxJSSkDsrVwgtlSUxAwdDvGvUD4eyMdjci9gj37bHAE/93PbBVpgl6G7YI2lchD8GFueim3ve4pu+B4DIl43OllxzEEs+70jOtdQ5tFav7KRcjsc5slo2exk+XSWKnbLqb69qeI3MJSDHex7tsMahDTLBhzISNXcoKWxyNnDFWtOUHRitR4K0O7cuZLCCxfRQFAl2UQPkeRMPHvdxYWYURnkEBp+yMK+0nB8ljO/5QRSgbLEUpbICUcv51XYCYJqFgoqnZbmOtjmgHC8Z3j6qLWm98JHch6i0z+A==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n\tsmtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com;\n\tdkim=pass header.d=nxp.com; arc=none", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=Ik+9NfFfE6+CPbdY+6CtRgCdq/ctOXqu9qn1NSQdNpk=;\n\tb=C9nkWrYJvOFpLX3nGmmeizHB+IQCBAK6ecmktyleI5nzBA8A9xgcNznLdVVwYKkiglP6F46b7at5KEYtn3c+zFCdtK3dMcXAqC6haE3E+g+OuBuvHahKdWlUp5Ja+MT7z0qodQQzMLN7D17fNFQFhH67Gj+TySfRwLPoBn/bms6uP1rkKmmKamSAcI1+EsaTLhRXeJ8lP6IcFeTYBGwEnMPf+Y3jK+7wVItWmX39kKO55N0LY5gQon4kkzFBz2CkzkcWz8nX+fP+7WPBwOM8qTNmkXkJIhk3hyxcINBh4hVTQiGgo+kB/2jJzpSZ1czL1PB88x34XINBnX2L/r5lxg==", "From": "Julien Vuillaumier <julien.vuillaumier@nxp.com>", "To": "libcamera-devel@lists.libcamera.org, barnabas.pocze@ideasonboard.com,\n\tpaul.elder@ideasonboard.com", "Cc": "Julien Vuillaumier <julien.vuillaumier@nxp.com>", "Subject": "[PATCH v4 0/2] libcamera: process: Pass stderr and reserve stdin and\n\tstdout fds", "Date": "Tue, 27 May 2025 17:56:13 +0200", "Message-Id": "<20250527155615.560463-1-julien.vuillaumier@nxp.com>", "X-Mailer": "git-send-email 2.34.1", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "X-ClientProxiedBy": "AS4PR09CA0017.eurprd09.prod.outlook.com\n\t(2603:10a6:20b:5d4::11) To AM9PR04MB8147.eurprd04.prod.outlook.com\n\t(2603:10a6:20b:3e0::22)", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "AM9PR04MB8147:EE_|AS8PR04MB8499:EE_", "X-MS-Office365-Filtering-Correlation-Id": "caf7942b-a41f-405f-dec1-08dd9d3718b5", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;\n\tARA:13230040|1800799024|366016|376014|52116014|38350700014; ", "X-Microsoft-Antispam-Message-Info": "=?utf-8?q?DiaTbsWA8sTdsdu0gzC12of+VazA?=\n\t=?utf-8?q?iK06EHCIWl3KnFdkmGVJuSuOZ/YaJzpelX1OygeCLd7Ko+wQT7MFUNaq?=\n\t=?utf-8?q?XHm+RTfaItnRxD3dN/hpgUdRcvxGueXdRzLAf7cKjlYH6YNPjEsZFZo0?=\n\t=?utf-8?q?2LJf2fMKaq2P4ct/RSAptYEqDMiJthCeF3FVa6m0nrTnHWjM8ge0hJOv?=\n\t=?utf-8?q?z3AsRzH0UszMZYECvNw5e0qyRdOmdtsggl5FPHr76X4h+QkHZsb58IxG?=\n\t=?utf-8?q?LEl5StKJ+Y6jdP9rCrJ9EMml0otdLwGFyBLlOuNt0ddgduZB9mVuVQs1?=\n\t=?utf-8?q?DpfSoLhaFGGrv+YyH6vWbMPHzF5Yfydfm6QF5IebzxJ1z1IpcxBICJis?=\n\t=?utf-8?q?vp+bQwcgwcRT9ysryJ15xCJ+ygIEhwpXRFNtN7ZSKwLK6S2f5c5aAa3Q?=\n\t=?utf-8?q?Pcx3rD7T/3tx3LDA2Zk9h7/IOLbOs4kgYh6Gbi9kavoCyCpwa21RdRlm?=\n\t=?utf-8?q?JdZeFjft8jQHq/H7OaYTZt13ovwUslClQtm0tntNxRZNEdGvnviNjiSE?=\n\t=?utf-8?q?KnMnUVD0KQoj3myTBDcW1IrjeIl2Qb+U8GZFjA77fy4dvmn+kr1FAI/5?=\n\t=?utf-8?q?9OC054ZAliIzO9fFlAtLAnpM1vFL7EKYJMHss7aTKlEmX35Un/2Bfhta?=\n\t=?utf-8?q?eR9mNzBRPOnm8kaFIolV7edvABVVNTQIO4f4ahlun1KnSUr+IPsFBYll?=\n\t=?utf-8?q?8lVW+IeqAQi2lp6sFyw/KhVDpBWYaGwjyfNaRO9X/o4AscfGIfDHygs3?=\n\t=?utf-8?q?z24f1sp0hfazysOAATB1x3kiHcgIi/bWi899pCe5bOX8JSrReJrIonDg?=\n\t=?utf-8?q?A26Z6ze7qskqcEqtdLGdWTIkhCjkSsVw+4ywufYMl8j/2hbFPpLgsHhd?=\n\t=?utf-8?q?VZyrCBiszCXnGGkjLM62yty7Oh6EXngdLvw9HI8BCW4FzfJ73y7Wz5fP?=\n\t=?utf-8?q?2YoaSvOJtFTaWOBOwNKxM03u44rIAHLnpTvrRWWEK6VaIRn691dWQPzn?=\n\t=?utf-8?q?gpx/ys8QGQXLU7YWaTA5FZVZSu0JpZDsjJ/2sH1z+MZSuhM1rPbWYSLJ?=\n\t=?utf-8?q?CIeuw647x9X5GS9KinOK+y9RLI0rB8pBHIbG6PZA6rRmojisjQBJQj7Z?=\n\t=?utf-8?q?KjmZGz0+D0o7T5+37RvBhScqJ6/oxID/N127sjXF0pdWJbrrSTy5s3hm?=\n\t=?utf-8?q?4/gT+pp24NhFfdvSmLu3HnGBRaLaAzaZ0Tzmph/MoATkxzSca3vvS//2?=\n\t=?utf-8?q?UKiRI7YeZwM/KXEqjFAg6wEPKbo9OSKMxSV/kKgUA/EzGU6w947VeAFG?=\n\t=?utf-8?q?08KBVz1gVseI3KEm6fFfE4BOk7ZedOe80+YiieIH2bmmSU9QyrLjRHhQ?=\n\t=?utf-8?q?oldCfqvvvvBt4Wpz5RFEG80bJ2AIqSOl9EkHrsglmFMik+0+/lRN33na?=\n\t=?utf-8?q?ebfJELhuXTMT6gREzYf/n9A3Q/cHY56TEwMURKA/zIUngcX3VRtmKReT?=\n\t=?utf-8?q?0Kmga9EVtWZ9W9wwSukkwbF1wCzzb8g5UqIyycViRPaoDMl5ZIflPJQQ?=\n\t=?utf-8?q?kUNvqCt/dPalJg5NRvxzDTApN1WvvxM=3D?=", "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n\tIPV:NLI; SFV:NSPM; H:AM9PR04MB8147.eurprd04.prod.outlook.com; PTR:;\n\tCAT:NONE; \n\tSFS:(13230040)(1800799024)(366016)(376014)(52116014)(38350700014);\n\tDIR:OUT; SFP:1101; ", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "=?utf-8?q?K6jhYdJ5Vjf1Hb+G3wivPhjTx?=\n\t=?utf-8?q?Qp+pHmIdswUN6/ARaBsoS3hKsPlBDkCgMM60BGS3ky49GBFP7UWVKtxS?=\n\t=?utf-8?q?ctCHkylzjbYyIvVqWbY8vhc/7yPP3CDBgyICesexpGU65RwUhSxvxozt?=\n\t=?utf-8?q?oO5C8qHlTMhQ5v22azHM9GgLCq05o1Bjxkwd12C8LVVnuAF08nswTDGv?=\n\t=?utf-8?q?mx7FST84oBVLsP2lRgY9TNOQUPGHp9B1mAcDQAP2Tn3DshNehEdcz0Hk?=\n\t=?utf-8?q?y2qHTRBvWA5VLP3Kb61XVQGleezG/DWHgUa0Qf/pTbVvp/h3GTObnCbR?=\n\t=?utf-8?q?R8vF1XnPl/bdEr/ZV2assB5OYpKU/3SwzjEionNzhLFcBcqvWd6dFh5/?=\n\t=?utf-8?q?FaF9hrzvD2rTBJqIYtjHaWpTBsdOZ8Wh5y05gHv/enutAbZ58WRwFsi1?=\n\t=?utf-8?q?WVy/v2tOgkQlWTCrePnvHVrFTydAZITDXlDx3NDyOuXehSAUWacfWVNw?=\n\t=?utf-8?q?W5CMwFNRs/ipjGSg3UZ6lymXvOclxwcSDK9ytTy+6MBkfzLKogC/9H2a?=\n\t=?utf-8?q?NTvd3xcX6JNUyyvHe9q+JKH1zT8wyQ0o2U6Kl/Fe1m4oAtdMlcernnmD?=\n\t=?utf-8?q?W9F7E8s4lhO8z+NTiSS3DtFcILyoWeqca89YV8vxJJ02GajfKwZwcbqq?=\n\t=?utf-8?q?eTeSUqB6Xk8bYN+//fJ2g8umeUYP48knw93e9TY5qlUnr1Jv3EujqDYh?=\n\t=?utf-8?q?3fbyC90fOHXtvO1WzEW+O80l1WgMbp178iZ5N3xACnZI9vESkwCgiMsg?=\n\t=?utf-8?q?lWI7zzawfCmW1d191ADShNJP5wAeFIMmqz6Q874ZMKlZsiugbpLEWC8f?=\n\t=?utf-8?q?qdH8/76rPw1CcrjycUYc600q3QXKovTGALvA/OJ3CpciTfsGvFm3T6iE?=\n\t=?utf-8?q?Cz2se/uS1KIQbj6JuUdTiUhA8BQSmHfUpYUMqYynmOR+vR2g7GklbIO6?=\n\t=?utf-8?q?pezxVI2LoECUWuVIlYH7y1TIjtE+FKJ8iRlp0wxQKh/XdR6SjDc/okju?=\n\t=?utf-8?q?o/TePc1vZqg/vJFdDMQjrds+TVFpx1uIQFpinFTwBR8lRqIVT6Csuck2?=\n\t=?utf-8?q?p6ERG3mvb3t/42NABHrC+yu4yJL0shSmEOYMuBbOB7bSIzBfwbjMK2qZ?=\n\t=?utf-8?q?GFedBsuzlqW50QeJKAS3H1phsvFPHz2ToUmNKfarJID/Rol5gEPQeT5v?=\n\t=?utf-8?q?tmCMxymKIoHRNFQaSarllH59M5UbPc4ESP5O9bBq6S1s+ApzBvpDcAie?=\n\t=?utf-8?q?IF+MuHElT+7MZpLxSxt8IuDOvf1KKOHzx3cffF5eSANWYo5suK1YVHnO?=\n\t=?utf-8?q?MPlnsLybA0ZGum4jWiFwFy8iJsP0QtmAXwTBqkDBoDYyE4Def18CLjuK?=\n\t=?utf-8?q?QiUQR7P9xFa/M0sXdqI9uznoqoUkdxdqZn57lYzR+SBr0xsrQecDeDH1?=\n\t=?utf-8?q?O2gJxSZfcYfUSBOE6HndB4Q3LbNOrIHQZCusjcdmteoD1UbjQZNngs59?=\n\t=?utf-8?q?gZhFvgBC4O0pnOkxDPuc8/s+CX/5ZT2Ej70qUGnKNUKH4YUbOM8UAgJF?=\n\t=?utf-8?q?tzbglbSbXoWqde2uQ72tcF9ly5UqTBsq9p8aqh0y2vpwwbf5mO9srqMx?=\n\t=?utf-8?q?n7qLk53+aHHRUmxJ8MxipWdOI/ZUndHw1X+MvtUYtT3WQRyLZdxd/BG9?=\n\t=?utf-8?q?bTDgocG0YACrZd6CoElJFfYv33eSA=3D=3D?=", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "caf7942b-a41f-405f-dec1-08dd9d3718b5", "X-MS-Exchange-CrossTenant-AuthSource": "AM9PR04MB8147.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "27 May 2025 15:56:52.1088\n\t(UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635", "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED", "X-MS-Exchange-CrossTenant-UserPrincipalName": "NV4mFbBTNBYYnwPs4uxyBhLYLsn7PUNpxtQ8o9/MknQUgsrSasyBkqSgeeeNctuKMzgCoIAhvhmABKYmddRQ1oRnYAnIAaV8E8i+ypmc/rc=", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AS8PR04MB8499", "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>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "Hello,\n\nThis is the v4 of this patch aimed at letting a child process to log\nonto parent's stderr, and making sure that its stdin/stdout/stderr\nfds are not free to reuse.\n\nChange history:\n\nv4:\n- use _exit() instead of exit() in child process (comment from Barnabás)\n- while at it, also change an existing exit() to _exit(), in case of\n execv() failure\n\nv3: \n- Give the option to inherit from any standard file descriptor from\n the parent \n- Fix a possible self duplication of descriptors\n- Fix the null device descriptor that unnecessarily remains opens\n\nv2:\n- Pass only parent's stderr to the child process for logging purpose\n- Reallocate child's stdin/stdout file descriptors to /dev/null (daemon style) so\n that they are not recycled for other usage\n\nThanks,\nJulien\n\nJulien Vuillaumier (2):\n libcamera: process: Use _exit in child process\n libcamera: process: Pass stderr and reserve stdin and stdout fds\n\n src/libcamera/process.cpp | 18 ++++++++++++++++--\n 1 file changed, 16 insertions(+), 2 deletions(-)" }