diff options
author | Paul Smith <psmith@gnu.org> | 2013-05-04 13:10:56 -0400 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2013-05-04 13:10:56 -0400 |
commit | b8467292c9be14b31c028d472107946770ed977e (patch) | |
tree | 83a4a38f0209303e73e93d03218528e1ba07c366 /ChangeLog | |
parent | cb2be0db36b9730d9879dec4332141ee4db9377f (diff) | |
download | gunmake-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-- | ChangeLog | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -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 |