bug-make
[Top][All Lists]
Advanced

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

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


From: Paul Smith
Subject: Re: [PATCH] Use spawn() in GNU Make on Cygwin, updated
Date: Fri, 16 Aug 2013 14:18:31 -0400

On Fri, 2013-08-16 at 13:30 -0400, Christopher Faylor wrote:
> 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.
>
> 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.

Sorry, I was too flippant here.  What I would like, in the abstract, is
that if you download the GNU make tarball from the GNU site and run
"./configure" and build in a Cygwin environment, the resulting
executable has the same features you'd get if you downloaded the binary
version of GNU make with the official Cygwin distribution.  As far as
I'm concerned, you (Christopher) know best and have final say as to what
that configuration is, and I have little interest in getting involved in
that.

I'm willing to entertain the idea of configure options that allow for
alternate behaviors, that people could get by performing their own
builds.  I have no exact criteria for what I would agree to, but in
general it would have to be of significant utility to a significant
number of people, and it can't be too ugly or difficult to maintain.

I'm much less enthused about runtime flags, but I don't like to take
anything completely off the table... yet.

> >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?
> 
> This is, IMO, just a variation of the same question that Eli raised.

Perhaps: I haven't gone back and re-read the whole thread.  In any event
I don't recall anyone (Pavel) specifically answering it.  That's what
I'm waiting for: the results of an investigation as to what works and
what doesn't, based on examination of the code rather than anecdotal
evidence ("works for me").

> 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.

Exactly, hence the reason for my question.  I'm not interested in adding
this if, when it's enabled, things don't work correctly.

On the other hand I'm not sure it's not possible to get things working
correctly.  Or, perhaps it's possible to make them work correctly if we
disable some (already optional) features: then the configuration of this
alternate mode should disable those as well.




reply via email to

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