summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2013-05-04 13:10:56 -0400
committerPaul Smith <psmith@gnu.org>2013-05-04 13:10:56 -0400
commitb8467292c9be14b31c028d472107946770ed977e (patch)
tree83a4a38f0209303e73e93d03218528e1ba07c366 /ChangeLog
parentcb2be0db36b9730d9879dec4332141ee4db9377f (diff)
downloadgunmake-b8467292c9be14b31c028d472107946770ed977e.tar.gz
Improve sync handling for -Ojob/-Otarget and recursion.
If we are not going to sync a command line then dump any collected output first to preserve ordering. Do some code cleanup: * Move the handle init to a separate function. * Move the temp file truncation to the output function. * Remember whether we sync in a variable for readability. * Handle EINTR and short writes in child_out(). * Always call sync_output() in case output_sync was changed due to error.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog13
1 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 9b347f6..498e127 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2013-05-04 Paul Smith <psmith@gnu.org>
+
+ * job.c (child_out): Handle EINTR and incomplete write scenarios.
+ (sync_init): New function: separate the initialization code.
+ (assign_child_tempfiles): Remove truncation from this function,
+ (sync_output): and add it here after output is generated.
+ (reap_children): Always call sync_output() in case output_sync was
+ reset after the child started, due to error.
+ (start_job_command): Create new sync_cmd variable. Use new method
+ for initializing the handle.
+ If we're not syncing the output be sure any output we've saved is
+ dumped immediately before starting the child.
+
2013-05-04 Eli Zaretskii <eliz@gnu.org>
* job.c (start_job_command): Make the condition for creating a