]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.14] gh-133454: Reduce the number of threads in test_racing_getbuf_and_releasebuf...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 23 May 2025 17:23:47 +0000 (19:23 +0200)
committerGitHub <noreply@github.com>
Fri, 23 May 2025 17:23:47 +0000 (17:23 +0000)
The original reproducer only used 10 threads.
(cherry picked from commit fc0c9c24121c1a62b25b79062286f976699b59e9)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Lib/test/test_memoryview.py

index 61b068c630c7ce90d8083fcb859d4ebce84690c0..64f440f180bbf0d7963d5f2fa67c827377aec1a6 100644 (file)
@@ -743,19 +743,21 @@ class RacingTest(unittest.TestCase):
             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