Open
Conversation
This adds a new PR_GET_NR_THREADS flag to prctl(2), which directly exposes to userspace the thread-count from signal_struct. It allows a calling process to self-introspect its own state and detect whether it is currently executing in a single or multi-threaded way. This additional primitive is relevant for all those kinds of logic which may not be safe or sound to execute in a multi-threaded process (e.g. POSIX MT-Unsafe, setns(2) limitations, and more). In particular, it caters to libraries which need to perform such introspection in an efficient way and without having to resort to procfs access (which may not be available, and additionally requires FD-opening plus counting/parsing steps). Signed-off-by: Luca BRUNO <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds a new PR_GET_NR_THREADS flag to prctl(2), which directly
exposes to userspace the thread-count from signal_struct.
It allows a calling process to self-introspect its own state and
detect whether it is currently executing in a single or
multi-threaded way.
This additional primitive is relevant for all those kinds of logic
which may not be safe or sound to execute in a multi-threaded
process (e.g. POSIX MT-Unsafe, setns(2) limitations, and more).
In particular, it caters to libraries which need to perform
such introspection in an efficient way and without having to resort
to procfs access (which may not be available, and additionally
requires FD-opening plus counting/parsing steps).
Signed-off-by: Luca BRUNO [email protected]