summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2013-04-28 01:19:19 -0400
committerPaul Smith <psmith@gnu.org>2013-04-28 01:19:19 -0400
commit7f01830927969a8386050617385e59070fe9f34b (patch)
treeb211c33f53be418ea4bf051b503aea10607f6d49 /ChangeLog
parent30843dea3a17f84b7456f68d75e5cd6bd5c5e11b (diff)
downloadgunmake-7f01830927969a8386050617385e59070fe9f34b.tar.gz
Add support for per-job output sync.
A new flag to the -O/--output-sync, "job", selects a per-job (that is, per line of a recipe) output synchronization. To support this move the close of the temp file out of the sync_output() function and don't do it until we free the child, since we may call sync_output() multiple times in a given recipe. When we set up for a new temp file, if we're in per-job mode we truncate the file and seek to the beginning to re-use it for every job.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog18
1 files changed, 18 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d0dabb1..91802ae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2013-04-28 Paul Smith <psmith@gnu.org>
+
+ Implement a "per-job" output synchronization option.
+
+ * main.c (decode_output_sync_flags): Recognize the new option.
+ * makeint.h (OUTPUT_SYNC_JOB): Add new values for "job"
+ * job.c (assign_child_tempfiles): In per-job mode, truncate the
+ temp file for re-use by the next job.
+ (sync_output): Don't close the temp files as we may still use them.
+ (free_child): Close the temp files here as we definitely don't
+ need them.
+ (new_job): In per-job output mode, sync_output() after each job.
+ * job.h (struct child): Avoid ifdefs.
+ * make.1: Add new options to the man page.
+ * doc/make.texi (Parallel Output): Break documentation on input
+ and output into separate sections for readability. Document the
+ new "job" and "none" modes.
+
2013-04-27 Paul Smith <psmith@gnu.org>
* job.c (construct_command_argv_internal): Fix oneshell support