X-Git-Url: http://git.lukelau.me/?a=blobdiff_plain;f=src%2FLanguage%2FHaskell%2FLSP%2FTest%2FSession.hs;fp=src%2FLanguage%2FHaskell%2FLSP%2FTest%2FSession.hs;h=a153cba988890e08b5fe6f54e40d3a8cdfcbb377;hb=a910d74e3d186220c1bbf56f5236ce6e171b259c;hp=9af3a6774150b559500ee544ce63a298b944d387;hpb=a49c04220da70ad6b6c5aef344b12bd3d3cd10a1;p=lsp-test.git diff --git a/src/Language/Haskell/LSP/Test/Session.hs b/src/Language/Haskell/LSP/Test/Session.hs index 9af3a67..a153cba 100644 --- a/src/Language/Haskell/LSP/Test/Session.hs +++ b/src/Language/Haskell/LSP/Test/Session.hs @@ -203,11 +203,9 @@ runSessionWithHandles serverIn serverOut serverHandler config caps rootDir sessi let context = SessionContext serverIn absRootDir messageChan reqMap initRsp config caps initState = SessionState (IdInt 0) mempty mempty 0 False Nothing - - threadId <- forkIO $ void $ serverHandler serverOut context - (result, _) <- runSession context initState session - - killThread threadId + launchServerHandler = forkIO $ void $ serverHandler serverOut context + (result, _) <- bracket launchServerHandler killThread $ + const $ runSession context initState session return result