diff --git a/src/vs/code/node/cliProcessMain.ts b/src/vs/code/node/cliProcessMain.ts index 9aeadf8d536e882c7214cdc697a2e9789ed5c99b..092c1f6be7c682c2fdba08ac6477d473a75ad373 100644 --- a/src/vs/code/node/cliProcessMain.ts +++ b/src/vs/code/node/cliProcessMain.ts @@ -313,7 +313,7 @@ export async function main(argv: ParsedArgs): Promise { const instantiationService: IInstantiationService = new InstantiationService(services); - return instantiationService.invokeFunction(accessor => { + return instantiationService.invokeFunction(async accessor => { const envService = accessor.get(IEnvironmentService); const stateService = accessor.get(IStateService); @@ -350,8 +350,10 @@ export async function main(argv: ParsedArgs): Promise { const instantiationService2 = instantiationService.createChild(services); const main = instantiationService2.createInstance(Main); - return main.run(argv).then(() => { + try { + await main.run(argv); + } finally { disposables.dispose(); - }); + } }); } \ No newline at end of file