File tree Expand file tree Collapse file tree 1 file changed +4
-7
lines changed
ghcide/src/Development/IDE/LSP Expand file tree Collapse file tree 1 file changed +4
-7
lines changed Original file line number Diff line number Diff line change @@ -195,18 +195,11 @@ handleInit recorder getHieDbLoc getIdeState lifetime exitClientMsg clearReqId wa
195
195
let root = LSP. resRootPath env
196
196
dir <- maybe getCurrentDirectory return root
197
197
dbLoc <- getHieDbLoc dir
198
-
199
- -- The database needs to be open for the duration of the reactor thread, but we need to pass in a reference
200
- -- to 'getIdeState', so we use this dirty trick
201
198
dbMVar <- newEmptyMVar
202
- ~ (WithHieDbShield withHieDb,hieChan) <- unsafeInterleaveIO $ takeMVar dbMVar
203
-
204
- ide <- getIdeState env root withHieDb hieChan
205
199
206
200
let initConfig = parseConfiguration params
207
201
208
202
logWith recorder Info $ LogRegisteringIdeConfig initConfig
209
- registerIdeConfiguration (shakeExtras ide) initConfig
210
203
211
204
let handleServerException (Left e) = do
212
205
logWith recorder Error $ LogReactorThreadException e
@@ -243,6 +236,10 @@ handleInit recorder getHieDbLoc getIdeState lifetime exitClientMsg clearReqId wa
243
236
ReactorNotification act -> handle exceptionInHandler act
244
237
ReactorRequest _id act k -> void $ async $ checkCancelled _id act k
245
238
logWith recorder Info LogReactorThreadStopped
239
+
240
+ (WithHieDbShield withHieDb,hieChan) <- takeMVar dbMVar
241
+ ide <- getIdeState env root withHieDb hieChan
242
+ registerIdeConfiguration (shakeExtras ide) initConfig
246
243
pure $ Right (env,ide)
247
244
248
245
You can’t perform that action at this time.
0 commit comments