]> granicus.if.org Git - python/commit
Issue 3611: in some cases (a __del__ re-raising an exception, when called from inside
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>
Fri, 29 Aug 2008 07:13:32 +0000 (07:13 +0000)
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>
Fri, 29 Aug 2008 07:13:32 +0000 (07:13 +0000)
commitdb26f7c13748db526e52501d3ba2856a6e30c7a5
tree543064580b5daedb94549cb8bcf5396172492f6b
parent4f3c5616ccb880f8b5602c2da5c8951b55e4e9dd
Issue 3611: in some cases (a __del__ re-raising an exception, when called from inside
an 'except' clause), the exception __context__ would be reset to None.
This crases the interpreter if this precisely happens inside PyErr_SetObject.

- now the __context__ is properly preserved
- in any case, PyErr_SetObject now saves the current exc_value in a local variable, to
avoid such crashes in the future.

Reviewer: Antoine Pitrou.
Lib/test/test_raise.py
Misc/NEWS
Python/ceval.c
Python/errors.c