mirror of
https://github.com/kennethreitz/responder.git
synced 2026-07-21 18:39:29 +00:00
16ce57bb1b
On Python <= 3.12 and PyPy, Thread.join() calls self._stop() internally to mark the thread finished; ResponderServer's same-named process- termination method shadowed it, so join() ran termination logic, set _stopping=True, and skipped the Thread bookkeeping. Python 3.13+ removed that call path, which is why CI failed only on 3.11/3.12/pypy3.11. Latent since the class was introduced; exposed by the 8.0.1 signal- handler restore test via test_cli_run's leaked handlers. test_cli_run now also calls server.stop() so handlers never leak into later tests. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>