Skip to content

Commit 56b3a40

Browse files
committed
fix: Add safeguard
1 parent c136c17 commit 56b3a40

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/languageClient.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -303,8 +303,12 @@ export class LanguageClientManager implements LanguageClient {
303303
}
304304
case State.Stopped: {
305305
this.updateStatus('closed')
306-
307-
if (state.oldState === State.Running && !this.isDisposed()) {
306+
setTimeout(() => {
307+
// setTimeout is required or the dispose() fails (Client is stopping but no stop promise available.)
308+
void languageClient.dispose()
309+
})
310+
if (state.oldState === State.Running && !this.isDisposed() && this.languageClient === languageClient) {
311+
this.languageClient = undefined
308312
console.info('[LSP] Restarting language client', state)
309313
this.start().catch(error => {
310314
monaco.errorHandler.onUnexpectedError(new Error('[LSP] Language client stopped', {

0 commit comments

Comments
 (0)