Message249151
So there are two approaches I see to solving this whole thing. One is for there to be a slight divergence between the C code and the Python code. For _warnings.warn(), nothing changes. For warnings.warn(), though, it does the expected frame skipping. This would mean that _warnings.warn() continues to exist for startup purposes but then user-level code and non-startup code uses the Python version that has the expected semantics. This requires figuring out why not importing _warnings.warn in warnings.py causes test failures.
The other option is someone helps me figure out why the C code is causing its test failures by triggering a -11 return in threaded/subprocess tests and prevent the divergence.
I have opened issue #24938 to actually re-evaluate one of the key points of _warnings.c which was startup performance. This was done about 7 years ago which pre-dates freezing code and providing simple C wrappers as necessary for internal use in Python like we do with importlib. |
|
Date |
User |
Action |
Args |
2015-08-25 18:52:51 | brett.cannon | set | recipients:
+ brett.cannon, barry, ncoghlan, larry, jwilk, Arfrever, njs, eric.snow, takluyver, berker.peksag, serhiy.storchaka, josh.r |
2015-08-25 18:52:51 | brett.cannon | set | messageid: <1440528771.76.0.811516212169.issue24305@psf.upfronthosting.co.za> |
2015-08-25 18:52:51 | brett.cannon | link | issue24305 messages |
2015-08-25 18:52:51 | brett.cannon | create | |
|