@@ -8,7 +8,7 @@ const Worker = require('internal/cluster/worker');
8
8
const { internal, sendHelper } = require ( 'internal/cluster/utils' ) ;
9
9
const cluster = new EventEmitter ( ) ;
10
10
const handles = { } ;
11
- const indexes = { } ;
11
+ const indexes = new Map ( ) ;
12
12
const noop = ( ) => { } ;
13
13
14
14
module . exports = cluster ;
@@ -62,14 +62,18 @@ cluster._getServer = function(obj, options, cb) {
62
62
options . addressType ,
63
63
options . fd ] . join ( ':' ) ;
64
64
65
- if ( indexes [ indexesKey ] === undefined )
66
- indexes [ indexesKey ] = 0 ;
65
+ let index = indexes . get ( indexesKey ) ;
66
+
67
+ if ( index === undefined )
68
+ index = 0 ;
67
69
else
68
- indexes [ indexesKey ] ++ ;
70
+ index ++ ;
71
+
72
+ indexes . set ( indexesKey , index ) ;
69
73
70
74
const message = util . _extend ( {
71
75
act : 'queryServer' ,
72
- index : indexes [ indexesKey ] ,
76
+ index,
73
77
data : null
74
78
} , options ) ;
75
79
@@ -108,7 +112,7 @@ function shared(message, handle, indexesKey, cb) {
108
112
handle . close = function ( ) {
109
113
send ( { act : 'close' , key } ) ;
110
114
delete handles [ key ] ;
111
- delete indexes [ indexesKey ] ;
115
+ indexes . delete ( indexesKey ) ;
112
116
return close . apply ( this , arguments ) ;
113
117
} . bind ( handle ) ;
114
118
assert ( handles [ key ] === undefined ) ;
@@ -141,7 +145,7 @@ function rr(message, indexesKey, cb) {
141
145
142
146
send ( { act : 'close' , key } ) ;
143
147
delete handles [ key ] ;
144
- delete indexes [ indexesKey ] ;
148
+ indexes . delete ( indexesKey ) ;
145
149
key = undefined ;
146
150
}
147
151
0 commit comments