make-dfsg/w32
Paul Smith fd1dd7c398 [SV 44555] Use vfork() instead of fork() where available.
Testing has shown that vfork() is actually significantly
more efficient on systems where it's supported, even for
copy-on-write implementations.  If make is big enough,
duplicating the page tables is significant overhead.

* configure.ac: Check for fork/vfork.
* makeint.h: Include vfork.h and set up #define for it.
* os.h, posixos.c (get_bad_stdin): For children who can't use
the normal stdin file descriptor, get a broken one.
* job.c (start_job_command): Avoid so many ifdefs and simplify
the invocation of child_execute_job()
(child_execute_job): move the fork operation here so it can
return early for the parent process.  Switch to use vfork().
* function.c (func_shell_base): Use new child_execute_job() and
simplify ifdefs.
* job.h, main.c, remote-cstms.c, vmsjobs.c, w32os.c: Update
declarations and calls.
2016-03-13 01:12:07 -05:00
..
compat Update Copyright statements for the new year. 2016-02-28 12:55:20 -05:00
include Extract jobserver implementation into OS-specific files. 2016-03-08 23:40:46 -05:00
subproc Extract jobserver implementation into OS-specific files. 2016-03-08 23:40:46 -05:00
Makefile.am Update Copyright statements for the new year. 2016-02-28 12:55:20 -05:00
pathstuff.c Update Copyright statements for the new year. 2016-02-28 12:55:20 -05:00
w32os.c [SV 44555] Use vfork() instead of fork() where available. 2016-03-13 01:12:07 -05:00