From fbaeb23cb97b78dd964f72884058fba2858391c2 Mon Sep 17 00:00:00 2001 From: Ben Darnell Date: Mon, 22 Jun 2026 15:24:05 -0400 Subject: [PATCH] locks,queues: Add versionchanged docs for #3621 --- tornado/locks.py | 16 ++++++++++++++++ tornado/queues.py | 11 +++++++++++ 2 files changed, 27 insertions(+) diff --git a/tornado/locks.py b/tornado/locks.py index d05c921ff..79d10f760 100644 --- a/tornado/locks.py +++ b/tornado/locks.py @@ -119,6 +119,10 @@ def wait( Returns a `.Future` that resolves ``True`` if the condition is notified, or ``False`` after a timeout. + + .. versionchanged:: 6.6 + A ``timeout`` argument of zero will either return or raise immediately. + Previously, zero was treated equivalent to ``None`` (wait forever). """ waiter: Future[bool] = Future() self._waiters.append(waiter) @@ -231,6 +235,10 @@ def wait( Returns an awaitable, which raises `tornado.util.TimeoutError` after a timeout. + + .. versionchanged:: 6.6 + A ``timeout`` argument of zero will either return or raise immediately. + Previously, zero was treated equivalent to ``None`` (wait forever). """ fut: Future[None] = Future() if self._value: @@ -414,6 +422,10 @@ def acquire( Block if the counter is zero and wait for a `.release`. The awaitable raises `.TimeoutError` after the deadline. + + .. versionchanged:: 6.6 + A ``timeout`` argument of zero will either return or raise immediately. + Previously, zero was treated equivalent to ``None`` (wait forever). """ waiter: Future[_ReleasingContextManager] = Future() if self._value > 0: @@ -528,6 +540,10 @@ def acquire( Returns an awaitable, which raises `tornado.util.TimeoutError` after a timeout. + + .. versionchanged:: 6.6 + A ``timeout`` argument of zero will either return or raise immediately. + Previously, zero was treated equivalent to ``None`` (wait forever). """ return self._block.acquire(timeout) diff --git a/tornado/queues.py b/tornado/queues.py index 89403d7a3..3eeb13e50 100644 --- a/tornado/queues.py +++ b/tornado/queues.py @@ -193,6 +193,10 @@ def put( scale as `tornado.ioloop.IOLoop.time`, normally `time.time`), or a `datetime.timedelta` object for a deadline relative to the current time. + + .. versionchanged:: 6.6 + A ``timeout`` argument of zero will either return or raise immediately. + Previously, zero was treated equivalent to ``None`` (wait forever). """ future: Future[None] = Future() try: @@ -240,6 +244,9 @@ def get(self, timeout: float | datetime.timedelta | None = None) -> Awaitable[_T ``timedelta`` objects for relative timeouts (consistent with other timeouts in Tornado). + .. versionchanged:: 6.6 + A ``timeout`` argument of zero will either return or raise immediately. + Previously, zero was treated equivalent to ``None`` (wait forever). """ future: Future[_T] = Future() try: @@ -292,6 +299,10 @@ def join( Returns an awaitable, which raises `tornado.util.TimeoutError` after a timeout. + + .. versionchanged:: 6.6 + A ``timeout`` argument of zero will either return or raise immediately. + Previously, zero was treated equivalent to ``None`` (wait forever). """ return self._finished.wait(timeout)