@@ -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