diff options
author | Andrew Svetlov <andrew.svetlov@gmail.com> | 2019-11-13 21:36:46 (GMT) |
---|---|---|
committer | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2019-11-13 21:36:46 (GMT) |
commit | dad6be5ffe48beb74fad78cf758b886afddc7aed (patch) | |
tree | 838e3725e0b281904f0ad097e282997570469b1a /Lib/asyncio | |
parent | 61289d436661025a3111065482275d49a4850b8d (diff) | |
download | cpython-dad6be5ffe48beb74fad78cf758b886afddc7aed.zip cpython-dad6be5ffe48beb74fad78cf758b886afddc7aed.tar.gz cpython-dad6be5ffe48beb74fad78cf758b886afddc7aed.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
Diffstat (limited to 'Lib/asyncio')
-rw-r--r-- | Lib/asyncio/futures.py | 5 |
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. |