Message161944
The current implementation of contextlib.ExitStack [1] actually creates a nested series of frames when unwinding the callback stack in an effort to ensure exceptions are chained correctly, just as they would be if using nested with statements.
It would be nice to avoid this overhead by just using the one frame to iterate over the callbacks and handling correct exception chaining directly. This is likely to be a little tricky to get right, though, so the first step would be to set up a test that throws and suppresses a few exceptions and ensures the chaining when using ExitStack matches that when using nested with statements.
[1] http://hg.python.org/cpython/file/94a5bf416e50/Lib/contextlib.py#l227 |
|
Date |
User |
Action |
Args |
2012-05-30 11:07:47 | ncoghlan | set | recipients:
+ ncoghlan |
2012-05-30 11:07:47 | ncoghlan | set | messageid: <1338376067.22.0.0825835075506.issue14963@psf.upfronthosting.co.za> |
2012-05-30 11:07:46 | ncoghlan | link | issue14963 messages |
2012-05-30 11:07:46 | ncoghlan | create | |
|