From 9e3a05e087c1c46f8874f28a039d15cd745847f4 Mon Sep 17 00:00:00 2001 From: Jim Ehrismann Date: Tue, 8 Jun 2021 09:39:25 -0400 Subject: [PATCH] fix handling of no timeout Signed-off-by: Jim Ehrismann --- src/main/utils/shell-env.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/main/utils/shell-env.ts b/src/main/utils/shell-env.ts index 1b6ead2951..92ba5f8486 100644 --- a/src/main/utils/shell-env.ts +++ b/src/main/utils/shell-env.ts @@ -31,14 +31,20 @@ let shellSyncFailed = false; export async function shellEnv(shell?: string, timeout?: number) : Promise { let envVars = {}; + timeout ??= 0; + if (!shellSyncFailed) { try { - envVars = await Promise.race([ - shellEnvironment(shell), - new Promise((_resolve, reject) => setTimeout(() => { - reject(new Error("Resolving shell environment is taking very long. Please review your shell configuration.")); - }, timeout)) - ]); + if (timeout > 0 ) { + envVars = await Promise.race([ + shellEnvironment(shell), + new Promise((_resolve, reject) => setTimeout(() => { + reject(new Error("Resolving shell environment is taking very long. Please review your shell configuration.")); + }, timeout)) + ]); + } else { + envVars = await shellEnvironment(shell); + } } catch (error) { logger.error(`shellEnv: ${error}`); shellSyncFailed = true;