From b8467292c9be14b31c028d472107946770ed977e Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Sat, 4 May 2013 13:10:56 -0400 Subject: 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. --- ChangeLog | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 9b347f6..498e127 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2013-05-04 Paul Smith + + * 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 * job.c (start_job_command): Make the condition for creating a -- cgit v1.2.3