From: Luke Lau Date: Tue, 7 Aug 2018 18:48:37 +0000 (+0100) Subject: Kill process even if exception is thrown X-Git-Url: https://git.lukelau.me/?p=lsp-test.git;a=commitdiff_plain;h=3657f4643067ae95b11b83f9457eacd782a79133 Kill process even if exception is thrown --- diff --git a/src/Language/Haskell/LSP/Test/Server.hs b/src/Language/Haskell/LSP/Test/Server.hs index 7d00f23..bd5bdb9 100644 --- a/src/Language/Haskell/LSP/Test/Server.hs +++ b/src/Language/Haskell/LSP/Test/Server.hs @@ -1,6 +1,7 @@ module Language.Haskell.LSP.Test.Server (withServer) where import Control.Concurrent +import Control.Exception import Control.Monad import Language.Haskell.LSP.Test.Compat import System.IO @@ -21,8 +22,6 @@ withServer serverExe logStdErr f = do pid <- getProcessID serverProc - result <- f serverIn serverOut pid - + finally (f serverIn serverOut pid) $ do killThread errSinkThread terminateProcess serverProc - return result