fix hang if external program is not available
startExternal' throws an exception, which left the externalAsync TMVar empty, so the next try to use it would hang.
This commit is contained in:
parent
168bf5e0c5
commit
d00ce82418
2 changed files with 3 additions and 0 deletions
|
@ -616,6 +616,7 @@ startExternal external =
|
|||
liftIO (atomically $ takeTMVar (externalAsync external)) >>= \case
|
||||
UncheckedExternalAsync -> do
|
||||
(st, extensions) <- startExternal' external
|
||||
`onException` store UncheckedExternalAsync
|
||||
if asyncExtensionEnabled extensions
|
||||
then do
|
||||
relay <- liftIO $ runRelayToExternalAsync external st
|
||||
|
|
|
@ -56,3 +56,5 @@ With the first commit before the merge checked out (0900bb2ca), the
|
|||
|
||||
[[!meta author=kyle]]
|
||||
[[!tag projects/datalad]]
|
||||
|
||||
> [[fixed|done]] thanks for reporting --[[Joey]]
|
||||
|
|
Loading…
Reference in a new issue