summaryrefslogtreecommitdiffstats
path: root/Misc
diff options
context:
space:
mode:
authorCyker Way <cykerway@gmail.com>2022-09-22 16:34:45 (GMT)
committerGitHub <noreply@github.com>2022-09-22 16:34:45 (GMT)
commit24e03796248ab8c7f62d715c28156abe2f1c0d20 (patch)
tree879aa43c7a10fdd47e0b86a5598edb063a9d19aa /Misc
parent8fd2c3b75b90c4ee391894aa5094615bbdb6242f (diff)
downloadcpython-24e03796248ab8c7f62d715c28156abe2f1c0d20.zip
cpython-24e03796248ab8c7f62d715c28156abe2f1c0d20.tar.gz
cpython-24e03796248ab8c7f62d715c28156abe2f1c0d20.tar.bz2
gh-90155: Fix bug in asyncio.Semaphore and strengthen FIFO guarantee (#93222)
The main problem was that an unluckily timed task cancellation could cause the semaphore to be stuck. There were also doubts about strict FIFO ordering of tasks allowed to pass. The Semaphore implementation was rewritten to be more similar to Lock. Many tests for edge cases (including cancellation) were added.
Diffstat (limited to 'Misc')
-rw-r--r--Misc/NEWS.d/next/Library/2022-05-25-15-57-39.gh-issue-90155.YMstB5.rst1
1 files changed, 1 insertions, 0 deletions
diff --git a/Misc/NEWS.d/next/Library/2022-05-25-15-57-39.gh-issue-90155.YMstB5.rst b/Misc/NEWS.d/next/Library/2022-05-25-15-57-39.gh-issue-90155.YMstB5.rst
new file mode 100644
index 0000000..8def769
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2022-05-25-15-57-39.gh-issue-90155.YMstB5.rst
@@ -0,0 +1 @@
+Fix broken :class:`asyncio.Semaphore` when acquire is cancelled.