Skip to content

Add hasRef to worker_threads.Worker #42091

Closed
@SimenB

Description

@SimenB

What is the problem this feature will solve?

Jest has a --detect-open-handles flag which attempts to figure out (using async_hooks) what resources (timer/server etc.) are preventing a test run/node from exiting. To avoid false positives we perform filtering before presenting the list to the user. One of those things is to check if a Timer has been unrefed or not, via Timer.hasRef.

However, Workers have no hasRef, even though they have the {un}ref pair, so Jest will currently print false positives for Workers that have had unref called.

What is the feature you are proposing to solve the problem?

Add Worker.hasRef similar to the Timer API.

What alternatives have you considered?

No response

Activity

added
feature requestIssues that request new features to be added to Node.js.
on Feb 23, 2022
targos

targos commented on Feb 23, 2022

@targos
Member

What about other APIs that have an unref function? ChildProcess, FSWatcher, etc.

SimenB

SimenB commented on Feb 23, 2022

@SimenB
MemberAuthor

I haven't gotten a bug report in Jest about them, so I have no opinion 😀

On a more serious note, I think it makes sense for ref, unref and hasRef to always exist together.

moved this to Pending Triage in Node.js feature requestson Feb 23, 2022
benjamingr

benjamingr commented on Feb 23, 2022

@benjamingr
Member

@SimenB would you be interested in contributing a PR? I am happy to guide you, the code is in io.js and worker.js mostly :)

SimenB

SimenB commented on Feb 23, 2022

@SimenB
MemberAuthor

Io.js, that's a blast from the past! Happy to contribute it if it'll get accepted 🙂

added a commit that references this issue on Apr 16, 2022

35 remaining items

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature requestIssues that request new features to be added to Node.js.workerIssues and PRs related to Worker support.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Add `hasRef` to `worker_threads.Worker` · Issue #42091 · nodejs/node