diff --git a/src/vs/workbench/api/electron-browser/mainThreadFileSystem.ts b/src/vs/workbench/api/electron-browser/mainThreadFileSystem.ts index e030f12c05b..afe244cb77c 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadFileSystem.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadFileSystem.ts @@ -118,7 +118,10 @@ class RemoteFileSystemProvider implements IFileSystemProvider, ISearchResultProv read(resource: URI, offset: number, count: number, progress: IProgress): TPromise { const read = new FileReadOperation(progress); this._reads.set(read.id, read); - return this._proxy.$read(this._handle, read.id, offset, count, resource); + return this._proxy.$read(this._handle, read.id, offset, count, resource).then(value => { + this._reads.delete(read.id); + return value; + }); } reportFileChunk(session: number, chunk: number[]): void { this._reads.get(session).progress.report(Buffer.from(chunk));