summaryrefslogtreecommitdiff
path: root/job.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2013-05-01 18:15:16 +0300
committerEli Zaretskii <eliz@gnu.org>2013-05-01 18:15:16 +0300
commit650ba5e1c05426901040754f10fdb33605f0dfa6 (patch)
tree86ad0e5b0f0f291edfaad4c7d78826cff482d162 /job.c
parentd4a2bf6edba5c53c4f6ec7488e74368a5b8e6f27 (diff)
downloadmake-650ba5e1c05426901040754f10fdb33605f0dfa6.tar.gz
job.c (start_job_command) [WINDOWS32]: Make the same fix for
MS-Windows as the previous commit did for Posix platforms.
Diffstat (limited to 'job.c')
-rw-r--r--job.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/job.c b/job.c
index 24888080..5b626b15 100644
--- a/job.c
+++ b/job.c
@@ -1857,8 +1857,10 @@ start_job_command (struct child *child)
sync_Path_environment();
#ifdef OUTPUT_SYNC
- /* Divert child output into tempfile(s) if output_sync in use. */
- if (output_sync)
+ /* Divert child output if output_sync in use. Don't capture
+ recursive make output unless we are synchronizing "make" mode. */
+ if (output_sync && (output_sync == OUTPUT_SYNC_MAKE
+ || !(flags & COMMANDS_RECURSE)))
hPID = process_easy(argv, child->environment,
child->outfd, child->errfd);
else