Skip to content

bpo-32374: Document that m_traverse for multi-phase initialized modules can be called with m_state=NULL #5140

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from Mar 17, 2018

Conversation

ghost
Copy link

@ghost ghost commented Jan 9, 2018

This PR provides documentation on correct handling of multiphase initialized modules' traversing.
It also contains a check that, in a debug build (--with-pydebug), does a sanity check for m_traverse handling the m_state==NULL case early.

https://bugs.python.org/issue32374

@encukou
Copy link
Member

encukou commented Mar 15, 2018

Anything I can do to help move this forward?
ping @ncoghlan

@ncoghlan
Copy link
Contributor

Commenting and tagging me worked :)

@ncoghlan ncoghlan merged commit c2b0b12 into python:master Mar 17, 2018
@miss-islington
Copy link
Contributor

Thanks @Traceur759 for the PR, and @ncoghlan for merging it 🌮🎉.. I'm working now to backport this PR to: 3.6, 3.7.
🐍🍒⛏🤖

@bedevere-bot
Copy link

GH-6128 is a backport of this pull request to the 3.7 branch.

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Mar 17, 2018
Multi-phase initialized modules allow m_traverse to be called while the
module is still being initialized, so module authors may need to account
for that.
(cherry picked from commit c2b0b12)

Co-authored-by: Marcel Plch <[email protected]>
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Mar 17, 2018
Multi-phase initialized modules allow m_traverse to be called while the
module is still being initialized, so module authors may need to account
for that.
(cherry picked from commit c2b0b12)

Co-authored-by: Marcel Plch <[email protected]>
@bedevere-bot
Copy link

GH-6129 is a backport of this pull request to the 3.6 branch.

miss-islington added a commit that referenced this pull request Mar 17, 2018
Multi-phase initialized modules allow m_traverse to be called while the
module is still being initialized, so module authors may need to account
for that.
(cherry picked from commit c2b0b12)

Co-authored-by: Marcel Plch <[email protected]>
miss-islington added a commit that referenced this pull request Mar 17, 2018
Multi-phase initialized modules allow m_traverse to be called while the
module is still being initialized, so module authors may need to account
for that.
(cherry picked from commit c2b0b12)

Co-authored-by: Marcel Plch <[email protected]>
jo2y pushed a commit to jo2y/cpython that referenced this pull request Mar 23, 2018
Multi-phase initialized modules allow m_traverse to be called while the
module is still being initialized, so module authors may need to account
for that.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants