-
Notifications
You must be signed in to change notification settings - Fork 417
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
fix(gevent): unload time but not typing modules for module cloning #5135
Conversation
@Yun-Kim would you mind editing the riotfile to show which additional versions of python this creates support for? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some nits, otherwise LGTM.
Looks like this change still doesn't support Python versions <= 3.7 (Hangs on 2.7, see memalloc issues on Python 3 up until 3.8+). The likely fix to support the older Python versions is contained in #5105. |
This PR makes a fix to #4863 which inadvertently removed unloading the
time
module as well as removing thetyping
module from the list of standard library modules to not unload for module cloning. We found that thetime
module is a special case (which is important to unload due to interactions with gevent patching) as it is implicitly imported by recent versions of CPython on interpreter startup, so it may be present insys.modules
already.The
typing
module is also problematic on being reloaded for older versions of Python < 3.7, so we should not unload/reload this module as well.Checklist
Reviewer Checklist