git-annex/doc/design
Joey Hess a49d300545
async exception safety for external special remote processes
Since an external process can be in the middle of some operation when an
async exception is received, it has to be shut down then. Using
cleanupProcess will close its IO handles and send it a SIGTERM.

If a special remote choses to catch SIGTERM, it's fine for it to do some
cleanup then, but until it finishes, git-annex will be blocked waiting
for it. If a special remote blocked SIGTERM, it would cause a hang.
Mentioned in docs.

Also, in passing, fixed a FD leak, it was not closing the error handle
when shutting down the external. In practice that didn't matter before because
it was only run when git-annex was itself shutting down, but now that it
can run on exception, it would have been a problem.
2020-06-09 12:22:14 -04:00
..
adjusted_branches
assistant
encryption
exporting_trees_to_special_remotes
external_special_remote_protocol some improvements to docs 2019-11-11 12:52:45 -04:00
git-remote-daemon
iabackup
metadata
new_repo_versions
p2p_protocol
requests_routing
adjusted_branches.mdwn
assistant.mdwn
balanced_preferred_content.mdwn
caching_database.mdwn
encryption.mdwn Fix typo remotes.log -> remote.log 2020-03-28 13:36:45 +00:00
exporting_trees_to_special_remotes.mdwn
external_special_remote_protocol.mdwn async exception safety for external special remote processes 2020-06-09 12:22:14 -04:00
gcrypt.mdwn
git-remote-daemon.mdwn
iabackup.mdwn
importing_trees_from_special_remotes.mdwn
metadata.mdwn
new_repo_versions.mdwn
p2p_protocol.mdwn
preferred_content.mdwn
requests_routing.mdwn
roadmap.mdwn typo 2020-03-25 13:20:24 -04:00