Message383296
> Drawback: it is a backward incompatible change. Code which worked by luck previously no longer works. I'm talking about applications which rely on __del__() methods being calling in an exact order and expect Python being in a specific state.
Python does not provide any warranty in which order finalizers are called:
https://docs.python.org/dev/reference/datamodel.html#object.__del__
PyPy is a good concrete example of finalizers being called in a different order.
An application must not rely on the finalizer order, but manage resources explicitly by calling close() methods or using context managers. Python emits ResourceWarning on this purpose. |
|
Date |
User |
Action |
Args |
2020-12-18 10:51:28 | vstinner | set | recipients:
+ vstinner, pitrou, eric.snow, serhiy.storchaka |
2020-12-18 10:51:28 | vstinner | set | messageid: <1608288688.59.0.345978359093.issue42671@roundup.psfhosted.org> |
2020-12-18 10:51:28 | vstinner | link | issue42671 messages |
2020-12-18 10:51:28 | vstinner | create | |
|