summaryrefslogtreecommitdiffstats
path: root/contrib/python/contextlib2
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/python/contextlib2')
-rw-r--r--contrib/python/contextlib2/py3/contextlib2/__init__.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/contrib/python/contextlib2/py3/contextlib2/__init__.py b/contrib/python/contextlib2/py3/contextlib2/__init__.py
index d6c0c4ac4af..63ecced65a4 100644
--- a/contrib/python/contextlib2/py3/contextlib2/__init__.py
+++ b/contrib/python/contextlib2/py3/contextlib2/__init__.py
@@ -177,8 +177,10 @@ class _GeneratorContextManager(_GeneratorContextManagerBase,
# Need to force instantiation so we can reliably
# tell if we get the same exception back
value = type()
+ if traceback is not None:
+ value = value.with_traceback(traceback)
try:
- self.gen.throw(type, value, traceback)
+ self.gen.throw(value)
except StopIteration as exc:
# Suppress StopIteration *unless* it's the same exception that
# was passed to throw(). This prevents a StopIteration