changeset: 98551:41f29bbf520d parent: 98547:d00c0544880a parent: 98550:3719e842a7b1 user: Benjamin Peterson date: Mon Oct 05 22:01:29 2015 -0700 files: Misc/ACKS Misc/NEWS description: merge 3.5 (#25319) diff -r d00c0544880a -r 41f29bbf520d Lib/test/lock_tests.py --- a/Lib/test/lock_tests.py Mon Oct 05 22:52:37 2015 -0400 +++ b/Lib/test/lock_tests.py Mon Oct 05 22:01:29 2015 -0700 @@ -394,6 +394,14 @@ b.wait_for_finished() 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): """ diff -r d00c0544880a -r 41f29bbf520d Lib/threading.py --- a/Lib/threading.py Mon Oct 05 22:52:37 2015 -0400 +++ b/Lib/threading.py Mon Oct 05 22:01:29 2015 -0700 @@ -499,7 +499,7 @@ def _reset_internal_locks(self): # private! called by Thread._reset_internal_locks by _after_fork() - self._cond.__init__() + self._cond.__init__(Lock()) def is_set(self): """Return true if and only if the internal flag is true.""" diff -r d00c0544880a -r 41f29bbf520d Misc/ACKS --- a/Misc/ACKS Mon Oct 05 22:52:37 2015 -0400 +++ b/Misc/ACKS Mon Oct 05 22:01:29 2015 -0700 @@ -1353,6 +1353,7 @@ Rafal Smotrzyk Eric Snow Dirk Soede +Nir Soffer Paul Sokolovsky Evgeny Sologubov Cody Somerville diff -r d00c0544880a -r 41f29bbf520d Misc/NEWS --- a/Misc/NEWS Mon Oct 05 22:52:37 2015 -0400 +++ b/Misc/NEWS Mon Oct 05 22:01:29 2015 -0700 @@ -128,6 +128,9 @@ - Issue #13248: Remove deprecated inspect.getargspec and inspect.getmoduleinfo functions. +- Issue #25319: When threading.Event is reinitialized, the underlying condition + should use a regular lock rather than a recursive lock. + IDLE ----