Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Conversation

@apapirovski
Copy link
Contributor

@apapirovski apapirovski commented Jan 31, 2018

Just required commits applied in the right order.

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

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • commit message follows commit guidelines
Affected core subsystem(s)

process

Do not share unnecessary information about nextTick state
between JS & C++, instead only track whether a nextTick
is scheduled or not.

Turn nextTickQueue into an Object instead of a class
since multiple instances are never created.

Other assorted refinements and refactoring.

PR-URL: nodejs#17738
Reviewed-By: Anna Henningsen <anna@addaleax.net>
When a process encounters a _fatalException that is caught, it should
schedule execution of nextTicks but not in an arbitrary place of the
next Immediates queue. Instead, add a no-op function to the queue
that will ensure processImmediate runs, which will then ensure
that nextTicks are processed at the end.

PR-URL: nodejs#17841
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
@apapirovski apapirovski requested a review from evanlucas January 31, 2018 20:00
@nodejs-github-bot nodejs-github-bot 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. v9.x labels Jan 31, 2018
@apapirovski
Copy link
Contributor Author

apapirovski commented Jan 31, 2018

Once this lands, #17736 #17881 #17879 #18139 should land and not fail the tests if applied in the right order.

@MylesBorins
Copy link
Contributor

@apapirovski after landing this PR I am still seeing #17736 fail as below. Would it be possible for you to add all of those other blocked PRs to this backport PR and ensure everything is working

=== release test-timer-immediate ===
Path: parallel/test-timer-immediate
module.js:704
  process._tickCallback();
          ^

TypeError: process._tickCallback is not a function
    at Function.Module.runMain (module.js:704:11)
    at startup (bootstrap_node.js:190:16)
    at bootstrap_node.js:657:3

As an aside, #18139 was not landing cleanly

@apapirovski
Copy link
Contributor Author

apapirovski commented Feb 23, 2018

@MylesBorins working on this now. Should have an update shortly. Just an FYI, the unref Immediates in #18139 are semver-minor so will need to wait until 9.7.0 now.

@apapirovski
Copy link
Contributor Author

I'm going to open a new PR for this given the expanded scope.

Sign up for free to 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 / src Issues 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.

4 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.