From 0b6a1bc4cf6f55aa5e7e02272f3bc6dd8e34a699 Mon Sep 17 00:00:00 2001 From: David Barbet Date: Mon, 12 Feb 2024 17:06:17 -0800 Subject: [PATCH] Ensure failures to connect to the named pipe are propogated --- src/lsptoolshost/roslynLanguageServer.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lsptoolshost/roslynLanguageServer.ts b/src/lsptoolshost/roslynLanguageServer.ts index 6346b8028..a27eb72ae 100644 --- a/src/lsptoolshost/roslynLanguageServer.ts +++ b/src/lsptoolshost/roslynLanguageServer.ts @@ -629,12 +629,15 @@ export class RoslynLanguageServer { throw new Error('Timeout. Named pipe information not received from server.'); } - const socketPromise = new Promise((resolve) => { + const socketPromise = new Promise((resolve, reject) => { _channel.appendLine('attempting to connect client to server...'); const socket = net.createConnection(pipeConnectionInfo.pipeName, () => { _channel.appendLine('client has connected to server'); resolve(socket); }); + + // If we failed to connect for any reason, ensure the error is propagated. + socket.on('error', (err) => reject(err)); }); // Wait for the client to connect to the named pipe.