�
u��g\ � �� � d dl mZ d dlZd dlmZ d dlmZ d dlmZ ddl m
Z
ddlmZ ej
d k r d d
lmZmZ nd d
lmZmZ ed� � Z ed� � Zd
ddd�dd�Zdd�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 � � K � |�|}t dt d�� � t � � � | |||�� � � d{V ��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 s �_/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/anyio/to_thread.py�run_syncr! s� � � � �6 ��'���
M���
�
�
�
� #�$�$�>�>��d�&7�� ?� � � � � � � � � � r c �B � 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_limiter� r"