File: //usr/local/lib/python3.10/dist-packages/anyio/__pycache__/to_thread.cpython-310.pyc
o
���g\ � @ s� d dl mZ d dlZd dlmZ d dlmZ d dlmZ ddl m
Z
ddlmZ ej
d kr6d d
lmZmZ nd d
lmZmZ ed�Zed�Zd
ddd�ddd�Zd dd�ZdS )!� )�annotationsN)�Callable)�TypeVar)�warn� )�get_async_backend)�CapacityLimiter)� � )�TypeVarTuple�Unpack�T_Retval�PosArgsTF)�abandon_on_cancel�cancellable�limiter�func�&Callable[[Unpack[PosArgsT]], T_Retval]�args�Unpack[PosArgsT]r �boolr �bool | Noner �CapacityLimiter | None�returnc � s6 �|dur|}t dtdd� t� j| |||d�I dH S )a�
Call the given function with the given arguments in a worker thread.
If the ``cancellable`` option is enabled and the task waiting for its completion is
cancelled, the thread will still run its course but its return value (or any raised
exception) will be ignored.
:param func: a callable
:param args: positional arguments for the callable
:param abandon_on_cancel: ``True`` to abandon the thread (leaving it to run
unchecked on own) if the host task is cancelled, ``False`` to ignore
cancellations in the host task until the operation has completed in the worker
thread
:param cancellable: deprecated alias of ``abandon_on_cancel``; will override
``abandon_on_cancel`` if both parameters are passed
:param limiter: capacity limiter to use to limit the total amount of threads running
(if omitted, the default limiter is used)
:return: an awaitable that yields the return value of the function.
Nz�The `cancellable=` keyword argument to `anyio.to_thread.run_sync` is deprecated since AnyIO 4.1.0; use `abandon_on_cancel=` instead� )�
stacklevel)r r )r �DeprecationWarningr �run_sync_in_worker_thread)r r r r r � r �:/usr/local/lib/python3.10/dist-packages/anyio/to_thread.py�run_sync s ���r r c C s
t � �� S )z�
Return the capacity limiter that is used by default to limit the number of
concurrent threads.
:return: a capacity limiter object
)r �current_default_thread_limiterr r r r r! = s
r! )r r r r r r r r r r r r
)r r )�
__future__r �sys�collections.abcr �typingr �warningsr �_core._eventloopr �abcr �version_infor r �typing_extensionsr
r r r! r r r r �<module> s"