mirror of
https://github.com/python/cpython.git
synced 2025-10-09 16:34:44 +00:00
reinitialize an Event's Condition with a regular lock (closes #25319)
This commit is contained in:
parent
601953b679
commit
15982aad2b
4 changed files with 13 additions and 1 deletions
|
@ -388,6 +388,14 @@ class EventTests(BaseTestCase):
|
||||||
b.wait_for_finished()
|
b.wait_for_finished()
|
||||||
self.assertEqual(results, [True] * N)
|
self.assertEqual(results, [True] * N)
|
||||||
|
|
||||||
|
def test_reset_internal_locks(self):
|
||||||
|
evt = self.eventtype()
|
||||||
|
old_lock = evt._cond._lock
|
||||||
|
evt._reset_internal_locks()
|
||||||
|
new_lock = evt._cond._lock
|
||||||
|
self.assertIsNot(new_lock, old_lock)
|
||||||
|
self.assertIs(type(new_lock), type(old_lock))
|
||||||
|
|
||||||
|
|
||||||
class ConditionTests(BaseTestCase):
|
class ConditionTests(BaseTestCase):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -496,7 +496,7 @@ class Event:
|
||||||
|
|
||||||
def _reset_internal_locks(self):
|
def _reset_internal_locks(self):
|
||||||
# private! called by Thread._reset_internal_locks by _after_fork()
|
# private! called by Thread._reset_internal_locks by _after_fork()
|
||||||
self._cond.__init__()
|
self._cond.__init__(Lock())
|
||||||
|
|
||||||
def is_set(self):
|
def is_set(self):
|
||||||
"""Return true if and only if the internal flag is true."""
|
"""Return true if and only if the internal flag is true."""
|
||||||
|
|
|
@ -1315,6 +1315,7 @@ Ryan Smith-Roberts
|
||||||
Rafal Smotrzyk
|
Rafal Smotrzyk
|
||||||
Eric Snow
|
Eric Snow
|
||||||
Dirk Soede
|
Dirk Soede
|
||||||
|
Nir Soffer
|
||||||
Paul Sokolovsky
|
Paul Sokolovsky
|
||||||
Evgeny Sologubov
|
Evgeny Sologubov
|
||||||
Cody Somerville
|
Cody Somerville
|
||||||
|
|
|
@ -100,6 +100,9 @@ Library
|
||||||
submit a coroutine to a loop from another thread, returning a
|
submit a coroutine to a loop from another thread, returning a
|
||||||
concurrent.futures.Future. By Vincent Michel.
|
concurrent.futures.Future. By Vincent Michel.
|
||||||
|
|
||||||
|
- Issue #25319: When threading.Event is reinitialized, the underlying condition
|
||||||
|
should use a regular lock rather than a recursive lock.
|
||||||
|
|
||||||
- Issue #25232: Fix CGIRequestHandler to split the query from the URL at the
|
- Issue #25232: Fix CGIRequestHandler to split the query from the URL at the
|
||||||
first question mark (?) rather than the last. Patch from Xiang Zhang.
|
first question mark (?) rather than the last. Patch from Xiang Zhang.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue