bpo-42392: Remove loop parameter form asyncio locks and Queue (#23420)

Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
This commit is contained in:
Yurii Karabas 2020-11-24 20:08:54 +02:00 committed by GitHub
parent b0b428510c
commit 0ec34cab9d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 304 additions and 451 deletions

View file

@ -2,10 +2,9 @@ __all__ = ('Queue', 'PriorityQueue', 'LifoQueue', 'QueueFull', 'QueueEmpty')
import collections
import heapq
import warnings
from . import events
from . import locks
from . import mixins
class QueueEmpty(Exception):
@ -18,7 +17,7 @@ class QueueFull(Exception):
pass
class Queue:
class Queue(mixins._LoopBoundedMixin):
"""A queue, useful for coordinating producer and consumer coroutines.
If maxsize is less than or equal to zero, the queue size is infinite. If it
@ -30,14 +29,7 @@ class Queue:
interrupted between calling qsize() and doing an operation on the Queue.
"""
def __init__(self, maxsize=0, *, loop=None):
if loop is None:
self._loop = events.get_event_loop()
else:
self._loop = loop
warnings.warn("The loop argument is deprecated since Python 3.8, "
"and scheduled for removal in Python 3.10.",
DeprecationWarning, stacklevel=2)
def __init__(self, maxsize=0):
self._maxsize = maxsize
# Futures.
@ -45,7 +37,7 @@ class Queue:
# Futures.
self._putters = collections.deque()
self._unfinished_tasks = 0
self._finished = locks.Event(loop=loop)
self._finished = locks.Event()
self._finished.set()
self._init(maxsize)
@ -122,7 +114,7 @@ class Queue:
slot is available before adding item.
"""
while self.full():
putter = self._loop.create_future()
putter = self._get_loop().create_future()
self._putters.append(putter)
try:
await putter
@ -160,7 +152,7 @@ class Queue:
If queue is empty, wait until an item is available.
"""
while self.empty():
getter = self._loop.create_future()
getter = self._get_loop().create_future()
self._getters.append(getter)
try:
await getter