diff options
Diffstat (limited to 'Lib/test/support/__init__.py')
-rw-r--r-- | Lib/test/support/__init__.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py index 21d8f2c..d3beef2 100644 --- a/Lib/test/support/__init__.py +++ b/Lib/test/support/__init__.py @@ -2019,13 +2019,20 @@ def threading_cleanup(*original_values): if not _thread: return _MAX_COUNT = 100 + t0 = time.monotonic() for count in range(_MAX_COUNT): values = _thread._count(), threading._dangling if values == original_values: break time.sleep(0.01) gc_collect() - # XXX print a warning in case of failure? + else: + dt = time.monotonic() - t0 + print("Warning -- threading_cleanup() failed to cleanup %s threads " + "after %.0f sec (count: %s, dangling: %s)" + % (values[0] - original_values[0], dt, + values[0], len(values[1])), + file=sys.stderr) def reap_threads(func): """Use this function when threads are being used. This will |