Skip to content

Commit ccabb52

Browse files
committed
fixup! fixup! debugger: fix event listener leak in the run command
1 parent cda1c0e commit ccabb52

File tree

1 file changed

+5
-20
lines changed

1 file changed

+5
-20
lines changed

lib/internal/debugger/inspect_client.js

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const {
1313
const Buffer = require('buffer').Buffer;
1414
const crypto = require('crypto');
1515
const { ERR_DEBUGGER_ERROR } = require('internal/errors').codes;
16-
const { EventEmitter } = require('events');
16+
const { EventEmitter, once } = require('events');
1717
const http = require('http');
1818
const { URL } = require('internal/url');
1919

@@ -343,25 +343,10 @@ class Client extends EventEmitter {
343343
this.emit('ready');
344344
};
345345

346-
return new Promise((resolve, reject) => {
347-
const tearDown = () => {
348-
this.removeListener('ready', onReady);
349-
this.removeListener('error', onError);
350-
};
351-
const onError = (err) => {
352-
tearDown();
353-
reject(err);
354-
};
355-
const onReady = () => {
356-
tearDown();
357-
resolve();
358-
};
359-
this.on('error', onError);
360-
this.on('ready', onReady);
361-
362-
httpReq.on('upgrade', handshakeListener);
363-
httpReq.end();
364-
});
346+
const onReady = once(this, 'ready');
347+
httpReq.on('upgrade', handshakeListener);
348+
httpReq.end();
349+
return onReady;
365350
}
366351
}
367352

0 commit comments

Comments
 (0)