Message308057
| Author |
Dormouse759 |
| Recipients |
Dormouse759, chn, eric.snow, grahamd, loewis, ncoghlan, petr.viktorin, pitrou, python-dev, r.david.murray, terry.reedy |
| Date |
2017年12月11日.16:09:05 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1513008545.3.0.213398074469.issue6531@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
> At a guess, the problem is because in atexit_callfuncs():
>
> module = PyState_FindModule(&atexitmodule);
> if (module == NULL)
> return;
In #31901, I solved this problem by getiing rid of PyState_FindModule in the atexit code, using module state and PEP-489 multiphase initialization.
This needed some changes in the pystate and pylifecycle code, so the specific interpreter has a reference to its own atexit module. This way, Py_EndInterpreter() is able to call the callbacks for the given interpreter.
See: https://github.com/python/cpython/pull/4611 |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2017年12月11日 16:09:05 | Dormouse759 | set | recipients:
+ Dormouse759, loewis, terry.reedy, ncoghlan, pitrou, grahamd, r.david.murray, petr.viktorin, python-dev, eric.snow, chn |
| 2017年12月11日 16:09:05 | Dormouse759 | set | messageid: <1513008545.3.0.213398074469.issue6531@psf.upfronthosting.co.za> |
| 2017年12月11日 16:09:05 | Dormouse759 | link | issue6531 messages |
| 2017年12月11日 16:09:05 | Dormouse759 | create |
|