Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

worker: handle calling terminate when kHandler is null #28370

Closed

Conversation

elyalvarado
Copy link
Contributor

@elyalvarado elyalvarado commented Jun 21, 2019

This PR makes a change to the Worker.terminate() method when
called if the kHandler is null. Before this pull request it was returning
undefined, but the API is expecting a promise. With the changes in
this PR if terminate is called and kHandler is null a resolved Promise
is returned even if a callback is passed, to be consistent with the API
surface, and with always return promises.

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

@nodejs-github-bot nodejs-github-bot added the worker Issues and PRs related to Worker support. label Jun 21, 2019
lib/internal/worker.js Outdated Show resolved Hide resolved
Copy link
Member

@addaleax addaleax left a comment

Choose a reason for hiding this comment

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

I think you need to run make lint and address the errors, but otherwise this looks good to me :)

Copy link
Member

@TimothyGu TimothyGu left a comment

Choose a reason for hiding this comment

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

LGTM other than this comment and @addaleax’s :)

lib/internal/worker.js Outdated Show resolved Hide resolved
@jasnell jasnell added the code-and-learn Issues related to the Code-and-Learn events and PRs submitted during the events. label Jun 23, 2019
@elyalvarado
Copy link
Contributor Author

Pushed the following changes:

  • make lint now passing, this included rewording the commit messages to include the subsystem
  • Changed the return statements to print the deprecation warning if a callback is passed, and still return a promise if kHandle is null

@elyalvarado elyalvarado changed the title handle calling terminate on a worker when kHandler is null worker: handle calling terminate when kHandler is null Jun 23, 2019
Copy link
Contributor

@khriztianmoreno khriztianmoreno left a comment

Choose a reason for hiding this comment

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

Good job!

@addaleax addaleax added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Jul 4, 2019
@addaleax
Copy link
Member

addaleax commented Jul 4, 2019

CI (without rebasing due to the merge commit): https://ci.nodejs.org/job/node-test-pull-request/24264/

@nodejs-github-bot

This comment has been minimized.

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@Trott
Copy link
Member

Trott commented Jul 30, 2019

Can you remove the merge commit? Our Ci does not handle them well.

This PR makes a change to the Worker.terminate() when called if the
kHandler is null. Before this pull request it was returning undefined,
but the API is expecting a promise. With the changes in this PR if
terminate is called a Promise.resolve() is returned, unless a callback
is passed in which case the old behavior stays (returns undefined).
This change makes terminate always return a promise even if kHandler
is null
The deprecation warning is printed even if the kHandler is null
...and make the linter happy
@Trott Trott force-pushed the terminate-with-null-handlers branch from fd7f67e to 3916e59 Compare July 30, 2019 23:38
@Trott
Copy link
Member

Trott commented Jul 30, 2019

Rebased against master and force pushed to eliminate the merge commit so we can run Ci and get this landed....

@nodejs-github-bot
Copy link
Collaborator

@elyalvarado
Copy link
Contributor Author

Thanks @Trott I was precisely going to ask how should I eliminate the merge commit. Now I know 😉. You all rock 🎸

Trott pushed a commit to Trott/io.js that referenced this pull request Jul 31, 2019
This PR makes a change to the Worker.terminate() when called if the
kHandler is null. Before this pull request it was returning undefined,
but the API is expecting a promise. With the changes in this PR if
terminate is called a Promise.resolve() is returned, unless a callback
is passed in which case the old behavior stays (returns undefined).

PR-URL: nodejs#28370
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Tiancheng "Timothy" Gu <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: James M Snell <[email protected]>
@Trott
Copy link
Member

Trott commented Jul 31, 2019

Landed in 9083a67.

Thanks for the contribution! 🎉

(If you're interested in other possible contributions to Node.js but don't have a good idea of where to start looking, some ideas are posted at https://www.nodetodo.org/next-steps/.)

@Trott Trott closed this Jul 31, 2019
targos pushed a commit that referenced this pull request Aug 2, 2019
This PR makes a change to the Worker.terminate() when called if the
kHandler is null. Before this pull request it was returning undefined,
but the API is expecting a promise. With the changes in this PR if
terminate is called a Promise.resolve() is returned, unless a callback
is passed in which case the old behavior stays (returns undefined).

PR-URL: #28370
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Tiancheng "Timothy" Gu <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
author ready PRs that have at least one approval, no pending requests for changes, and a CI started. code-and-learn Issues related to the Code-and-Learn events and PRs submitted during the events. worker Issues and PRs related to Worker support.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants