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