summaryrefslogtreecommitdiffstats
path: root/Lib/asyncio/futures.py
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2019-11-13 21:54:56 (GMT)
committerGitHub <noreply@github.com>2019-11-13 21:54:56 (GMT)
commit694c03fabb5cf3df0102cc317670a10fc39c6786 (patch)
tree9fce2560ca025bae0ac72c0074944198bc06fcc8 /Lib/asyncio/futures.py
parenta67bc10e42fa9a077eb4d9d7bd767c3efddbc366 (diff)
downloadcpython-694c03fabb5cf3df0102cc317670a10fc39c6786.zip
cpython-694c03fabb5cf3df0102cc317670a10fc39c6786.tar.gz
cpython-694c03fabb5cf3df0102cc317670a10fc39c6786.tar.bz2
bpo-38785: Prevent asyncio from crashing (GH-17144)
if parent `__init__` is not called from a constructor of object derived from `asyncio.Future` https://bugs.python.org/issue38785 (cherry picked from commit dad6be5ffe48beb74fad78cf758b886afddc7aed) Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
Diffstat (limited to 'Lib/asyncio/futures.py')
-rw-r--r--Lib/asyncio/futures.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/Lib/asyncio/futures.py b/Lib/asyncio/futures.py
index 98a5308e..9afda22 100644
--- a/Lib/asyncio/futures.py
+++ b/Lib/asyncio/futures.py
@@ -115,7 +115,10 @@ class Future:
def get_loop(self):
"""Return the event loop the Future is bound to."""
- return self._loop
+ loop = self._loop
+ if loop is None:
+ raise RuntimeError("Future object is not initialized.")
+ return loop
def cancel(self):
"""Cancel the future and schedule callbacks.