https://github.com/python/cpython/commit/6e605861751eb0f8cca3836e2eadd34faf6a7ad2
commit: 6e605861751eb0f8cca3836e2eadd34faf6a7ad2
branch: 3.14
author: Miss Islington (bot) <31488909+miss-isling...@users.noreply.github.com>
committer: serhiy-storchaka <storch...@gmail.com>
date: 2025-05-23T17:23:47Z
summary:

[3.14] gh-133454: Reduce the number of threads in 
test_racing_getbuf_and_releasebuf (GH-133458) (GH-134589)

The original reproducer only used 10 threads.
(cherry picked from commit fc0c9c24121c1a62b25b79062286f976699b59e9)

Co-authored-by: Serhiy Storchaka <storch...@gmail.com>

files:
M Lib/test/test_memoryview.py

diff --git a/Lib/test/test_memoryview.py b/Lib/test/test_memoryview.py
index 61b068c630c7ce..64f440f180bbf0 100644
--- a/Lib/test/test_memoryview.py
+++ b/Lib/test/test_memoryview.py
@@ -743,19 +743,21 @@ def test_racing_getbuf_and_releasebuf(self):
             from multiprocessing.managers import SharedMemoryManager
         except ImportError:
             self.skipTest("Test requires multiprocessing")
-        from threading import Thread
+        from threading import Thread, Event
 
-        n = 100
+        start = Event()
         with SharedMemoryManager() as smm:
             obj = smm.ShareableList(range(100))
-            threads = []
-            for _ in range(n):
-                # Issue gh-127085, the `ShareableList.count` is just a 
convenient way to mess the `exports`
-                # counter of `memoryview`, this issue has no direct relation 
with `ShareableList`.
-                threads.append(Thread(target=obj.count, args=(1,)))
-
+            def test():
+                # Issue gh-127085, the `ShareableList.count` is just a
+                # convenient way to mess the `exports` counter of `memoryview`,
+                # this issue has no direct relation with `ShareableList`.
+                start.wait(support.SHORT_TIMEOUT)
+                for i in range(10):
+                    obj.count(1)
+            threads = [Thread(target=test) for _ in range(10)]
             with threading_helper.start_threads(threads):
-                pass
+                start.set()
 
             del obj
 

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-le...@python.org
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: arch...@mail-archive.com

Reply via email to