�
��Vc c s0 � d Z ddlZddlZddlmZ dZd� ZdS )z6High-level support for working with threads in asyncioi Ni )�events)� to_threadc � s� K � t j � � }t j � � }t j |j | g|�R i |��}|� d|� � � d{V ��S )a� Asynchronously run function *func* in a separate thread.
Any *args and **kwargs supplied for this function are directly passed
to *func*. Also, the current :class:`contextvars.Context` is propagated,
allowing context variables from the main thread to be accessed in the
separate thread.
Return a coroutine that can be awaited to get the eventual result of *func*.
N)r Zget_running_loop�contextvarsZcopy_context� functoolsZpartialZrunZrun_in_executor)ZfuncZargsZkwargsZloopZctxZ func_calls �(/usr/lib64/python3.11/asyncio/threads.pyr r sp � � � � �"�$�$�D�
�
"�
$�
$�C��!�#�'�4�A�$�A�A�A�&�A�A�I��%�%�d�I�6�6�6�6�6�6�6�6�6� )Z__doc__r r Z r Z__all__r ) r r �<module>r sU �� <� <� � � � � � � � � � � � � � � ��
7�
7�
7�
7�
7r