From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id oDOrIWX8imLpbAEAbAwnHQ (envelope-from ) for ; Mon, 23 May 2022 05:15:49 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id ONqfIGX8imLybwAAG6o9tA (envelope-from ) for ; Mon, 23 May 2022 05:15:49 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 129E21FE82 for ; Mon, 23 May 2022 05:15:49 +0200 (CEST) Received: from localhost ([::1]:48726 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nsyXr-00061B-VC for larch@yhetil.org; Sun, 22 May 2022 23:15:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53384) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nsyWq-0005eu-AS for guix-devel@gnu.org; Sun, 22 May 2022 23:14:44 -0400 Received: from mail-psaapc01olkn2046.outbound.protection.outlook.com ([40.92.52.46]:7520 helo=APC01-PSA-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nsyWn-000603-MW for guix-devel@gnu.org; Sun, 22 May 2022 23:14:43 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T2Cu7gQUSAIhSKWqHPdX74QfrN5jlXgcVXelwGI8G1fURCiShyX2w+gQLXxgwH7aNMs3n9Me9FeM9xPXAmhGk/zB4Myz7Z+jPtpXfgZc6eIBxzo/n2rS6R99fITwOBXbwN0cv2c65jnl4Mpd0KkT4laIkwtrvZWIloci8hCj0iM2WRAn8dzf3HIfqFssuMEAhSRg4g0rZu8v+RHQRQpU0TiXaan7SqjsSnU7b+hTkwhz9VS//kBCRPH04SKC+c5d2eEPL8OpCd4WXA8bMwMpqll+XAdHmCecPx7FEihl9Hwx9VgxB6WWucaX1eJtYXDHSeEn6Y1+w1bjq/eex6SLZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=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; bh=uidQLYy7A7pUuQO1jQoukN9sX51OBO++KP5/Gn0apj4=; b=OAOU9uFi/bwmAYrtdBuxwzTWKw+vaZX2M4Ueukyt392QPfr4osUHlHcwHxRty3ODQhfIrKnC2xOP094qpPXeYajMxtuzqj3QYfOD+rBSJbUiMhebwbviOcHpiM9hyquqFnx66NDrkiHDHKMSTZcB/IChTP49iEdVHn+8VrMFIAFwasJ+43mIlGdOju8Fh5nzMXbocAh6+rbURUppBB904m8J1ZxT4g6u0N209dzKBm6kSMoAVAfvd55Sc4eFN5FzkBzuPOYcuTAB73gJhWcheek00wvozFCNxs6feZjMzzhKV1QrvkkFRzMS4RGFtAISTjaQC/BjFWQC0F6wxda8Iw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uidQLYy7A7pUuQO1jQoukN9sX51OBO++KP5/Gn0apj4=; b=fBAFp7zha8S+whFfH6UAX0IRU/p4MAguD/uQEZoJiKJGcar6D5kXc9ASUFEHJSgtTy4NQ2jyusbn7n97+6Ri4GrdxNfQFj6MrxH3dVVGiUdAfHvKvRi+fwH10kWzUWrPLRK5Ndkoi7zD/ndRgY1tVrTtHbIzft/C0mIiQSEdHLYzUTGobWGmOgV4f9gw6q9Jl4CqvRuJUUkSDQeVg54g4mNBQ44lb1UWi+8Lums3ao6Q36vwSxiENGJRtc6mBbJiHSSHX6UauilB93/Rlpbr22fYjrt9xRdl/29ET92VaStMHv/BkbYDLkArXo5zZQzuEK3lpOatO4juLOZgSpDeAg== Received: from PU1PR01MB2155.apcprd01.prod.exchangelabs.com (2603:1096:803:1c::21) by HK0PR01MB2916.apcprd01.prod.exchangelabs.com (2603:1096:203:9f::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.22; Mon, 23 May 2022 03:14:23 +0000 Received: from PU1PR01MB2155.apcprd01.prod.exchangelabs.com ([fe80::fc2a:6e5a:d929:f3a7]) by PU1PR01MB2155.apcprd01.prod.exchangelabs.com ([fe80::fc2a:6e5a:d929:f3a7%6]) with mapi id 15.20.5273.022; Mon, 23 May 2022 03:14:23 +0000 Date: Mon, 23 May 2022 03:14:20 +0000 From: Foo Chuan Wei To: Ryan Prior Cc: guix-devel@gnu.org Subject: Re: Why does sh in the build environment ignore SIGINT and SIGQUIT? Message-ID: Mail-Followup-To: Ryan Prior , guix-devel@gnu.org References: <3Lw7OBQIW1WT7otx0UqOHHSducDQfScyqO2KP81NCHVUAmmmsGm9-DaGqGH4FKuCRcBi8vpDTydYEDu2Qk7hBo45CDERStJdavZipGwvmwI=@protonmail.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <3Lw7OBQIW1WT7otx0UqOHHSducDQfScyqO2KP81NCHVUAmmmsGm9-DaGqGH4FKuCRcBi8vpDTydYEDu2Qk7hBo45CDERStJdavZipGwvmwI=@protonmail.com> X-TMN: [qKEmrpakmPgyoOIJOgICdI2i4xciEU/j] X-ClientProxiedBy: SG2PR06CA0235.apcprd06.prod.outlook.com (2603:1096:4:ac::19) To PU1PR01MB2155.apcprd01.prod.exchangelabs.com (2603:1096:803:1c::21) X-Microsoft-Original-Message-ID: <20220523031420.hnlir4vnzqh4ajug@main> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e5d2032f-7b14-4c25-a742-08da3c6a55a9 X-MS-TrafficTypeDiagnostic: HK0PR01MB2916:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6IxTHLs5PNg0jKChJ0M3g+Tjm4wgl3w2O5JrawGElxo+4XqjsmfnDBhoa88kjmYEGjEXflNvX5rLY2fUFON7K8BsMiua+dTf1eJSDc4KRx7671H1S73K5UbcBSu+i/KkJD9qaAeKOyqSiwtBL7/7ycd8/TSYISwitRtSRHowpeSZxzKh118F8aLw89/0NbjABLYJe6TJxZPRDZyAOjmlY9XEb4uMVyWc8HH4xIOa+Pu01ppgLeFsIWuRWbyu+SyKcdaAmCdJEYhR8R+kbbLba1AWta7TxtcLLicVAj6Qshi+l1vG9frF+L0/uL7v/3VnN37adPSJF3gETfECQnHxqg9gVw1eOC7yYnXiQPmsz+4sKodB8ZskM+0oRsHoM75arJLEvf9DkCvsFZuu5pIbkcUNNUJFBewVcZbQJlRwBmWForqUZ8bkbOiNhgK08pqPiKPH1eUclpN7UmHpLhKiMoeDyR3uwlCP2xq19g6XQElrrSsyNYp1jfNMqKKxAcb6YpViF1NeyrmrtA7h+7vTebSXopp6WhC4SJis625c/UotBSJqzDbh+yi6b6ZJ7CbAXGTA1eOP/84IeUugs2+05WJCtSU2OYLrCHzZrekdRYbSqU4hMWfnfmhLw37YcyfH X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dHV6d3BnMGJVZWdpYnIxckVsQUxRLzRmK0dFVndScnVRZGxUS1RneHZFclky?= =?utf-8?B?VXBTeDhJczg0TEZqeDdsZVBzbWx2YWZlM2tGUDFwcjN6NXJhSTk4NXc3UTkz?= =?utf-8?B?M2NBTTJORjlnWHZJMFNMM3RyNUtVOUh3elo2djc2Z0Rjc1NoWHNsbS9HNmda?= =?utf-8?B?M3VmR0dWNnVBNGd2UG1rWEdEZ3p3aU93SGdueDBVU1JkVS9uaVVPbGVmZGFr?= =?utf-8?B?aUt3MFZScWVlSFpuMkNodm5WRGJMZkVNeWNyK2t6bmsyMVFaQUl6UXRNb3J5?= =?utf-8?B?ZWJ3SXNmcDNlcGdnL3VibE0wYmZ4MmNPbHhhWEZtLzFLQzloY2lsSFowMFht?= =?utf-8?B?KzRmNHY3MEhpOTVQbmEvQ0V3KytGcnIxMTdXeElxOXZtUTZRWms3d0prZ1Fu?= =?utf-8?B?U1owRU9aN01VVVIxYUJnLzlkMGJEWDdGdWlRUGVIclh5eENWOFZiNXovNVdQ?= =?utf-8?B?MnhWZGMyUnBLclYyazVGOFZCalBOK2tuM0ZkZFFCeEI5L2E2QmtFN2Q5UCtU?= =?utf-8?B?YjBjT3BWczdPWnpjbjNSZGJJNWRmVTk0aXdqTHBWNW1BNUQ1MFlxOHkvNW5s?= =?utf-8?B?dmFWVkU5Qnd3TjVDQUdVK3pSYU4za0lNbXRGVkR0TTE1dXFxZkltZUFJMGVB?= =?utf-8?B?QW4yNjQyRm9FZFZxbkZoTmRROG96YWJ0ZW1MNTBIQXBvZlRvMzVkRkNmM2Vv?= =?utf-8?B?YlJaTUo3WVpkZWFIaTUzOTZRcElZOWdYbmJqRFRac2haTjc1c3ZEZGcxOTNv?= =?utf-8?B?Ym5yakUrc0kxRlhyMCsvTWFscnRVUmVUSDNFZlY2cmN6ZXpSVlN5K3dHYVgr?= =?utf-8?B?eXJ3a2RDMmkwdEV3VndlYlR1S0doZEMySUYrMXl1VElIUGJscERLaTZIVTVk?= =?utf-8?B?UVZLL1NGUEYyVWVlNEhPdzQ5cDJPMWsvRUNLU1FQTXBwbkpWbmhCZkFlTFd0?= =?utf-8?B?NUZyVThxR1JJelNGM095NWk2RkovUEhtU2k2cWZsN29hQU1tUzVQMzNobEFp?= =?utf-8?B?QVBEaGN0LzllaUVYWXUzZ2NvQ1lFekM4MDRvcUVCaC9TUVVEcWJRNmJVTThY?= =?utf-8?B?K1NBSjB2clNZYVo5WlZoUWtQYVRhcWRFejdvei8yelVEdDRPd3lCajlqN2VC?= =?utf-8?B?T2gxSFAwQVhVNnpwV2M4WUpnNElESWthRFRmbW4zQkJkVmRqM0FsaG90eG5r?= =?utf-8?B?b3ViUW1RNHAveTd3a1MycUtPMHUrVFVmUk1tZWxiRDU0Z3Q1cmdjM3lkbU02?= =?utf-8?B?c0JkbjZDRTM2dlg3SU00QUxYSENOaWNPdEI4WnV3citjb2Y2ZFlqL1l4Wlpk?= =?utf-8?B?UjF0VTQ3d24zWVFRMi9TT1hHcGZxT1NXZDZaRXV4TXIvUmpReFBCMGdzTGoy?= =?utf-8?B?VkIzK2x6WUY5QWNEZW5jQ3dySzRXejg0VVVKV3FWRXFFVWZPMHpuVGdWNTFs?= =?utf-8?B?MnZibVBReVRvcExrSHVFdkJ6YUFjTU95dHlBcENKaWVJbkZtS0tSSjdzZEQz?= =?utf-8?B?L1lXTTdKTEgyaWM0WEYxT1hyOS9Jc1BZOHN1SlE5REZ2WWxYemk1K3ROSTRh?= =?utf-8?B?b1RUQld2bjYyUWJITFlwYjRhWjAydVo2UUFhZzJmUStUbmlVZHZrMGhPS1FU?= =?utf-8?B?Yy9sNktrSzZsSmxaZzExNkR0cGtveDZTNVR0S1g5MldwZkdCdDUzaGFUYUVq?= =?utf-8?B?VlYzZS82MnNlajlDd3dKU2ZLQnJONWp0U0tIbDVnc3lXSGRHWWZSY090dDVt?= =?utf-8?B?a3B3TGVCVjhCcW0ySGwwRFZlR09KNXpCNGZXUlIzM01FTXFWVXlWUEpyQVVm?= =?utf-8?B?TEdrQWd3T0tkeExKcVpJVkVma21vOVoxU1dRNkVDUk5yRVhxcFZQajJSeTRZ?= =?utf-8?B?eVZONlJjWG03SmdHL3J4alZqWDhNQUFYTHdxTmg4VHZOWGRKZnpLRlFBTExB?= =?utf-8?Q?bB/BiXc5RW2/fU7DHoTU/pApYIDGab4f?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-d8e84.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: e5d2032f-7b14-4c25-a742-08da3c6a55a9 X-MS-Exchange-CrossTenant-AuthSource: PU1PR01MB2155.apcprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 May 2022 03:14:23.3509 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK0PR01MB2916 Received-SPF: pass client-ip=40.92.52.46; envelope-from=chuanwei.foo@hotmail.com; helo=APC01-PSA-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1653275749; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=uidQLYy7A7pUuQO1jQoukN9sX51OBO++KP5/Gn0apj4=; b=fOJ/frSlbcl5EMi2pT/VKBTOWdMQjOos7AAWKlQt6Tfuo7YpKC9FxrGA/YSwY8ShbLrM0z iLBm3OGLGDdq/p1r1nmd/yzqWqbH9P6EjWKpk2YR/uPCZWFQPu3jPmWtAFcNHh2v3+cxEk irojAbpWOz51NS8EHpD2NXCdmq7dG0WeZ+UEtkM/VqvzzNIPwCqjZs2pIN3zY1fIdp08jz dKm65TC55gZIRF/xbFxR3nyWLAGG4rmHmE6CWYdHgotruD+W470iymwcugjshQa62jeOjb ZQgHw9yYukK4o7EWBebMv99bpGb4rQoWdsyi5vFp4pNN+YZXs4onXeEiiRmHzg== ARC-Seal: i=2; s=key1; d=yhetil.org; t=1653275749; a=rsa-sha256; cv=pass; b=Ahj1EqMFdUthkULi2ga0ZdtY2T5UDbovGITJVaP9IxCgPfvlTcdjC2CcISBp6FG6eYT9lD pkO74A/UD2zObORnuQN0hNbQjS5muYibEAvPvBRzV/OytmJFC3Wtv+y1HcY6jzfKu04r0+ 7HW4jcQ4YI0g/wKHxtEoT/y/b0jnJmsse7SMfoGhJzWXlSU8HtVsdiBSm7fBnzwfu3NAx1 l6OisfHR0WH5VLNvYZliwSq5lTXDlMgXAMMAqReInikfDTI3w/WN6n6bZHdaa846eliKqJ C1t37o7k8wXa5eKss3y+lOC+GNECapN+mRMp32uNGlFTyXb/Svr4zPNPWFwVaA== ARC-Authentication-Results: i=2; aspmx1.migadu.com; dkim=pass header.d=hotmail.com header.s=selector1 header.b=fBAFp7zh; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=hotmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -9.85 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=hotmail.com header.s=selector1 header.b=fBAFp7zh; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=hotmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 129E21FE82 X-Spam-Score: -9.85 X-Migadu-Scanner: scn0.migadu.com X-TUID: n/5l8sObLPDF On 2022-05-22 14:14 +0000, Ryan Prior wrote: > ------- Original Message ------- > On Sunday, May 22nd, 2022 at 8:00 AM, Foo Chuan Wei wrote: > > > The shell in the environment where packages are built ignores SIGINT > > and SIGQUIT. If I add `(invoke "sh" "-c" "trap")` to a custom build > > phase > > That executes a shell which traps and then immediately exits. By the > next step of the build phase execution it's already gone. The shell > isn't ignoring you - it's not running at all. `(invoke "sh" "-c" "trap")` is merely a trivial example for demonstrating that the shell ignores SIGINT and SIGQUIT. This might be significant if the build step invokes the shell to do something more significant (e.g. to build something). Anyway, I found that this behavior is possibly related to one specified by POSIX [1]: > 2.11. Signals and Error Handling > > If job control is disabled (see the description of set -m) when the > shell executes an asynchronous list, the commands in the list shall > inherit from the shell a signal action of ignored (SIG_IGN) for the > SIGINT and SIGQUIT signals. To reproduce: Method 1: $ set +m $ bash -c 'trap' & Method 2: $ bash -c 'bash -c "trap" &' Output: trap -- '' SIGINT trap -- '' SIGQUIT Method 2 probably shows what is happening in Guix. > Sounds extremely cursed. :D Do you have a solution to this problem? [1]: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html