diff --git a/lib/internal/socket_list.js b/lib/internal/socket_list.js index 55077af1305121..d12686e1de107d 100644 --- a/lib/internal/socket_list.js +++ b/lib/internal/socket_list.js @@ -13,11 +13,11 @@ class SocketListSend extends EventEmitter { child.once('exit', () => this.emit('exit', this)); } - _request(msg, cmd, callback) { + _request(msg, cmd, swallowErrors, callback) { var self = this; if (!this.child.connected) return onclose(); - this.child.send(msg); + this.child._send(msg, undefined, swallowErrors); function onclose() { self.child.removeListener('internalMessage', onreply); @@ -40,14 +40,14 @@ class SocketListSend extends EventEmitter { this._request({ cmd: 'NODE_SOCKET_NOTIFY_CLOSE', key: this.key - }, 'NODE_SOCKET_ALL_CLOSED', callback); + }, 'NODE_SOCKET_ALL_CLOSED', true, callback); } getConnections(callback) { this._request({ cmd: 'NODE_SOCKET_GET_COUNT', key: this.key - }, 'NODE_SOCKET_COUNT', function(err, msg) { + }, 'NODE_SOCKET_COUNT', false, function(err, msg) { if (err) return callback(err); callback(null, msg.count); }); @@ -67,10 +67,10 @@ class SocketListReceive extends EventEmitter { function onempty(self) { if (!self.child.connected) return; - self.child.send({ + self.child._send({ cmd: 'NODE_SOCKET_ALL_CLOSED', key: self.key - }); + }, undefined, true); } this.child.on('internalMessage', (msg) => { @@ -84,7 +84,7 @@ class SocketListReceive extends EventEmitter { this.once('empty', onempty); } else if (msg.cmd === 'NODE_SOCKET_GET_COUNT') { if (!this.child.connected) return; - this.child.send({ + this.child._send({ cmd: 'NODE_SOCKET_COUNT', key: this.key, count: this.connections diff --git a/test/parallel/parallel.status b/test/parallel/parallel.status index acc0c95b6a953b..6f2efe0ec1c8c9 100644 --- a/test/parallel/parallel.status +++ b/test/parallel/parallel.status @@ -9,7 +9,6 @@ prefix parallel test-postmortem-metadata: PASS,FLAKY [$system==win32] -test-child-process-fork-net-socket: PASS,FLAKY [$system==linux] diff --git a/test/parallel/test-internal-socket-list-receive.js b/test/parallel/test-internal-socket-list-receive.js index c0eb223719ae6f..e7e64887600f59 100644 --- a/test/parallel/test-internal-socket-list-receive.js +++ b/test/parallel/test-internal-socket-list-receive.js @@ -12,7 +12,7 @@ const key = 'test-key'; { const child = Object.assign(new EventEmitter(), { connected: false, - send: common.mustNotCall() + _send: common.mustNotCall() }); const list = new SocketListReceive(child, key); @@ -24,7 +24,7 @@ const key = 'test-key'; { const child = Object.assign(new EventEmitter(), { connected: true, - send: common.mustCall((msg) => { + _send: common.mustCall((msg) => { assert.strictEqual(msg.cmd, 'NODE_SOCKET_ALL_CLOSED'); assert.strictEqual(msg.key, key); }) @@ -38,7 +38,7 @@ const key = 'test-key'; { const child = Object.assign(new EventEmitter(), { connected: true, - send: common.mustCall((msg) => { + _send: common.mustCall((msg) => { assert.strictEqual(msg.cmd, 'NODE_SOCKET_COUNT'); assert.strictEqual(msg.key, key); assert.strictEqual(msg.count, 0); diff --git a/test/parallel/test-internal-socket-list-send.js b/test/parallel/test-internal-socket-list-send.js index 797baf43f4dd76..2e69edcedffd9f 100644 --- a/test/parallel/test-internal-socket-list-send.js +++ b/test/parallel/test-internal-socket-list-send.js @@ -16,7 +16,7 @@ const key = 'test-key'; const list = new SocketListSend(child, 'test'); - list._request('msg', 'cmd', common.mustCall((err) => { + list._request('msg', 'cmd', false, common.mustCall((err) => { common.expectsError({ code: 'ERR_CHILD_CLOSED_BEFORE_REPLY', type: Error, @@ -30,7 +30,7 @@ const key = 'test-key'; { const child = Object.assign(new EventEmitter(), { connected: true, - send: function(msg) { + _send: function(msg) { process.nextTick(() => this.emit('internalMessage', { key, cmd: 'cmd' }) ); @@ -39,7 +39,7 @@ const key = 'test-key'; const list = new SocketListSend(child, key); - list._request('msg', 'cmd', common.mustCall((err, msg) => { + list._request('msg', 'cmd', false, common.mustCall((err, msg) => { assert.strictEqual(err, null); assert.strictEqual(msg.cmd, 'cmd'); assert.strictEqual(msg.key, key); @@ -53,12 +53,12 @@ const key = 'test-key'; { const child = Object.assign(new EventEmitter(), { connected: true, - send: function(msg) { process.nextTick(() => this.emit('disconnect')); } + _send: function(msg) { process.nextTick(() => this.emit('disconnect')); } }); const list = new SocketListSend(child, key); - list._request('msg', 'cmd', common.mustCall((err) => { + list._request('msg', 'cmd', false, common.mustCall((err) => { common.expectsError({ code: 'ERR_CHILD_CLOSED_BEFORE_REPLY', type: Error, @@ -73,7 +73,7 @@ const key = 'test-key'; { const child = Object.assign(new EventEmitter(), { connected: true, - send: function(msg) { + _send: function(msg) { assert.strictEqual(msg.cmd, 'NODE_SOCKET_NOTIFY_CLOSE'); assert.strictEqual(msg.key, key); process.nextTick(() => @@ -98,7 +98,7 @@ const key = 'test-key'; const count = 1; const child = Object.assign(new EventEmitter(), { connected: true, - send: function(msg) { + _send: function(msg) { assert.strictEqual(msg.cmd, 'NODE_SOCKET_GET_COUNT'); assert.strictEqual(msg.key, key); process.nextTick(() => @@ -127,7 +127,7 @@ const key = 'test-key'; const count = 1; const child = Object.assign(new EventEmitter(), { connected: true, - send: function() { + _send: function() { process.nextTick(() => { this.emit('disconnect'); this.emit('internalMessage', { key, count, cmd: 'NODE_SOCKET_COUNT' });