OwlCyberSecurity - MANAGER
Edit File: concurrency.cpython-312.pyc
� ̓�g� � �h � d dl mZ d dlZd dlZd dlmZ d dlmZ d dlmZ d dlmZ dZdZ d dl Z dZd d lmZ d dlm Z d dlmZ d d lmZ d dlmZ d dlmZ d dlmZ ed� Z G d� d� Zej0 sesd� Zd� Zd� Zd� Z d� Zd� Zd� Zd� Zd� Zyyy# e$ rZ ee� Z Y dZ[�PdZ[ww xY w)� )�annotationsN)�Any)�Callable)� Coroutine)�TypeVarFT� )� await_only)�await_fallback)�in_greenlet)�greenlet_spawn)�is_exit_exception)�AsyncAdaptedLock)�_Runner�_Tc �P � e Zd ZdZdd�Z dd�Z d d�Zdd�Zy) � _AsyncUtilz&Asyncio util for test suite/ util onlyc �0 � t rt � | _ y y �N)� have_greenletr �runner��selfs �L/opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/util/concurrency.py�__init__z_AsyncUtil.__init__) s � ��!�)�D�K� � c �D � | j j ||i |��� S )zRun coroutine on the loop)r �run�r �fn�args�kwargss r r z_AsyncUtil.run- s! � � �{�{���r�4�2�6�2�3�3r c �� � t rX| j j � j � r ||i |��S | j j t |g|��i |��� S ||i |��S )z3Run sync function in greenlet. Support nested calls)r r �get_loop� is_runningr r r s r �run_in_greenletz_AsyncUtil.run_in_greenlet6 sb � � ��{�{�#�#�%�0�0�2��4�*�6�*�*��{�{���~�b�'J�4�'J�6�'J�K�K��t�&�v�&�&r c �F � t r| j j � y y r )r r �closer s r r'