projects
/
lsp-test.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
bd2ac7d
)
Add a finally and timeout to ensure the call to killThread
author
jneira
<atreyu.bbb@gmail.com>
Wed, 10 Jul 2019 22:08:48 +0000
(
00:08
+0200)
committer
jneira
<atreyu.bbb@gmail.com>
Wed, 10 Jul 2019 22:08:48 +0000
(
00:08
+0200)
src/Language/Haskell/LSP/Test/Session.hs
patch
|
blob
|
history
diff --git
a/src/Language/Haskell/LSP/Test/Session.hs
b/src/Language/Haskell/LSP/Test/Session.hs
index 1777f15f2750a913e812df81c7a42d7c6156fee1..21a5fe7002af4061552c390bbc24442bec4786d2 100644
(file)
--- a/
src/Language/Haskell/LSP/Test/Session.hs
+++ b/
src/Language/Haskell/LSP/Test/Session.hs
@@
-65,6
+65,7
@@
import Language.Haskell.LSP.Test.Exceptions
import System.Console.ANSI
import System.Directory
import System.IO
import System.Console.ANSI
import System.Directory
import System.IO
+import System.Timeout
-- | A session representing one instance of launching and connecting to a server.
--
-- | A session representing one instance of launching and connecting to a server.
--
@@
-216,7
+217,8
@@
runSessionWithHandles serverIn serverOut serverHandler config caps rootDir exitS
errorHandler = throwTo mainThreadId :: SessionException -> IO()
serverLauncher = forkIO $ catch (serverHandler serverOut context) errorHandler
errorHandler = throwTo mainThreadId :: SessionException -> IO()
serverLauncher = forkIO $ catch (serverHandler serverOut context) errorHandler
- serverFinalizer tid = runSession' exitServer >> killThread tid
+ serverFinalizer tid = finally (timeout 60000000 (runSession' exitServer))
+ (killThread tid)
(result, _) <- bracket serverLauncher serverFinalizer (const $ runSession' session)
return result
(result, _) <- bracket serverLauncher serverFinalizer (const $ runSession' session)
return result