From: Luke Lau Date: Fri, 28 Aug 2020 16:07:49 +0000 (+0100) Subject: Update request map in listenServer X-Git-Tag: 0.13.0.0~7^2~17 X-Git-Url: https://git.lukelau.me/?p=lsp-test.git;a=commitdiff_plain;h=45b4169bf7edd0a7e5585df7713a4464670c7048 Update request map in listenServer --- diff --git a/src/Language/Haskell/LSP/Test.hs b/src/Language/Haskell/LSP/Test.hs index 8dd252c..80ea0e3 100644 --- a/src/Language/Haskell/LSP/Test.hs +++ b/src/Language/Haskell/LSP/Test.hs @@ -229,10 +229,10 @@ runSessionWithHandles' serverProc serverIn serverOut config' caps rootDir sessio listenServer serverOut context = do msgBytes <- getNextMessage serverOut - reqMap <- readMVar $ requestMap context - - let msg = fst $ decodeFromServerMsg reqMap msgBytes + msg <- modifyMVar (requestMap context) $ \reqMap -> do + let (msg, newReqMap) = decodeFromServerMsg reqMap msgBytes writeChan (messageChan context) (ServerMessage msg) + pure (newReqMap, msg) case msg of (FromServerRsp SShutdown _) -> return ()