From eb772d85587b2c1fe1f751351d74327e5c35ad51 Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Thu, 9 Jun 2016 18:11:11 +0200 Subject: [PATCH] Fixes #7474: Prevent cancelation of worker proxy object promise --- src/vs/base/common/worker/simpleWorker.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/vs/base/common/worker/simpleWorker.ts b/src/vs/base/common/worker/simpleWorker.ts index ec35b90c1d5..5b4e516d4c6 100644 --- a/src/vs/base/common/worker/simpleWorker.ts +++ b/src/vs/base/common/worker/simpleWorker.ts @@ -8,6 +8,7 @@ import {transformErrorForSerialization} from 'vs/base/common/errors'; import {Disposable} from 'vs/base/common/lifecycle'; import {ErrorCallback, TPromise, ValueCallback} from 'vs/base/common/winjs.base'; import {IWorker, IWorkerFactory} from './workerClient'; +import {ShallowCancelThenPromise} from 'vs/base/common/async'; const INITIALIZE = '$initialize'; @@ -229,7 +230,8 @@ export class SimpleWorkerClient extends Disposable { } public getProxyObject(): TPromise { - return this._lazyProxy; + // Do not allow chaining promises to cancel the proxy creation + return new ShallowCancelThenPromise(this._lazyProxy); } public getLastRequestTimestamp(): number { -- GitLab