[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Use spawn() in GNU Make on Cygwin, updated

From: Christopher Faylor
Subject: Re: [PATCH] Use spawn() in GNU Make on Cygwin, updated
Date: Fri, 16 Aug 2013 13:30:32 -0400
User-agent: Mutt/1.5.20 (2009-06-14)

On Fri, Aug 16, 2013 at 01:12:28PM -0400, Paul Smith wrote:
>On Fri, 2013-08-16 at 20:59 +0400, Pavel Fedin wrote:
>>Friday, August 16, 2013, 19:19:58 you wrote:
>>>Also, when I'm making changes to the exec() code I don't spend a lot of
>>>time worrying about spawn() so it is possible that it will be broken
>>>from time to time and, in fact, I think you actually noticed some
>>>breakage in the cygwin list.
>>Which one ?
>It seems that the discussion is not directly addressing the issue here.
>Personally I don't worry that spawn() will break, and I wouldn't mind a
>more performant version of make for windows/cygwin, either optionally
>or by default.

AFAIK, we're not talking about windows/cygwin here.  We're just talking
about Cygwin.  I tried not to make a big deal about this when a small
number of people were clamoring for MS-DOS paths but probably I erred by
not making it clear here what I was doing with the Cygwin release (I
did make it clear in the cygwin list).

You may not be concerned on whether spawn() in Cygwin actually works
right or not but I am.  If this becomes the default option for Cygwin I
will definitely figure out how to turn it off for the Cygwin release,
just like I'm not allowing MS-DOS paths in the released version of
Cygwin's make.

Just an FYI so that this, at least, is in the bug-make archives for
people to ignore in the future.

>So, the question is very simple: is it technically possible to ensure
>that the operations make takes today in the child between fork and exec
>can be handled properly in a spawn-based implementation?  I know some
>operations can be handled, such as close-on-exec.  Others I'm not sure

This is, IMO, just a variation of the same question that Eli raised.
Presumably make works at least 99% correctly on Windows using spawn*().
I don't doubt at all that the patch actually works great with most uses
of make in Cygwin.  However, I would rather be 100% correct and slower
than 99% correct with head scratching corner case errors.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]