diff --git a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts index 491be3401a8..19ca9ae0c19 100644 --- a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts +++ b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts @@ -906,8 +906,6 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer }); } - // runTaskPromise is used for queueing calls to run so that we don't end up with the same task runnin - private runTaskPromise: Promise = Promise.resolve(undefined); public async run(task: Task | undefined, options?: ProblemMatcherRunOptions, runSource: TaskRunSource = TaskRunSource.System): Promise { if (!(await this.trust())) { return; @@ -917,7 +915,7 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer throw new TaskError(Severity.Info, nls.localize('TaskServer.noTask', 'Task to execute is undefined'), TaskErrors.TaskNotFound); } - return this.runTaskPromise = this.runTaskPromise.then(() => new Promise(async (resolve) => { + return new Promise(async (resolve) => { let resolver = this.createResolver(); if (options && options.attachProblemMatcher && this.shouldAttachProblemMatcher(task) && !InMemoryTask.is(task)) { const toExecute = await this.attachProblemMatcher(task); @@ -939,7 +937,7 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer }, (error) => { this.handleError(error); return Promise.reject(error); - })); + }); } private isProvideTasksEnabled(): boolean {