-
Notifications
You must be signed in to change notification settings - Fork 51
Open
Description
Why
This will allow a caller to work with it more accurately, catching errors if needed.
Affected issues
It should partially fix #1580, to be precise it could allow fixing incomplete Plutip cluster cleanup after tests.
Calling cleanupTmpDir from startKupo' like this
_ <- Aff.forkAff $ logErrorWhenLeft =<< try (cleanupTmpDir process workdir)Would prevent any event handler error from killing the app before the full plutip cluster cleanup is done.
Implementation
cleanupTmpDir :: ManagedProcess -> FilePath -> Aff Unit
cleanupTmpDir (ManagedProcess _ child _) workingDir =
Aff.makeAff \callback -> do
isCancelled <- Ref.new false
let
cancel = void $ Ref.modify (const true) isCancelled
ChildProcess.onExit child \_ ->
Ref.read isCancelled >>= flip unless do
try (_rmdirSync workingDir) >>= callback
pure $ Aff.effectCanceler cancelReactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels