aboutsummaryrefslogtreecommitdiff
path: root/lib/internal/cluster/child.js
diff options
context:
space:
mode:
authorcjihrig <cjihrig@gmail.com>2018-09-27 10:08:48 -0400
committercjihrig <cjihrig@gmail.com>2018-09-30 11:04:00 -0400
commitaa899aa6d0434d4183a9a5ed86f99faf29298b11 (patch)
tree284fd562e774b02b1915afa3d4fa96e0817bca79 /lib/internal/cluster/child.js
parent6654c5945263a3ced718b94a89c70fdc9b061500 (diff)
downloadandroid-node-v8-aa899aa6d0434d4183a9a5ed86f99faf29298b11.tar.gz
android-node-v8-aa899aa6d0434d4183a9a5ed86f99faf29298b11.tar.bz2
android-node-v8-aa899aa6d0434d4183a9a5ed86f99faf29298b11.zip
cluster: use Map to track indexes
PR-URL: https://github.com/nodejs/node/pull/23125 Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Michaƫl Zasso <targos@protonmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Diffstat (limited to 'lib/internal/cluster/child.js')
-rw-r--r--lib/internal/cluster/child.js18
1 files changed, 11 insertions, 7 deletions
diff --git a/lib/internal/cluster/child.js b/lib/internal/cluster/child.js
index 39e891214f..05cb6d25e8 100644
--- a/lib/internal/cluster/child.js
+++ b/lib/internal/cluster/child.js
@@ -8,7 +8,7 @@ const Worker = require('internal/cluster/worker');
const { internal, sendHelper } = require('internal/cluster/utils');
const cluster = new EventEmitter();
const handles = {};
-const indexes = {};
+const indexes = new Map();
const noop = () => {};
module.exports = cluster;
@@ -62,14 +62,18 @@ cluster._getServer = function(obj, options, cb) {
options.addressType,
options.fd ].join(':');
- if (indexes[indexesKey] === undefined)
- indexes[indexesKey] = 0;
+ let index = indexes.get(indexesKey);
+
+ if (index === undefined)
+ index = 0;
else
- indexes[indexesKey]++;
+ index++;
+
+ indexes.set(indexesKey, index);
const message = util._extend({
act: 'queryServer',
- index: indexes[indexesKey],
+ index,
data: null
}, options);
@@ -108,7 +112,7 @@ function shared(message, handle, indexesKey, cb) {
handle.close = function() {
send({ act: 'close', key });
delete handles[key];
- delete indexes[indexesKey];
+ indexes.delete(indexesKey);
return close.apply(this, arguments);
}.bind(handle);
assert(handles[key] === undefined);
@@ -141,7 +145,7 @@ function rr(message, indexesKey, cb) {
send({ act: 'close', key });
delete handles[key];
- delete indexes[indexesKey];
+ indexes.delete(indexesKey);
key = undefined;
}