diff --git a/IPython/terminal/pt_inputhooks/asyncio.py b/IPython/terminal/pt_inputhooks/asyncio.py index 53d4974..e286038 100644 --- a/IPython/terminal/pt_inputhooks/asyncio.py +++ b/IPython/terminal/pt_inputhooks/asyncio.py @@ -38,6 +38,9 @@ def inputhook(context): def stop(): loop.stop() - loop.add_reader(context.fileno(), stop) - context.fileno() - loop.run_forever() + fileno = context.fileno() + loop.add_reader(fileno, stop) + try: + loop.run_forever() + finally: + loop.remove_reader(fileno)