Skip to content

Conversation

@bnoordhuis
Copy link
Member

Commit 2931348 added EventEmitter#getMaxListeners() but introduced a
regression when people abuse EventEmitter.prototype.on.call() to call
EventEmitter#on() on a non-EE object. Add a workaround for that.

Fixes: iojs#523

R=@yosuke-furukawa

@cjihrig
Copy link
Contributor

LGTM

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this error happen on the first call also without the patch?

Copy link
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No. The code path isn't reached the first time due to an optimization in how listeners are stored.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Huh. Interesting.

Commit 3e1b1dd missed a few files in test/parallel, this commit rectifies that. Only test/parallel/test-url.js still has a copyright header. I left it in because the original author is neither an io.js contributor nor a StrongLoop employee. PR-URL: nodejs#527 Reviewed-By: Colin Ihrig <[email protected]>
Add missing commas in parallel/test-event-emitter-get-max-listeners. Comma-less style is fine and dandy but it throws off vim's autoindent. PR-URL: nodejs#527 Reviewed-By: Colin Ihrig <[email protected]>
Commit 2931348 added EventEmitter#getMaxListeners() but introduced a regression when people abuse EventEmitter.prototype.on.call() to call EventEmitter#on() on a non-EE object. Add a workaround for that. Fixes: nodejs#523 PR-URL: nodejs#527 Reviewed-By: Colin Ihrig <[email protected]>
@Fishrock123
Copy link
Contributor

LGTM

@bnoordhuisbnoordhuis merged commit ee9cd00 into nodejs:v1.xJan 20, 2015
@bnoordhuisbnoordhuis deleted the fix-issue-523 branch January 20, 2015 22:27
@yosuke-furukawa
Copy link
Member

So nice. thank you.

@janmeier
Copy link

Thanks for the fix on behalf of sequelize :). And yes, we are clearly abusing EventEmitter by squashing bits and pieces of it onto promises until we can remove eventemitter support completely.

Btw, we are working on getting rid of the offending bit of code, discussion here sequelize/sequelize#2882

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@bnoordhuis@cjihrig@Fishrock123@yosuke-furukawa@janmeier