From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2137.outbound.protection.outlook.com [40.107.220.137]) by sourceware.org (Postfix) with ESMTPS id 0CF573851C19 for ; Wed, 29 Jul 2020 20:17:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0CF573851C19 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dFK1kmGNa2MY0HdG8eB1r92t2mFQv92jXnLQLlLaIUML4g27HIWeE9ElHZmz5f+B6rf91no3pGIqEMbB/kw82TwWOkLsPeAnqhqaEwnGrHPd9KO12zeQ6rTm/thqkZVtcCG7yHPj+UB+/naqOrUeW2Fu/SjdDlV16uGCtHpT+5+X1ksEvZbsxhIhOz48dtPruQ/G9hcJkOD6RB16lG4v6XBpYMyK8ph3FdA3cpSl/cyiaSpWXjyAqOrBY7suJnsBKX+Dg9I92wwknhEDTL2cb8wfcpNkRsA5Gh7/vfDwfpiymd4kk6ruPX2EXF5/Swxv5B09bQ6oN69ueStapeNl+Q== 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-SenderADCheck; bh=LelS0DFVrXO6GTBOhwZ4WFJu+9AekhJGM/kBccQEiI0=; b=PWJhK540fpYtaGlb02ctFTiRGhmkzrIiAF9uNtmhd/Q2+V7tnWZMNWb1F5P19tdNwJPuedvCY+WDzokz+ojowzBijpWoMUSJRuqBiV8NWCoIdKj5n2O/FIos+9/mJV9XJBrZmNOHFSbaQeRYcNkS9LIEBcr04kuC8iHkuM/xLDGWKJjsOcx2LJMtPTxaaGa9ISN91j3re0g74/+jdq+RIxkPE+PCLWlquIM9nEqXZCuKDPLxpjXh4m0Ur0Mbrv1Khk6caCCJ+hsXlWTRsPrd4rUY5mJx4MJF9mCv5M2Cg2q5Ed7pQy+AsBduUhjj8dxxqr5eEaPCaW8rTKvJmdMGWQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cornell.edu; dmarc=pass action=none header.from=cornell.edu; dkim=pass header.d=cornell.edu; arc=none Received: from MN2PR04MB6176.namprd04.prod.outlook.com (2603:10b6:208:e3::13) by MN2PR04MB5967.namprd04.prod.outlook.com (2603:10b6:208:da::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.16; Wed, 29 Jul 2020 20:17:16 +0000 Received: from MN2PR04MB6176.namprd04.prod.outlook.com ([fe80::184d:a265:1d48:499a]) by MN2PR04MB6176.namprd04.prod.outlook.com ([fe80::184d:a265:1d48:499a%7]) with mapi id 15.20.3216.033; Wed, 29 Jul 2020 20:17:16 +0000 To: cygwin From: Ken Brown Subject: Synchronization problem with posix_spawn Message-ID: Date: Wed, 29 Jul 2020 16:17:14 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 Content-Type: multipart/mixed; boundary="------------4E722539B241AE176D813692" Content-Language: en-US X-ClientProxiedBy: CH2PR16CA0024.namprd16.prod.outlook.com (2603:10b6:610:50::34) To MN2PR04MB6176.namprd04.prod.outlook.com (2603:10b6:208:e3::13) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2604:6000:b407:7f00:94d6:ae8a:ed13:1f9b] (2604:6000:b407:7f00:94d6:ae8a:ed13:1f9b) by CH2PR16CA0024.namprd16.prod.outlook.com (2603:10b6:610:50::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.23 via Frontend Transport; Wed, 29 Jul 2020 20:17:16 +0000 X-Originating-IP: [2604:6000:b407:7f00:94d6:ae8a:ed13:1f9b] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 27831504-3de4-4da8-caac-08d833fc6353 X-MS-TrafficTypeDiagnostic: MN2PR04MB5967: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1388; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: w0yHRpDCMvVuHwu/CQBTdCPcLrLM71eTIRHNICg05Me0aUsUHvQFWg3PDpBUn78SJSCuLWaDGpAaNAcgMb7mpixBBLKyxKzTeehWxFIW9tlGaJ5LeIx/S1AbZFZphWSOTVmmL4kAvR/B8ZU+azFe6nikzyx5nC7SMTPi+Bi37sbsOk+jQ8hYphJAjMbbqi3HCMgoLVEJBbx8l4yZEcbmYipTZuPsoIkrdMDXLYYPfEh011zuXNEK/XPBhs4hejMSq5r2STP+QlIVkAqfXkoPbHREFhw2i5QOPFZRsUmeL5bKs4MS3MtFVeC46hDjRqFus/r9z47tvV1f3pWozhYEFIAaJXtB13hqpYvF36CL9KcBO9mIJuA/mlthZi78eOrq X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR04MB6176.namprd04.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(376002)(39860400002)(396003)(366004)(136003)(86362001)(478600001)(786003)(6486002)(316002)(33964004)(5660300002)(52116002)(6916009)(8936002)(36756003)(16526019)(186003)(235185007)(31686004)(66946007)(66616009)(31696002)(75432002)(8676002)(2906002)(2616005)(4326008)(66556008)(66476007)(43740500002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: HaQA5qwoItsfDittWFd0UACE/IyKcSs8fkPwh0X0hLrwkyyj/18VEFOZbpZxwLnpKOgs7YXPDWbJMqI9y5ItGQKwUayeM6/hG3HS8sL/3AK64HWUXK+oeCHsbko58VP18qSBOEy4vAyihiR+Dp1a8qBBNdqmvdIkJKhSzsSAYkYo29j71YFEsPxbpIPJccoq//n17i+PIraUH9p1oD0Rrjevc+fuqzKBhBQs5oYoAZVotEJSPenBdHxGcJszRwqNX5ICJCdD6MC9p/TSOCFI8RQVbSv8D+Aj7Sh6pswzD+GXZhrwXZSKFjDglhP2fa9dauWPcbC9VVytIn9GxZkkj1g3VxlVqa4HtJdfKrphW2kIZZxd54BR5QjmpvKjQ344bZp0kdvYKO8YrMMi4zAPelZZigaFGpDuKFBHVvONTfsgd8zxp0yChK2PHICXndLLYBASYkIMGBg89RAo8U0sR3djIn7fX3VDz8X890Lh95jWu3+DlHiSFyDrh+OR9ovncEGOL7ZeTfpeRAGQMzPsZqya4rbUgRxL9q7CxsRO8/h4KwuX7eVYSkbOkynqvP7c2DoQGATag6MFWE5MYRm4ShIPRZ0CDEqnBBxf1lL1ONGYkOaDrVKwzSD25s5QtGSaSpevAd4IQbb0ZYng7f1lgnMDkscOTqf20wrkJmbIsN3XgZK+31FgiEDq7D5E5iTFQjwtlojXMY41gA6G89wreg== X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: 27831504-3de4-4da8-caac-08d833fc6353 X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB6176.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jul 2020 20:17:16.5105 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 5d7e4366-1b9b-45cf-8e79-b14b27df46e1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: JhLSpIwErri6wGaeVnlq2iCKVj+H6cQwPAdZNUeAIgHIxt7/OVMq3DFuFwLs9+/FS5dN4UmCItciuhgnjvucvQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB5967 X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Jul 2020 20:17:20 -0000 --------------4E722539B241AE176D813692 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit posix_spawn(p) returns before the spawned process is fully up and running. As a result, the spawned process can fail to receive signals. The attached test case illustrates the problem. It spawns a sleep process and then tries to kill it. On exit, the sleep process is still running. The following excerpts from the strace output show the issue: The SIGTERM signal is sent after the main program has forked a subprocess (and posix_spawnp has returned), but before the forked subprocess has exec'd the sleep process: 559 32069 [main] spawn_test 4125 vfork: stub called 257 48437 [main] spawn_test 4125 dofork: 4126 = fork() 754 9511 [main] spawn_test 4126 dofork: 0 = fork() 66 48503 [main] spawn_test 4125 kill0: kill (4126, 15) 44 9555 [main] spawn_test 4126 find_exec: find_exec (/usr/bin/sleep) 42 10835 [main] spawn_test 4126 spawnve: spawnve (/usr/bin/sleep, sleep, 0x8000281A0) 45 3149 [main] sleep 4126 child_info::ready: signalled 0x164 that I was ready 6475 21055 [main] spawn_test 4126! child_info::sync: pid 45028, WFMO returned 0, exit_code 0x103, res 1 --- Process 45028 (pid: 4126) thread 41444 created Ken --------------4E722539B241AE176D813692 Content-Type: text/plain; charset=UTF-8; name="spawn_test.c" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="spawn_test.c" #include #include #include #include #include extern char **environ; pid_t run_sleep () { pid_t pid; char *argv[] = { "sleep", "3600", NULL }; int err = posix_spawnp (&pid, "/usr/bin/sleep", NULL, NULL, argv, environ); if (err == 0) return pid; else { printf ("posix_spawnp: %s\n", strerror (err)); exit (1); } } int main () { pid_t pid = run_sleep (); kill (pid, SIGTERM); } --------------4E722539B241AE176D813692--