This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Failure with fork()
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Thu, 27 Jun 2013 13:27:18 +0200
- Subject: Re: Failure with fork()
- References: <CAMCbSMqcCEUhjiSsv8CvP1LUdxEHgyS4jJvLjzkSCACAuQ9e2w at mail dot gmail dot com> <51CC2018 dot 2010608 at cs dot utoronto dot ca>
On Jun 27 07:20, Ryan Johnson wrote:
> 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).
It dies after somewhat below 500 forks and I think I found the reason.
Stay tuned.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
--
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