From 9aa6601cbaa22c00a47dcacc8563683036e202ca Mon Sep 17 00:00:00 2001 From: Kirill Zaborsky Date: Thu, 3 Aug 2017 15:45:32 +0300 Subject: [PATCH] Using forkFinally instead of fork + finally --- src/Main.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Main.hs b/src/Main.hs index e280147..8f7046f 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -21,7 +21,7 @@ import Data.Semigroup import Data.String.Class (toStrictByteString) import Options.Applicative import Prelude hiding (mapM, mapM_) -import SlaveThread (fork) +import SlaveThread (fork, forkFinally) import System.Exit import System.IO import System.Process @@ -97,7 +97,7 @@ waitSignal (WaitSignal mv) = takeMVar mv >> return () forkW :: IO a -> IO (ThreadId, WaitSignal) forkW f = do ws <- newEmptyMVar - tid <- fork (finally f (putMVar ws True)) + tid <- forkFinally (putMVar ws True) f return (tid, WaitSignal ws) runSingle ::