From 74816e400040e02330d5882ae19f923c9cc1e434 Mon Sep 17 00:00:00 2001 From: Andrey Lushnikov Date: Fri, 22 Jan 2021 17:27:33 -0800 Subject: [PATCH] fix(installer): release lock if things go south (#5125) References #5110 --- src/install/installer.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/install/installer.ts b/src/install/installer.ts index a11d777222..ece657f83d 100644 --- a/src/install/installer.ts +++ b/src/install/installer.ts @@ -57,10 +57,13 @@ export async function installBrowsersWithProgressBar(packagePath: string, browse }); const linksDir = path.join(browsersPath, '.links'); - await fsMkdirAsync(linksDir, { recursive: true }); - await fsWriteFileAsync(path.join(linksDir, sha1(packagePath)), packagePath); - await validateCache(packagePath, browsersPath, linksDir, browserNames); - await releaseLock(); + try { + await fsMkdirAsync(linksDir, { recursive: true }); + await fsWriteFileAsync(path.join(linksDir, sha1(packagePath)), packagePath); + await validateCache(packagePath, browsersPath, linksDir, browserNames); + } finally { + await releaseLock(); + } } async function validateCache(packagePath: string, browsersPath: string, linksDir: string, browserNames?: browserPaths.BrowserName[]) {