std: pass the Thread
for the newly spawned thread to the platform
#146678
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 PR moves the responsibility for calling
set_current
(which initialises the thread handle) to the platform implementation. This unblocks #144465 and cleans up the fallout from #144500, as well as enabling the removal of theset_name
function on platforms without thread names (as we now have access to the thread name in the platform thread main function).This PR also contains a second commit (sorry, I couldn't help myself) that fixes a (mostly theoretical) unsoundness introduced by #115746, which added a call to
current_os_id
to the SIGSEGV signal handler even though that function might not be async-signal-safe. The thread ID is now initialised before the stack overflow information, so the ID can be stored therein.