From 97cd1902406a02dc030af8deb2f58f751151a06e Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Sat, 21 Jan 2017 12:40:15 +0100 Subject: [PATCH] add pipe name generator --- src/vs/base/parts/ipc/node/ipc.net.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/vs/base/parts/ipc/node/ipc.net.ts b/src/vs/base/parts/ipc/node/ipc.net.ts index fdc6a869a53..251d5a7a0c5 100644 --- a/src/vs/base/parts/ipc/node/ipc.net.ts +++ b/src/vs/base/parts/ipc/node/ipc.net.ts @@ -10,6 +10,18 @@ import { TPromise } from 'vs/base/common/winjs.base'; import Event, { Emitter, once, mapEvent } from 'vs/base/common/event'; import { fromEventEmitter } from 'vs/base/node/event'; import { IMessagePassingProtocol, ClientConnectionEvent, IPCServer, IPCClient } from 'vs/base/parts/ipc/common/ipc'; +import { join } from 'path'; +import { tmpdir } from 'os'; + +export function generateRandomPipeName(): string { + let randomName = 'vscode-' + Math.floor(Math.random() * 10000).toString(16); + if (process.platform === 'win32') { + return '\\\\.\\pipe\\' + randomName + '-sock'; + } else { + // Mac/Unix: use socket file + return join(tmpdir(), randomName + '.sock'); + } +} function bufferIndexOf(buffer: Buffer, value: number, start = 0) { while (start < buffer.length && buffer[start] !== value) { @@ -136,4 +148,4 @@ export function connect(hook: any, clientId: string): TPromise { socket.once('error', e); }); -} \ No newline at end of file +} -- GitLab