mirror of
https://github.com/python/cpython.git
synced 2025-12-31 04:23:37 +00:00
[3.11] gh-106883: Make test_current_frames_exceptions_deadlock faster (#131182)
This commit is contained in:
parent
6b37486184
commit
f576d31d1c
1 changed files with 4 additions and 8 deletions
|
|
@ -477,6 +477,7 @@ def g456():
|
|||
@threading_helper.reap_threads
|
||||
@threading_helper.requires_working_threading()
|
||||
@support.requires_fork()
|
||||
@support.requires_resource('cpu')
|
||||
def test_current_frames_exceptions_deadlock(self):
|
||||
"""
|
||||
Reproduce the bug raised in GH-106883 and GH-116969.
|
||||
|
|
@ -515,19 +516,14 @@ def thread_function(num_objects):
|
|||
|
||||
# The number of objects should be big enough to increase the
|
||||
# chances to call the GC.
|
||||
NUM_OBJECTS = 1000
|
||||
NUM_THREADS = 10
|
||||
|
||||
# 40 seconds should be enough for the test to be executed: if it
|
||||
# is more than 40 seconds it means that the process is in deadlock
|
||||
# hence the test fails
|
||||
TIMEOUT = 40
|
||||
NUM_OBJECTS = 100
|
||||
NUM_THREADS = 2
|
||||
|
||||
# Test the sys._current_frames and sys._current_exceptions calls
|
||||
pid = os.fork()
|
||||
if pid: # parent process
|
||||
try:
|
||||
support.wait_process(pid, exitcode=0, timeout=TIMEOUT)
|
||||
support.wait_process(pid, exitcode=0, timeout=support.SHORT_TIMEOUT)
|
||||
except KeyboardInterrupt:
|
||||
# When pressing CTRL-C kill the deadlocked process
|
||||
os.kill(pid, signal.SIGTERM)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue