Sorry, something went wrong.
There was a problem hiding this comment.
Please mention the modified module name in the PR title.
I suggest to canghe the PR title to "Enhance _datetime error handling" or "Refactor _datetime error handling", since this change is not directly related to multi-phase init. I'm not sure that we can soon convert this module to the multi-phase init because of the PyCapsule C API.
Sorry, something went wrong.
|
You wrote the wrong bpo number in the PR title. |
Sorry, something went wrong.
|
@koubaa Can you provide a TL;DR of why this change is useful or necessary? |
Sorry, something went wrong.
|
@koubaa Can you provide a TL;DR of why this change is useful or necessary? https://bugs.python.org/issue1635741 describes the overall goal: better embed Python in application. One side of the issue is to ensure that an extension module releases all its resources at Python exit. |
Sorry, something went wrong.
There was a problem hiding this comment.
Be careful with preprocessor traps :-( https://gcc.gnu.org/onlinedocs/cpp/Macro-Pitfalls.html
Sorry, something went wrong.
|
Be careful with preprocessor traps :-( https://gcc.gnu.org/onlinedocs/cpp/Macro-Pitfalls.html Thanks again for sharing this, I easily forget them. |
Sorry, something went wrong.
|
Thanks again for sharing this, I easily forget them. Oh, me tee! I got exactly the same issue than you a few days ago :-D |
Sorry, something went wrong.
|
Thanks, I merged your PR. I checked manually for refleak using the following test run with "./python -m test (...) -R 3:3": def test_leak(self):
support.run_in_subinterp("import _datetime")
I didn't notice any refleak. |
Sorry, something went wrong.
|
Hum, I'm not sure that my manual test is relevant, since _datetime doesn't use multiphase init yet. But it leaks, I don't expect issues with Refleaks buildbots. |
Sorry, something went wrong.
This helps prepare for multiphase init (PEP 489)
https://bugs.python.org/issue1635741