X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 147F8386101C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1596451810;
	bh=yTEWRvkPftPfemfCdNWeOQifltoXIKHqzjQJtO1HFWs=;
	h=Date:From:To:Subject:References:In-Reply-To:List-Id:
	 List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:
	 Reply-To:From;
	b=JVVLlUBHBo/DFclS3uLhYps/ov6Y+SbkcVeBJGBaCB0i3cm/5kZ7ZPKP2C8XeHiNl
	 Dl9njauJEvWn7cOlVEe75B3+hJVwxVdy04KRKtvCvFHdNIsWkhNtrBZJp4X3faVM4t
	 mhZ71oa2q8IT0zVlYMcuKFBo8RLr+3McD+Ej4b74=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 8126F385DC00
Authentication-Results: sourceware.org;
 dmarc=none (p=none dis=none) header.from=cygwin.com
Authentication-Results: sourceware.org;
 spf=fail smtp.mailfrom=corinna-cygwin@cygwin.com
Date: Mon, 3 Aug 2020 12:50:04 +0200
From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: Synchronization problem with posix_spawn
Message-ID: <20200803105004.GK460314@calimero.vinschen.de>
Mail-Followup-To: cygwin@cygwin.com
References: <b1992e8b-d2e8-9c44-8f93-a270d5a879ed@cornell.edu>
 <864b3031-9fc8-beb3-ba7c-1ade4c31a288@cornell.edu>
 <20200730115913.GL4206@calimero.vinschen.de>
 <20200730171723.GA460314@calimero.vinschen.de>
 <86051625-646d-065a-8543-1c3086411d3d@cornell.edu>
 <20200731081025.GB460314@calimero.vinschen.de>
 <9c44f4351d459a2ba8d27c65bf71679208cb13d6.camel@tdcadsl.dk>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <9c44f4351d459a2ba8d27c65bf71679208cb13d6.camel@tdcadsl.dk>
X-Provags-ID: V03:K1:b6grvC2OKaQ4xqec8ab8zmKf4+qcozntJCn/i7h4TyWBtRZ3StJ
 0JIYgcrOGhe6kZrPiSfWGWPOR0NpEybDHaQiSn9WrrjMrrs2EYRqPi89O1h/W2c1ZmM6Oyc
 UIVhgwZ6Vvz+f7M/qJz6feKwE56RB1oEQ5H8LTSXgH1XxkhlNjYwekIxcXSZJyjEeEbJCye
 aVci33NkSdNpTxM/YbE3g==
X-UI-Out-Filterresults: notjunk:1;V03:K0:svmG+Y8TnYw=:RK4gH6gLlNflY8HoJB+YqC
 SGvcysZTqzDaWXWMTdH+trnxS3Oy01UkM5z4UHI0vIXWQCZdtqRhErhjSBq0DOR+TtuuRrzed
 lMT8XgXlpTC9VJuRxMcAAMCIqbd9snU4qiJwYzjC3YkyHftW+JGPD6xeTegiz1q1vJMZwZxvN
 CZjy7MAJ2scgpiT7Bn8zkyiEeoRTZSfBMbrW3YvrNdB7IjtlMP746+hQOEB1jjzvdYNoXeMxH
 apnBnAlIWMoYE4271Br9tAlMn1xd5xg8GZQdsLrf+NYLoegL4oRqGgrNWy4EROzwibuH/93zu
 cNkh4R4LytQNd2imxydBzOACxD4d23ZUlG0b3i7jXhEqKGgjns2wOnwX+BZQfZpGFTZDvoEBv
 xBcUC8iaUquipKGaS+ez8v3A5YxlA2yQ12qC2rlpWmnvSE579gBQEZEckBikkSXCRK0pY2YLk
 dhVVPZiCrDF3sNoz/cK1bOxjGdmT0c9sXRh+UTz8jdiOIzIgmeGCNBQD792jvxXqUYzhPHa2z
 qutloXyUjzQRt5eICdCJG187ol9y8L3iCBbz7svMNiYPw5yUCbtkgL8X1jquZlhuU5li3+O6k
 IRu56JxNNA+U5kOk+m8NV6N30Fa4crMI/n91j+3oJyOIni+N4/yQ+pZE32A2Pnlma8v46CTfR
 gzah7OdzdAZNlYL14hlI0AXy+5+r2dHKRWdNyghSOSqP1NsYQ8yamTqwLk2NQkLh5B19dbn9f
 p/utWeVTCmiHywOTePMus9NcPgFSh2PWO5smR4Aph8P3v9WKi5v++laiUqC2vhXlNe/wL0zfm
 hcBwKarEf9dAltkPfFvKn8Huq2VZn9ZL3ndw9Q4AsWOTRzoDkrZzkuLy/6pZtMaMqAYpw+nYq
 KOHMK8MaolWWxyfOMCgw==
X-Spam-Status: No, score=-99.9 required=5.0 tests=BAYES_00,
 GOOD_FROM_CORINNA_CYGWIN, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE,
 RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NEUTRAL,
 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 <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
Reply-To: cygwin@cygwin.com
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: cygwin-bounces@cygwin.com
Sender: "Cygwin" <cygwin-bounces@cygwin.com>

On Aug  3 11:10, Peter Dons Tychsen via Cygwin wrote:
> Hi all,
> 
> On Fri, 2020-07-31 at 10:10 +0200, Corinna Vinschen wrote:
> > Oh well.  I did a quick test with your new testcase (thanks for
> > that!)
> > and it seems to be a bit more complicated than I anticipated
> > yesterday.
> > The parent-child relationship between the processes is broken.  I
> > have
> > to think a while about this problem, stay tuned.
> 
> I also have seen this problem. I propose a different solution however.
> Why no get rid of the call to fork() all together. One of the things
> bogging down performance on larger setups is the calls to fork() are is
> inherently slow and should be avoided at all costs. Instead why don't
> we just call spawn(vpe) instead, which is quite stable and fast.
> 
> This would give a _huge_ boost to e.g. larger build jobs. Make supports
> posix_spawn, but it does not help on cygwin at it just calls back into
> fork().

spawn alone doesn't cut it, due to the requirement to support the
additional file actions and spawn atributes POSIX defines.  This
would require a revamp of Cygwin's spawn functionality, which is
already quite complicated.  So this is something I'm only willing
to do in homeopathic doses.


Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
--
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
