Skip to content

Conversation

@neonene
Copy link
Contributor

@neoneneneonene commented Jun 21, 2024

When reloading _datetime module, the single-phase version did not invoke the PyInit__datetime function, whereas the current multi-phase version updates the static types through the module init. The outdated static type cache in the interpreter state needs to be invalidated at the end of reloading the multi-phase module.

This PR is a manual backport of a81d434, adding assert statements to the test case.
This also backports e6076d1 (gh-120180) manually.

When reloading _datetime module, the single-phase version did not invoke the PyInit__datetime function, whereas the current multi-phase version updates the static types through the module init. The outdated static type cache in the interpreter state needs to be invalidated at the end of reloading the multi-phase module.
@neonene
Copy link
ContributorAuthor

@neonene
Copy link
ContributorAuthor

neonene commented Jun 22, 2024

@ericsnowcurrently I backported e6076d1 as well. (I can take back the change: 09ec032)

@kumaraditya303kumaraditya303 merged commit 2c3aa52 into python:3.13Jul 3, 2024
@neonene
Copy link
ContributorAuthor

Thanks.

@neoneneneonene deleted the reload313 branch July 3, 2024 12:34
@freakboy3742
Copy link
Contributor

This backport appears to have broken the iOS buildbot. I’m AFK for the next week; I’ll take a look when I’m back at my desk.

@neonene
Copy link
ContributorAuthor

This backport appears to have broken the iOS buildbot.

#121561 should be effective for fixing it.

Sign up for freeto 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.

4 participants

@neonene@freakboy3742@JelleZijlstra@kumaraditya303