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.


However, if you look at the code in job.c that make uses to actually
fork/exec a process you will see that there are a number of operations
we perform in the child process between the fork and the exec.  In fact
I recently had to abandon using vfork() and use fork(), because some of
the operations performed in the child before the exec() are not valid in
a vfork() implementation.

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



_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to