Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[3.11] gh-104372: Cleanup _posixsubprocess make_inheritable for async signal safety gh-104518#104785

Merged
gpshead merged 7 commits intopython:3.11from
gpshead:backport-c649df6-3.11
May 24, 2023
Merged

[3.11] gh-104372: Cleanup _posixsubprocess make_inheritable for async signal safety gh-104518#104785
gpshead merged 7 commits intopython:3.11from
gpshead:backport-c649df6-3.11

Conversation

@gpshead
Copy link
Member

@gpsheadgpshead commentedMay 23, 2023
edited
Loading

Move all of the Python C API calls into the parent process up front
instead of doing PyLong_AsLong and PyErr_Occurred and PyTuple_GET from
the post-fork/vfork child process.

Much of this was long overdue. We shouldn't have been using PyTuple and
PyLong APIs within all of these low level functions anyways.

This is a backport ofc649df6 for#104518 and the tiny adjustment ind1732fe#104697.

…c signal safety and no GIL requirement (python#104518)Move all of the Python C API calls into the parent process up frontinstead of doing PyLong_AsLong and PyErr_Occurred and PyTuple_GET fromthe post-fork/vfork child process.Much of this was long overdue. We shouldn't have been using PyTuple andPyLong APIs within all of these low level functions anyways.(cherry picked from commitc649df6)
…or async signal safety and no GIL requirement (pythonGH-104518)Move all of the Python C API calls into the parent process up frontinstead of doing PyLong_AsLong and PyErr_Occurred and PyTuple_GET fromthe post-fork/vfork child process.Much of this was long overdue. We shouldn't have been using PyTuple andPyLong APIs within all of these low level functions anyways..(cherry picked from commitc649df6)Co-authored-by: Gregory P. Smith <greg@krypto.org>
@gpsheadgpshead marked this pull request as ready for reviewMay 23, 2023 02:22
@gpsheadgpshead marked this pull request as draftMay 23, 2023 05:59
@gpshead
Copy link
MemberAuthor

gpshead commentedMay 23, 2023
edited
Loading

The AddressSanitizer failure is only reproducable under an Ubuntu 20.04 ci-like-toolchain setup in the default optimized build. Using a --with-pydebug build in that setup, it does not happen. Using more recent compiler (& ASAN?) toolchains such as ubuntu 22.04 and 23.04, it does not happen.

regardless, i won't merge until finding a workaround. for CI health purposes alone.

@gpsheadgpshead marked this pull request as ready for reviewMay 23, 2023 19:02
@gpsheadgpshead merged commit6d00ae3 intopython:3.11May 24, 2023
@gpsheadgpshead deleted the backport-c649df6-3.11 branchMay 24, 2023 03:42
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

@gpsheadgpshead

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

2 participants

@gpshead@bedevere-bot

Comments


[8]ページ先頭

©2009-2026 Movatter.jp