Skip to content

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 <[email protected]>
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 <[email protected]>
Reviewed-By: James M Snell <[email protected]>
@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