Fix curtimeoutid being reset in the server exit handler
[lsp-test.git] / src / Language / Haskell / LSP / Test / Parsing.hs
index 5ce9b52995c05f0deb899c1327ae7476043760d2..12ef1a6281547c4fc73dd4ad812cb71c529e95f5 100644 (file)
@@ -75,7 +75,7 @@ satisfyMaybe :: (FromServerMessage -> Maybe a) -> Session a
 satisfyMaybe pred = do
 
   skipTimeout <- overridingTimeout <$> get
-  timeoutId <- curTimeoutId <$> get
+  timeoutId <- getCurTimeoutId
   unless skipTimeout $ do
     chan <- asks messageChan
     timeout <- asks (messageTimeout . config)
@@ -85,8 +85,7 @@ satisfyMaybe pred = do
 
   x <- Session await
 
-  unless skipTimeout $
-    modify $ \s -> s { curTimeoutId = timeoutId + 1 }
+  unless skipTimeout (bumpTimeoutId timeoutId)
 
   modify $ \s -> s { lastReceivedMessage = Just x }