diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2024-07-30 09:24:35 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-30 09:24:35 (GMT) |
commit | 202cfbfb7cd54fb40240cb23b3b828c4ba4471cf (patch) | |
tree | c19eb4e3fb950e17c327eda32833b5ea8b0cba8c | |
parent | 466bb0d7eac4a4dbd8fb6050a50489680cbfe765 (diff) | |
download | cpython-202cfbfb7cd54fb40240cb23b3b828c4ba4471cf.zip cpython-202cfbfb7cd54fb40240cb23b3b828c4ba4471cf.tar.gz cpython-202cfbfb7cd54fb40240cb23b3b828c4ba4471cf.tar.bz2 |
[3.13] gh-121474: Add threading.Barrier parties arg sanity check. (GH-121480) (GH-122444)
(cherry picked from commit d27a53fc02a87e76066fc4e15ff1fff3922a482d)
Co-authored-by: Clinton <pygeek@users.noreply.github.com>
-rw-r--r-- | Lib/test/lock_tests.py | 4 | ||||
-rw-r--r-- | Lib/threading.py | 2 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2024-07-08-03-45-34.gh-issue-121474.NsvrUN.rst | 2 |
3 files changed, 8 insertions, 0 deletions
diff --git a/Lib/test/lock_tests.py b/Lib/test/lock_tests.py index 024c6de..8c8f890 100644 --- a/Lib/test/lock_tests.py +++ b/Lib/test/lock_tests.py @@ -1013,6 +1013,10 @@ class BarrierTests(BaseTestCase): self.assertEqual(self.barrier.n_waiting, 0) self.assertFalse(self.barrier.broken) + def test_constructor(self): + self.assertRaises(ValueError, self.barriertype, parties=0) + self.assertRaises(ValueError, self.barriertype, parties=-1) + def test_barrier(self, passes=1): """ Test that a barrier is passed in lockstep diff --git a/Lib/threading.py b/Lib/threading.py index 2dcdd0c..94ea2f0 100644 --- a/Lib/threading.py +++ b/Lib/threading.py @@ -689,6 +689,8 @@ class Barrier: default for all subsequent 'wait()' calls. """ + if parties < 1: + raise ValueError("parties must be > 0") self._cond = Condition(Lock()) self._action = action self._timeout = timeout diff --git a/Misc/NEWS.d/next/Library/2024-07-08-03-45-34.gh-issue-121474.NsvrUN.rst b/Misc/NEWS.d/next/Library/2024-07-08-03-45-34.gh-issue-121474.NsvrUN.rst new file mode 100644 index 0000000..605f30d --- /dev/null +++ b/Misc/NEWS.d/next/Library/2024-07-08-03-45-34.gh-issue-121474.NsvrUN.rst @@ -0,0 +1,2 @@ +Fix missing sanity check for ``parties`` arg in :class:`threading.Barrier` +constructor. Patch by Clinton Christian (pygeek). |