Flush output in start_async
This prevents double output in case stdout is redirected. Signed-off-by: Anders Melchiorsen <mail@cup.kalibalik.dk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
22537765f5
commit
2c3766f06a
@ -304,6 +304,9 @@ int start_async(struct async *async)
|
||||
async->out = pipe_out[0];
|
||||
|
||||
#ifndef __MINGW32__
|
||||
/* Flush stdio before fork() to avoid cloning buffers */
|
||||
fflush(NULL);
|
||||
|
||||
async->pid = fork();
|
||||
if (async->pid < 0) {
|
||||
error("fork (async) failed: %s", strerror(errno));
|
||||
|
@ -31,6 +31,12 @@ test_expect_success 'clone with excess parameters (2)' '
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'output from clone' '
|
||||
rm -fr dst &&
|
||||
git clone -n "file://$(pwd)/src" dst >output &&
|
||||
test $(grep Initialized output | wc -l) = 1
|
||||
'
|
||||
|
||||
test_expect_success 'clone does not keep pack' '
|
||||
|
||||
rm -fr dst &&
|
||||
|
Loading…
Reference in New Issue
Block a user