Skip to content

Adopt utility process in terminal/pty host #175335

Description

@bpasero

Follow up from #154050

We now have sufficient infrastructure in place to easily fork a UtilityProcess with support of message port communication to other processes:

export class UtilityProcess extends Disposable {

Currently the PTY agent is still running as child process in the shared process housing all terminals:

const ptyHostService = new PtyHostService({
graceTime: LocalReconnectConstants.GraceTime,
shortGraceTime: LocalReconnectConstants.ShortGraceTime,
scrollback: configurationService.getValue<number>(TerminalSettingId.PersistentSessionScrollback) ?? 100
},
localize('ptyHost', "Pty Host"),
configurationService,
environmentService,
logService,
loggerService
);
ptyHostService.initialize();
services.set(ILocalPtyService, this._register(ptyHostService));

We should consider moving the PTY agent out into a standalone utility process to reduce pressure on the shared process (and actually vice versa, reduce pressure on terminals).

Metadata

Metadata

Assignees

Labels

insiders-releasedPatch has been released in VS Code InsiderssandboxRunning VSCode in a node-free environmentshared-processVS Code shared process issuesterminalGeneral terminal issues that don't fall under another label

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions