bpo-32374: Document that m_traverse for multi-phase initialized modules can be called with m_state=NULL · Pull Request #5140 · python/cpython (original) (raw)

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 andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Conversation5 Commits2 Checks0 Files changed

Conversation

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

[ Show hidden characters]({{ revealButtonHref }})

ghost

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

Marcel Plch added 2 commits

January 9, 2018 17:14

@encukou

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

@ncoghlan

Commenting and tagging me worked :)

@miss-islington

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

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request

Mar 17, 2018

@miss-islington

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 gmarcel.plch@gmail.com

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request

Mar 17, 2018

@miss-islington

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 gmarcel.plch@gmail.com

@bedevere-bot

miss-islington added a commit that referenced this pull request

Mar 17, 2018

@miss-islington

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 gmarcel.plch@gmail.com

miss-islington added a commit that referenced this pull request

Mar 17, 2018

@miss-islington

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 gmarcel.plch@gmail.com

jo2y pushed a commit to jo2y/cpython that referenced this pull request

Mar 23, 2018

@jo2y

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.