projects
/
lsp-test.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update request map in listenServer
[lsp-test.git]
/
src
/
Language
/
Haskell
/
LSP
/
Test.hs
diff --git
a/src/Language/Haskell/LSP/Test.hs
b/src/Language/Haskell/LSP/Test.hs
index 8dd252c80c332335d0b9b206a6ae62bb6123940f..80ea0e3b386f60560cabd1accbdbc79d1783ca16 100644
(file)
--- 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
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)
writeChan (messageChan context) (ServerMessage msg)
+ pure (newReqMap, msg)
case msg of
(FromServerRsp SShutdown _) -> return ()
case msg of
(FromServerRsp SShutdown _) -> return ()