File: //home/arjun/projects/env/lib/python3.10/site-packages/tornado/__pycache__/locks.cpython-310.pyc
o
we�C � @ s� d dl Z d dlZd dlZd dlmZmZ d dlmZmZ d dl m
Z
mZmZm
Z
mZ d dl Z e jr9d dl mZmZ g d�ZG dd� de�ZG d d
� d
e�ZG dd� de�ZG d
d� de�ZG dd� de�ZG dd� de�ZG dd� de�ZdS )� N)�gen�ioloop)�Future�"future_set_result_unless_cancelled)�Union�Optional�Type�Any� Awaitable)�Deque�Set)� Condition�Event� Semaphore�BoundedSemaphore�Lockc @ s$ e Zd ZdZddd�Zddd�ZdS ) �_TimeoutGarbageCollectorz�Base class for objects that periodically clean up timed-out waiters.
Avoids memory leak in a common pattern like:
while True:
yield condition.wait(short_timeout)
print('looping....')
�returnNc C s t �� | _d| _d S )Nr )�collections�deque�_waiters� _timeouts��self� r �F/home/arjun/projects/env/lib/python3.10/site-packages/tornado/locks.py�__init__) s
z!_TimeoutGarbageCollector.__init__c C s>