summaryrefslogtreecommitdiffstats
path: root/Lib/asyncio
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-01-31 00:01:54 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2014-01-31 00:01:54 (GMT)
commit95728982825e1c7247d40e8cfcae48b46377baa6 (patch)
tree9119d9fd73c18e06a7e5c7a9cac54acdb71af1c8 /Lib/asyncio
parent91445fbeb05f77551a8f83c5188362093916b0e1 (diff)
downloadcpython-95728982825e1c7247d40e8cfcae48b46377baa6.zip
cpython-95728982825e1c7247d40e8cfcae48b46377baa6.tar.gz
cpython-95728982825e1c7247d40e8cfcae48b46377baa6.tar.bz2
asyncio: Future.set_exception(exc) should instantiate exc if it is a class.
Diffstat (limited to 'Lib/asyncio')
-rw-r--r--Lib/asyncio/futures.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/Lib/asyncio/futures.py b/Lib/asyncio/futures.py
index 9ee13e3..d09f423 100644
--- a/Lib/asyncio/futures.py
+++ b/Lib/asyncio/futures.py
@@ -301,6 +301,8 @@ class Future:
"""
if self._state != _PENDING:
raise InvalidStateError('{}: {!r}'.format(self._state, self))
+ if isinstance(exception, type):
+ exception = exception()
self._exception = exception
self._state = _FINISHED
self._schedule_callbacks()