@@ -8,7 +8,7 @@ const Worker = require('internal/cluster/worker');
88const { internal, sendHelper } = require ( 'internal/cluster/utils' ) ;
99const cluster = new EventEmitter ( ) ;
1010const handles = { } ;
11- const indexes = { } ;
11+ const indexes = new Map ( ) ;
1212const noop = ( ) => { } ;
1313
1414module . exports = cluster ;
@@ -62,14 +62,18 @@ cluster._getServer = function(obj, options, cb) {
6262 options . addressType ,
6363 options . fd ] . join ( ':' ) ;
6464
65- if ( indexes [ indexesKey ] === undefined )
66- indexes [ indexesKey ] = 0 ;
65+ let index = indexes . get ( indexesKey ) ;
66+
67+ if ( index === undefined )
68+ index = 0 ;
6769 else
68- indexes [ indexesKey ] ++ ;
70+ index ++ ;
71+
72+ indexes . set ( indexesKey , index ) ;
6973
7074 const message = util . _extend ( {
7175 act : 'queryServer' ,
72- index : indexes [ indexesKey ] ,
76+ index,
7377 data : null
7478 } , options ) ;
7579
@@ -108,7 +112,7 @@ function shared(message, handle, indexesKey, cb) {
108112 handle . close = function ( ) {
109113 send ( { act : 'close' , key } ) ;
110114 delete handles [ key ] ;
111- delete indexes [ indexesKey ] ;
115+ indexes . delete ( indexesKey ) ;
112116 return close . apply ( this , arguments ) ;
113117 } . bind ( handle ) ;
114118 assert ( handles [ key ] === undefined ) ;
@@ -141,7 +145,7 @@ function rr(message, indexesKey, cb) {
141145
142146 send ( { act : 'close' , key } ) ;
143147 delete handles [ key ] ;
144- delete indexes [ indexesKey ] ;
148+ indexes . delete ( indexesKey ) ;
145149 key = undefined ;
146150 }
147151
0 commit comments