X-Recipient: archive-cygwin@delorie.com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:message-id:date:from:mime-version:to:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	 q=dns; s=default; b=Q2Q7TERGkrHlPeSNro3DmnzJQsmTqdpanGDpZw6o7fT
	qg7sDEVhEsgWMq5HPwt/zmUP9cXQxQzOHly0/VkW7dJhPKKsl30IWmQNfKd2fOvJ
	oJOAY9Pu3MRfG87/Ko8ematamuWw5DithGHD+ZA2dneXLPxWumsKjE9Y/9Z+z420
	=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:message-id:date:from:mime-version:to:subject
	:references:in-reply-to:content-type:content-transfer-encoding;
	 s=default; bh=bc5vw4crHjxdnO+PrOeAi6ksflg=; b=asrZUs0ET3BBZyh1H
	/i3tPHPsLwMV6fQX/7P4/BvFwtnvNKr/0gFKdsmlXbS6DCLDFaBlHkZ8zTRPJd1f
	llar01rj5NQ3gDkvX7UX5ymGqh62NErbD3LpLUypqHWhgkw+yUX8eR6AcRuXDQMC
	OmO76EbqKGIEQ0hNf7I6Utks3M=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
X-Spam-SWARE-Status: No, score=-3.9 required=5.0 tests=BAYES_00,KHOP_THREADED,RP_MATCHES_RCVD,SPF_NEUTRAL autolearn=ham version=3.3.1
Message-ID: <51CC2018.2010608@cs.utoronto.ca>
Date: Thu, 27 Jun 2013 07:20:56 -0400
From: Ryan Johnson <ryan.johnson@cs.utoronto.ca>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6
MIME-Version: 1.0
To: cygwin@cygwin.com
Subject: Re: Failure with fork()
References: <CAMCbSMqcCEUhjiSsv8CvP1LUdxEHgyS4jJvLjzkSCACAuQ9e2w@mail.gmail.com>
In-Reply-To: <CAMCbSMqcCEUhjiSsv8CvP1LUdxEHgyS4jJvLjzkSCACAuQ9e2w@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

On 27/06/2013 5:35 AM, Arjen Markus wrote:
> Hello,
>
> the bug I am reporting here on behalf of Alan Irwin surfaced in the
> combination wine and Cygwin (Alan summarised it here:
> http://www.winehq.org/pipermail/wine-devel/2013-June/100328.html). It
> has to do with the way Cygwin handles forks.
>
> The bug can be illustrated with this small program:
>
> int main(void) {
>      while(!fork());
>      return 0;
> }
>
> It is meant to enable infinite forking, but on Cygwin it immediately
> stops. I tried
> it on both Cygwin (not via wine but simply Windows 7) and Linux:
> - On Linux the program continues without any problem
> - On Cygwin it stops immediately with an error message that the child process
>    terminated unexpectedly with some weird return code.
>
> Can anyone shed light on this? This bug is a showstopper for the
> combination wine and Cygwin.
Out of curiosity, why do you need a fork bomb? Does the script just 
capture the effect of multiple fork calls in quick succession? How many 
forks can you pull off before it croaks, and is that number consistent 
from run to run? I'd be shocked if it really died "immediately" -- as in 
"zero forked children" -- so it would be interesting to see if the issue 
is related to the number of fork calls (resource exhaustion of some 
kind), or just to how quickly they run back to back (data race of some 
kind).

Ryan


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

