Skip to content

Conversation

@bnoordhuis
Copy link
Member

@bnoordhuisbnoordhuis commented Jun 18, 2016

We will be introducing many more critical sections in the upcoming
multi-isolate changes, so let's make manual synchronization a thing
of the past.

CI: https://ci.nodejs.org/job/node-test-pull-request/3022/

@bnoordhuisbnoordhuis added c++ Issues and PRs that require attention from people who are familiar with C++. lib / src Issues and PRs related to general changes in the lib or src directory. labels Jun 18, 2016
Copy link
MemberAuthor

Choose a reason for hiding this comment

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

@pavelfeldman Can you comment on whether the changes to this function look correct to you? ISTM it should be holding the lock when signalling the condition variable.

@addaleax
Copy link
Member

@bnoordhuis The next time you rebase this against master, could you include addaleax/node@d16e607? Sorry it took me so long to get #6635 landed.

@bnoordhuis
Copy link
MemberAuthor

Rebased, with workaround for compilers that don't understand constexpr function pointers: https://ci.nodejs.org/job/node-test-pull-request/3024/

@bnoordhuis
Copy link
MemberAuthor

Green except for flaky test parallel/test-vm-timeout, tracked in #6727.

@jasnell
Copy link
Member

nice. LGTM

@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.

reason for adding the argument name scoped_lock in Wait() but not in Broadcast() or Signal()?

Copy link
MemberAuthor

Choose a reason for hiding this comment

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

Wait() uses it, the other two just take it to prove ownership (i.e., you can't signal or broadcast if you don't hold the lock.)

@trevnorris
Copy link
Contributor

Thanks for answering the questions. Makes sense. LGTM.

bnoordhuis added a commit to bnoordhuis/io.js that referenced this pull request Jun 21, 2016
cpplint gets too easily confused by C++ constructs that look like function declarations but aren't. Furthermore, it's arguably a bad rule that conflicts with gcc's -Wunused-parameter flag. PR-URL: nodejs#7334 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Trevor Norris <[email protected]>
bnoordhuis added a commit to bnoordhuis/io.js that referenced this pull request Jun 21, 2016
We will be introducing many more critical sections in the upcoming multi-isolate changes, so let's make manual synchronization a thing of the past. PR-URL: nodejs#7334 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Trevor Norris <[email protected]>
@bnoordhuisbnoordhuis deleted the raii-lock branch June 21, 2016 08:31
@bnoordhuisbnoordhuis merged commit 781713d into nodejs:masterJun 21, 2016
evanlucas pushed a commit that referenced this pull request Jun 27, 2016
cpplint gets too easily confused by C++ constructs that look like function declarations but aren't. Furthermore, it's arguably a bad rule that conflicts with gcc's -Wunused-parameter flag. PR-URL: #7334 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Trevor Norris <[email protected]>
@Fishrock123
Copy link
Contributor

This touches the inspector. Marking as dont-land-on-v6. (for now, idk until we resolve that)

@Fishrock123
Copy link
Contributor

@bnoordhuis781713d applies poorly on v6 but as far as I can tell the other commit is required to not have more conflicts on the inspector...

If possible, separating out non-backportable work would be greatly appreciated by us releasers!

Fishrock123 pushed a commit that referenced this pull request Jul 5, 2016
We will be introducing many more critical sections in the upcoming multi-isolate changes, so let's make manual synchronization a thing of the past. PR-URL: #7334 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Trevor Norris <[email protected]>
@Fishrock123Fishrock123 mentioned this pull request Jul 5, 2016
@MylesBorins
Copy link
Contributor

@bnoordhuis should this be backported?

@bnoordhuis
Copy link
MemberAuthor

@thealphanerd It's not necessary per se but it would be good. You'll have to drop the changes to src/inspector_agent.cc.

@bnoordhuis
Copy link
MemberAuthor

#7715 - v4.x back-port

@cjihrig
Copy link
Contributor

@bnoordhuis this doesn't seem to apply cleanly to v6.x either, and #7715 has 213 commits. Could you backport this?

bnoordhuis added a commit to bnoordhuis/io.js that referenced this pull request Sep 5, 2016
We will be introducing many more critical sections in the upcoming multi-isolate changes, so let's make manual synchronization a thing of the past. PR-URL: nodejs#7334 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Trevor Norris <[email protected]>
@bnoordhuis
Copy link
MemberAuthor

For posterity, this landed in v6.x in commit 0593351.

MylesBorins pushed a commit that referenced this pull request Sep 7, 2016
We will be introducing many more critical sections in the upcoming multi-isolate changes, so let's make manual synchronization a thing of the past. PR-URL: #7334 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Trevor Norris <[email protected]>
MylesBorins pushed a commit that referenced this pull request Sep 28, 2016
We will be introducing many more critical sections in the upcoming multi-isolate changes, so let's make manual synchronization a thing of the past. PR-URL: #7334 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Trevor Norris <[email protected]>
rvagg pushed a commit that referenced this pull request Oct 18, 2016
We will be introducing many more critical sections in the upcoming multi-isolate changes, so let's make manual synchronization a thing of the past. PR-URL: #7334 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Trevor Norris <[email protected]>
MylesBorins pushed a commit that referenced this pull request Oct 26, 2016
We will be introducing many more critical sections in the upcoming multi-isolate changes, so let's make manual synchronization a thing of the past. PR-URL: #7334 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Trevor Norris <[email protected]>
@MylesBorinsMylesBorins mentioned this pull request Oct 26, 2016
@gibfahngibfahn mentioned this pull request Jun 15, 2017
3 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c++Issues and PRs that require attention from people who are familiar with C++.lib / srcIssues and PRs related to general changes in the lib or src directory.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@bnoordhuis@addaleax@jasnell@cjihrig@trevnorris@Fishrock123@MylesBorins