delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2020/07/29/16:18:07

X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 21E883851C39
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1596053841;
bh=vkXUhZkTgn91w4SRxVpGvPFAh3Szfrl0lPTTx1UQsss=;
h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post:
List-Help:List-Subscribe:From:Reply-To:From;
b=raZPNWxwEVnpx2SpLuOyL97fF3SWrdvcekcV1pSKYI7OAVRigxQTPj6eenMyhwrsz
PPhYdxroG01frvnMhl8hjdHVVRU464Immfc/X6IMx2aC3tLhH5ac2Xa9UCpzZuQMiJ
CcFAVPWRjK2FRVROf9IdcRm+MG61vqn7urT/0DeA=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
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
To: cygwin <cygwin AT cygwin DOT com>
Subject: Synchronization problem with posix_spawn
Message-ID: <b1992e8b-d2e8-9c44-8f93-a270d5a879ed@cornell.edu>
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
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
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: <MN2PR04MB5967A6E7BC85E227E5C8B244D8700 AT MN2PR04MB5967 DOT namprd04 DOT prod DOT outlook DOT com>
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 AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Ken Brown via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Ken Brown <kbrown AT cornell DOT edu>
Sender: "Cygwin" <cygwin-bounces AT cygwin DOT com>

--------------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 <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <spawn.h>
#include <signal.h>

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
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

--------------4E722539B241AE176D813692--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019