Closed mpickering closed 4 years ago
Most of these fixes are here https://github.com/alanz/haskell-lsp/pull/199
Fix for HasGhcModuleCache
is here - https://github.com/mpickering/haskell-ide-engine/pull/44/commits/d228c02d5bdb2395167b8c1b181c1550360f5eb6
Close as all of these have been merged.
Using TVars rather than MVars opened up a lot of potential races.
runDeferredActions
-readMTS
andmodifyMTS
= RACEHasGhcModuleCache
API in terms of get/set is unsafe (see IdeM implementation)hh
function inhaskell-lsp
- Read followed by modifyhandleMessageWithConfigChange
- Read followed by modifypublishDiagnostics
- read/write could clobber updateflushDiagnosticsBySouce
read/writeinitializeRequestHandler
read/write