git-annex/Remote
Joey Hess 7776677a5f
Fix hang on shutdown of external special remote using ASYNC protocol extension.
Reversion introduced in version 8.20201007, one release after the 1st
release with the extension.

Surprisingly, hClose can hang if another thread is reading from the
handle. This is because it uses takeMVar.

The use of cancel here does mean that, if receiveMessageAddonProcess
or Remote.External.AsyncExtension.receiveloop allocated some resource in
a non-async-exception safe way, they might not get a chance to clean it up.
They do not appear to, and anyway, this only happens when git-annex is
shutting down, so any recource that did leak would not be a problem.

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
2020-11-30 13:04:02 -04:00
..
Directory finish fixing removeLink on windows 2020-11-24 13:20:44 -04:00
External Fix hang on shutdown of external special remote using ASYNC protocol extension. 2020-11-30 13:04:02 -04:00
Helper finish fixing removeLink on windows 2020-11-24 13:20:44 -04:00
List auto-init autoenable=yes 2020-05-27 12:40:35 -04:00
Rsync add newtypes for QuickCheck to avoid LANG=C issues 2020-11-09 20:21:18 -04:00
WebDAV more RawFilePath 2019-12-18 17:10:28 -04:00
Adb.hs no importKey for android yet 2020-07-03 14:02:50 -04:00
BitTorrent.hs BitTorrent: Fix build for "no torrent" code path 2020-11-19 14:46:21 -04:00
Bup.hs more RawFilePath conversion 2020-10-30 13:07:41 -04:00
Ddar.hs convert to withCreateProcess for async exception safety 2020-06-04 15:45:52 -04:00
Directory.hs finish fixing removeLink on windows 2020-11-24 13:20:44 -04:00
External.hs fix hang if external program is not available 2020-08-19 12:20:07 -04:00
GCrypt.hs convert git config reading to use hGetLineUntilExitOrEOF 2020-11-19 15:38:43 -04:00
Git.hs annex.adjustedbranchrefresh 2020-11-16 14:27:28 -04:00
GitLFS.hs convert getFileSize to RawFilePath 2020-11-05 11:32:57 -04:00
Glacier.hs close stdin handles before waiting on commands 2020-06-05 17:27:49 -04:00
Hook.hs make removeKey throw exceptions 2020-05-14 14:11:05 -04:00
HttpAlso.hs httpalso: Support being used with special remotes that do not have encryption= in their config. 2020-09-29 13:56:27 -04:00
List.hs cache remote.log 2020-09-22 13:52:26 -04:00
P2P.hs make retrieveKeyFile and retrieveKeyFileCheap throw exceptions 2020-05-13 17:07:07 -04:00
Rsync.hs more RawFilePath conversion 2020-10-30 15:55:59 -04:00
S3.hs convert getFileSize to RawFilePath 2020-11-05 11:32:57 -04:00
Tahoe.hs more RawFilePath conversion 2020-10-30 12:51:34 -04:00
Web.hs Parse youtube-dl progress output 2020-09-29 17:53:48 -04:00
WebDAV.hs fix embedcreds=yes reversion 2020-05-21 14:35:30 -04:00