Don't clean up tmp dirs when --keep=always
This commit is contained in:
parent
d1075987de
commit
d5a680e3c6
@ -465,13 +465,20 @@ withGHCupTmpDir :: ( MonadReader env m
|
|||||||
, MonadMask m
|
, MonadMask m
|
||||||
, MonadIO m)
|
, MonadIO m)
|
||||||
=> m GHCupPath
|
=> m GHCupPath
|
||||||
withGHCupTmpDir = snd <$> withRunInIO (\run ->
|
withGHCupTmpDir = do
|
||||||
|
Settings{keepDirs} <- getSettings
|
||||||
|
snd <$> withRunInIO (\run ->
|
||||||
run
|
run
|
||||||
$ allocate
|
$ allocate
|
||||||
(run mkGhcupTmpDir)
|
(run mkGhcupTmpDir)
|
||||||
(\fp ->
|
(\fp -> if -- we don't know whether there was a failure, so can only
|
||||||
handleIO (\e -> run
|
-- decide for 'Always'
|
||||||
$ logDebug ("Resource cleanup failed for " <> T.pack (fromGHCupPath fp) <> ", error was: " <> T.pack (displayException e)))
|
| keepDirs == Always -> pure ()
|
||||||
|
| otherwise -> handleIO (\e -> run
|
||||||
|
$ logDebug ("Resource cleanup failed for "
|
||||||
|
<> T.pack (fromGHCupPath fp)
|
||||||
|
<> ", error was: "
|
||||||
|
<> T.pack (displayException e)))
|
||||||
. removePathForcibly
|
. removePathForcibly
|
||||||
$ fp))
|
$ fp))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user