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
pid <- getProcessID serverProc
- result <- f serverIn serverOut pid
-
+ finally (f serverIn serverOut pid) $ do
killThread errSinkThread
terminateProcess serverProc
- return result