diff options
author | Christian Tellnes <christian@tellnes.no> | 2014-12-05 14:50:05 +0100 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2014-12-05 22:10:35 +0100 |
commit | 2931348372c5670e5d0d3f36ff62f17148f05d3e (patch) | |
tree | f1463099e8aa300017136c7f6bdaf837b9b2b2e2 /lib/events.js | |
parent | 993fadb1f2e116180c9149a7b844bf39a6cf1819 (diff) | |
download | android-node-v8-2931348372c5670e5d0d3f36ff62f17148f05d3e.tar.gz android-node-v8-2931348372c5670e5d0d3f36ff62f17148f05d3e.tar.bz2 android-node-v8-2931348372c5670e5d0d3f36ff62f17148f05d3e.zip |
events: implement EventEmitter#getMaxListeners()
Fixes https://github.com/joyent/node/issues/8237.
PR-URL: https://github.com/iojs/io.js/pull/82
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'lib/events.js')
-rw-r--r-- | lib/events.js | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/events.js b/lib/events.js index f8c651feac..3ee16791dd 100644 --- a/lib/events.js +++ b/lib/events.js @@ -67,6 +67,13 @@ EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) { return this; }; +EventEmitter.prototype.getMaxListeners = function getMaxListeners() { + if (!util.isUndefined(this._maxListeners)) + return this._maxListeners; + else + return EventEmitter.defaultMaxListeners; +}; + EventEmitter.prototype.emit = function emit(type) { var er, handler, len, args, i, listeners; @@ -165,13 +172,7 @@ EventEmitter.prototype.addListener = function addListener(type, listener) { // Check for listener leak if (util.isObject(this._events[type]) && !this._events[type].warned) { - var m; - if (!util.isUndefined(this._maxListeners)) { - m = this._maxListeners; - } else { - m = EventEmitter.defaultMaxListeners; - } - + var m = this.getMaxListeners(); if (m && m > 0 && this._events[type].length > m) { this._events[type].warned = true; console.error('(node) warning: possible EventEmitter memory ' + |