From e8cf056301d14717553bf91fda5f9a645488a5cd Mon Sep 17 00:00:00 2001 From: ndwarshuis Date: Wed, 25 Mar 2020 16:34:38 -0400 Subject: [PATCH] REF use when luke --- lib/WorkspaceMon.hs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/WorkspaceMon.hs b/lib/WorkspaceMon.hs index 8f2f762..1661354 100644 --- a/lib/WorkspaceMon.hs +++ b/lib/WorkspaceMon.hs @@ -97,9 +97,7 @@ waitAndKill tag pid = waitUntilExit pidDir withUniquePid :: WatchedPIDs -> Pid -> IO () -> IO () withUniquePid curPIDs pid f = do pids <- readMVar curPIDs - if pid `elem` pids - then return () - else do - modifyMVar_ curPIDs (return . (pid:)) - f - modifyMVar_ curPIDs (return . filter (/=pid)) + unless (pid `elem` pids) $ do + modifyMVar_ curPIDs (return . (pid:)) + f + modifyMVar_ curPIDs (return . filter (/=pid))