winfix: better pipe support
This commit is contained in:
parent
d52b4e7594
commit
b9fae99ddc
|
@ -571,11 +571,13 @@ function serveControlsHelper() {
|
||||||
// mask is so that processes owned by other users
|
// mask is so that processes owned by other users
|
||||||
// can speak to this process, which is probably root-owned
|
// can speak to this process, which is probably root-owned
|
||||||
var oldUmask = process.umask(0x0000);
|
var oldUmask = process.umask(0x0000);
|
||||||
require('mkdirp').sync(path.resolve(state._ipc.path, '..'));
|
if ('socket' === state._ipc.type) {
|
||||||
|
require('mkdirp').sync(path.dirname(state._ipc.path));
|
||||||
|
}
|
||||||
controlServer.listen({
|
controlServer.listen({
|
||||||
path: state._ipc.path
|
path: state._ipc.path || null
|
||||||
, host: 'localhost'
|
, host: 'localhost'
|
||||||
//, port: 0
|
, port: state._ipc.port || null
|
||||||
, writableAll: true
|
, writableAll: true
|
||||||
, readableAll: true
|
, readableAll: true
|
||||||
, exclusive: false
|
, exclusive: false
|
||||||
|
|
|
@ -81,7 +81,9 @@ common.pipename = function (config) {
|
||||||
, type: (/^win/i.test(os.platform()) ? 'pipe' : 'socket')
|
, type: (/^win/i.test(os.platform()) ? 'pipe' : 'socket')
|
||||||
};
|
};
|
||||||
if ('pipe' === _ipc.type) {
|
if ('pipe' === _ipc.type) {
|
||||||
_ipc.path = '\\\\?\\pipe' + _ipc.path.replace(/\//, '\\');
|
// https://docs.microsoft.com/en-us/windows/desktop/ipc/pipe-names
|
||||||
|
// Allows all characters accept backslash as part of the name
|
||||||
|
_ipc.path = '\\\\.\\pipe\\' + _ipc.path.replace(/\\/g, '/');
|
||||||
}
|
}
|
||||||
return _ipc;
|
return _ipc;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue