2020/** @const */ var path = require ( 'path' ) ;
2121/** @const */ //var util = require('util');
2222
23- /** @const */ var events = require ( 'events' ) ;
2423/** @const */ var state = require ( './state.js' ) ;
2524/** @const */ var logModule = require ( '@google/cloud-diagnostics-common' ) . logger ;
2625/** @const */ var apiclasses = require ( './apiclasses.js' ) ;
@@ -58,7 +57,6 @@ module.exports.create = function(logger_, config_, fileStats_) {
5857 var v8 = null ;
5958 var logger = null ;
6059 var config = null ;
61- var emitter = null ;
6260 var fileStats = null ;
6361 var breakpoints = { } ;
6462 var listeners = { } ;
@@ -90,8 +88,6 @@ module.exports.create = function(logger_, config_, fileStats_) {
9088 logger = logger_ ;
9189 config = config_ ;
9290 fileStats = fileStats_ ;
93- emitter = new events . EventEmitter ( ) ;
94- emitter . setMaxListeners ( 0 ) ;
9591
9692 if ( usePermanentListener ) {
9793 logger . info ( 'activating v8 breakpoint listener (permanent)' ) ;
@@ -181,7 +177,7 @@ module.exports.create = function(logger_, config_, fileStats_) {
181177
182178 v8 . clearBreakPoint ( v8bp . number ( ) ) ;
183179 delete breakpoints [ breakpoint . id ] ;
184- delete listeners [ breakpoint . id ] ;
180+ delete listeners [ v8bp . number ( ) ] ;
185181 numBreakpoints -- ;
186182 if ( numBreakpoints === 0 && ! usePermanentListener ) {
187183 // removed last breakpoint
@@ -196,17 +192,14 @@ module.exports.create = function(logger_, config_, fileStats_) {
196192 * @param {Function } callback
197193 */
198194 wait : function ( breakpoint , callback ) {
199- var eventName = 'v8breakpoint-' + breakpoints [ breakpoint . id ] . v8Breakpoint
200- . number ( ) ;
195+ var num = breakpoints [ breakpoint . id ] . v8Breakpoint . number ( ) ;
201196 var listener = onBreakpointHit . bind (
202197 null , breakpoint , function ( err ) {
203- emitter . removeListener ( eventName , listener ) ;
204- delete listeners [ breakpoint . id ] ;
198+ delete listeners [ num ] ;
205199 callback ( err ) ;
206200 } ) ;
207201
208- listeners [ breakpoint . id ] = listener ;
209- emitter . on ( eventName , listener ) ;
202+ listeners [ num ] = listener ;
210203 } ,
211204
212205 // The following are for testing:
@@ -462,8 +455,7 @@ module.exports.create = function(logger_, config_, fileStats_) {
462455 eventData . breakPointsHit ( ) . forEach ( function ( hit ) {
463456 var num = hit . script_break_point ( ) . number ( ) ;
464457 logger . info ( '>>>V8 breakpoint hit<<< number: ' + num ) ;
465- var eventName = 'v8breakpoint-' + num ;
466- emitter . emit ( eventName , execState , eventData ) ;
458+ listeners [ num ] ( execState , eventData ) ;
467459 } ) ;
468460 break ;
469461 }
0 commit comments