File: //usr/local/CyberPanel/lib64/python3.10/site-packages/anyio/__pycache__/from_thread.cpython-310.pyc
o
�hE � @ s� d dl mZ d dlZd dlmZmZmZ d dlmZ d dl m
Z
mZmZ d dl
mZmZ d dlmZ d dlmZmZmZmZ d d lmZ d d
lmZmZmZmZmZ ddlm Z dd
l!m"Z"m#Z#m$Z$ ddl%m&Z& ddl'm(Z(m)Z) ddl*m+Z+ ddl,m-Z- ej.dkr�d dlm/Z/m0Z0 nd dl1m/Z/m0Z0 ed�Z2eddd�Z3e/d�Z4d9dd�Z5d:d!d"�Z6G d#d$� d$ee3 e�Z7G d%d&� d&e-�Z8G d'd(� d(�Z9eG d)d*� d*��Z:e + d;dd,�d<d4d5��Z;d=d7d8�Z<dS )>� )�annotationsN)� Awaitable�Callable� Generator)�Future)�AbstractAsyncContextManager�AbstractContextManager�contextmanager)� dataclass�field)�isawaitable)�Lock�Thread�current_thread� get_ident)�
TracebackType)�Any�Generic�TypeVar�cast�overload� )�
_eventloop)�get_async_backend�get_cancelled_exc_class�threadlocals)�Event)�CancelScope�create_task_group)�AsyncBackend)�
TaskStatus)� � )�TypeVarTuple�Unpack�T_Retval�T_coT)� covariant�PosArgsT�func�1Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]]�args�Unpack[PosArgsT]�returnc G �: zt j}t j}W n ty td�d�w |j| ||d�S )z�
Call a coroutine function from a worker thread.
:param func: a coroutine function
:param args: positional arguments for the callable
:return: the return value of the coroutine function
�9This function can only be run from an AnyIO worker threadN��token)r �current_async_backend�
current_token�AttributeError�RuntimeError�run_async_from_thread�r) r+ �
async_backendr1 � r9 �G/usr/local/CyberPanel/lib/python3.10/site-packages/anyio/from_thread.py�run( �
���r; �&Callable[[Unpack[PosArgsT]], T_Retval]c G r. )z�
Call a function in the event loop thread from a worker thread.
:param func: a callable
:param args: positional arguments for the callable
:return: the return value of the callable
r/ Nr0 )r r2 r3 r4 r5 �run_sync_from_threadr7 r9 r9 r: �run_sync>