src/vs/workbench/services/extensions/electron-sandbox/nativeLocalProcessExtensionHost.ts/ExtHostNamedPipeCommunication/prepare
class ExtHostNamedPipeCommunication:	async prepare(): Promise<INamedPipePreparedData> {
		const { createServer } = await import('net');
		return new Promise<{ pipeName: string; namedPipeServer: import('net').Server }>((resolve, reject) => {
			const pipeName = createRandomIPCHandle();

			const namedPipeServer = createServer();
			namedPipeServer.on('error', reject);
			namedPipeServer.listen(pipeName, () => {
				namedPipeServer?.removeListener('error', reject);
				resolve({ pipeName, namedPipeServer });
			});
			this._register(toDisposable(() => {
				if (namedPipeServer.listening) {
					namedPipeServer.close();
				}
			}));
		});
	}