← Back
Editing: asyncio.cpython-311.pyc
� �@�c5 � �H � d Z ddlmZ ddlmZ ej d� � Zd� ZdS )a\ Inputhook for running the original asyncio event loop while we're waiting for input. By default, in IPython, we run the prompt with a different asyncio event loop, because otherwise we risk that people are freezing the prompt by scheduling bad coroutines. E.g., a coroutine that does a while/true and never yield back control to the loop. We can't cancel that. However, sometimes we want the asyncio loop to keep running while waiting for a prompt. The following example will print the numbers from 1 to 10 above the prompt, while we are waiting for input. (This works also because we use prompt_toolkit`s `patch_stdout`):: In [1]: import asyncio In [2]: %gui asyncio In [3]: async def f(): ...: for i in range(10): ...: await asyncio.sleep(1) ...: print(i) In [4]: asyncio.ensure_future(f()) � )�__version__)�get_asyncio_loopz3.c � �� t rdS t � � ��fd�}| � � � }�� ||� � �� � � �� |� � dS # �� |� � w xY w)z7 Inputhook for asyncio event loop integration. Nc �0 �� � � � � d S )N)�stop)�loops ��H/usr/lib/python3/dist-packages/IPython/terminal/pt_inputhooks/asyncio.pyr zinputhook.<locals>.stop7 s �� �� � ������ )�PTK3r �fileno� add_reader�run_forever� remove_reader)�contextr r r s @r � inputhookr &