Windows: simplify the pipe(2) implementation
authorJohannes Sixt <j6t@kdbg.org>
Fri, 15 Jan 2010 20:12:17 +0000 (21:12 +0100)
committerJunio C Hamano <gitster@pobox.com>
Sun, 17 Jan 2010 00:43:52 +0000 (16:43 -0800)
Our implementation of pipe() must create non-inheritable handles for the
reason that when a child process is started, there is no opportunity to
close the unneeded pipe ends in the child (on POSIX this is done between
fork() and exec()).

Previously, we used the _pipe() function provided by Microsoft's C runtime
(which creates inheritable handles) and then turned the handles into
non-inheritable handles using the DuplicateHandle() API.

Simplify the procedure by using the CreatePipe() API, which can create
non-inheritable handles right from the beginning.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

No differences found