diff options
author | cjihrig <cjihrig@gmail.com> | 2018-09-27 10:08:48 -0400 |
---|---|---|
committer | cjihrig <cjihrig@gmail.com> | 2018-09-30 11:04:00 -0400 |
commit | aa899aa6d0434d4183a9a5ed86f99faf29298b11 (patch) | |
tree | 284fd562e774b02b1915afa3d4fa96e0817bca79 /lib/internal/cluster/child.js | |
parent | 6654c5945263a3ced718b94a89c70fdc9b061500 (diff) | |
download | android-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.js | 18 |
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; } |