Changes in v3:
* More error handling for dup2/close calls in the child
* Added a test in t0061 to test for regressions in run_command's
ability to interpret scripts without a "#!" line
* In the event execve fails with ENOEXEC, attempt to exec one more
time by invoking the shell to interpret the command
Brandon Williams (9):
t5550: use write_script to generate post-update hook
t0061: run_command executes scripts without a #! line
run-command: prepare command before forking
run-command: use the async-signal-safe execv instead of execvp
run-command: prepare child environment before forking
run-command: don't die in child when duping /dev/null
run-command: eliminate calls to error handling functions in child
run-command: handle dup2 and close errors in child
run-command: add note about forking and threading
Eric Wong (1):
run-command: block signals between fork and execve
run-command.c | 426 ++++++++++++++++++++++++++++++++++++---------
t/t0061-run-command.sh | 11 ++
t/t5550-http-fetch-dumb.sh | 5 +-
3 files changed, 357 insertions(+), 85 deletions(-)