prctl: introduce PR_GET_NR_THREADS flag #1
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 lucab@lucabruno.net