mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-22 09:38:38 +01:00
Stop simple editor worker after 5 min if it's not used
This commit is contained in:
@@ -22,7 +22,7 @@ var getWorkerUrl = env.getCrossOriginWorkerScriptUrl || defaultGetWorkerUrl;
|
||||
class WebWorker implements IWorker {
|
||||
|
||||
private id:number;
|
||||
private worker:any;
|
||||
private worker:Worker;
|
||||
|
||||
constructor(moduleId:string, id:number, label:string, onMessageCallback:IWorkerCallback) {
|
||||
this.id = id;
|
||||
@@ -41,8 +41,9 @@ class WebWorker implements IWorker {
|
||||
this.worker.postMessage(msg);
|
||||
}
|
||||
|
||||
public terminate(): void {
|
||||
public dispose(): void {
|
||||
this.worker.terminate();
|
||||
this.worker = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,6 +88,8 @@ class FrameWorker implements IWorker {
|
||||
|
||||
public dispose(): void {
|
||||
this._listeners = lifecycle.disposeAll(this._listeners);
|
||||
window.removeEventListener('message', this.onMessage);
|
||||
window.frames[this.iframeId()].close();
|
||||
}
|
||||
|
||||
private iframeId(): string {
|
||||
@@ -116,11 +119,6 @@ class FrameWorker implements IWorker {
|
||||
this.beforeLoadMessages.push(msg);
|
||||
}
|
||||
}
|
||||
|
||||
public terminate(): void {
|
||||
window.removeEventListener('message', this.onMessage);
|
||||
window.frames[this.iframeId()].close();
|
||||
}
|
||||
}
|
||||
|
||||
export class DefaultWorkerFactory implements IWorkerFactory {
|
||||
|
||||
Reference in New Issue
Block a user