diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2019-11-13 21:54:56 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-13 21:54:56 (GMT) |
commit | 694c03fabb5cf3df0102cc317670a10fc39c6786 (patch) | |
tree | 9fce2560ca025bae0ac72c0074944198bc06fcc8 /Lib/asyncio | |
parent | a67bc10e42fa9a077eb4d9d7bd767c3efddbc366 (diff) | |
download | cpython-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')
-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. |