Commit 78162b5d 78162b5d8e8904b96dc09c9887cffada79bc711d by Christophe Porteneuve

Refs #687 -- ACTUALLY fixes the issue :-) by special-casing 'fail' events for prepending

1 parent e14544ab
......@@ -129,7 +129,7 @@ EventEmitter.prototype.addListener = function addListener(type, listener) {
} else if (isArray(this._events[type])) {
// If we've already got an array, just append.
this._events[type].push(listener);
this._events[type]['fail' === type ? 'unshift' : 'push'](listener);
// Check for listener leak
if (!this._events[type].warned) {
......@@ -151,7 +151,7 @@ EventEmitter.prototype.addListener = function addListener(type, listener) {
}
} else {
// Adding the second element, need to change to array.
this._events[type] = [this._events[type], listener];
this._events[type] = 'fail' === type ? [listener, this._events[type]] : [this._events[type], listener];
}
return this;
......