bpo-42392: Improve removal of *loop* parameter in asyncio primitives (GH-23499)

* Update code after merge review from 1st1

* Use a sentinel approach for loop parameter
Remove unnecessary _get_running_loop patching

* Use more clear function name (_verify_parameter_is_marker -> _verify_no_loop)

* Add init method to _LoopBoundMixin to check that loop param wasn't used
This commit is contained in:
Yurii Karabas 2020-11-25 13:50:44 +02:00 committed by GitHub
parent 7301979b23
commit b9127dd6ee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 46 additions and 35 deletions

View file

@ -17,7 +17,7 @@ class QueueFull(Exception):
pass
class Queue(mixins._LoopBoundedMixin):
class Queue(mixins._LoopBoundMixin):
"""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
@ -29,7 +29,8 @@ class Queue(mixins._LoopBoundedMixin):
interrupted between calling qsize() and doing an operation on the Queue.
"""
def __init__(self, maxsize=0):
def __init__(self, maxsize=0, *, loop=mixins._marker):
super().__init__(loop=loop)
self._maxsize = maxsize
# Futures.