kennethreitz
16ce57bb1b
Rename ResponderServer._stop so it no longer shadows Thread._stop
...
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 >
2026-07-02 21:54:04 -04:00
..
2018-10-13 13:59:46 +01:00
2026-06-28 10:37:14 -04:00
2026-06-29 14:31:46 -04:00
2026-06-28 10:41:43 -04:00
2026-06-30 12:54:26 -04:00
2026-07-01 17:05:08 -04:00
2026-07-02 21:54:04 -04:00
2026-07-01 13:50:28 -04:00
2026-07-02 21:30:28 -04:00
2026-06-30 12:02:24 -04:00
2026-07-01 15:10:41 -04:00
2026-07-01 12:52:22 -04:00
2026-06-30 12:47:48 -04:00
2026-06-28 20:57:39 -04:00
2026-07-01 15:11:24 -04:00
2026-07-01 17:05:08 -04:00
2026-06-29 13:29:33 -04:00
2026-06-28 20:30:34 -04:00
2026-06-28 20:57:39 -04:00
2026-07-01 15:22:35 -04:00
2026-07-01 17:05:08 -04:00
2026-07-01 17:05:08 -04:00
2026-03-22 05:51:47 -04:00
2026-07-01 17:05:08 -04:00
2026-06-29 02:08:50 -04:00
2026-06-30 13:21:14 -04:00
2026-06-28 20:17:38 -04:00
2026-07-01 17:05:08 -04:00
2026-07-01 13:46:56 -04:00
2026-06-28 10:27:00 -04:00
2026-06-28 20:30:34 -04:00
2026-06-28 19:48:22 -04:00
2026-06-30 01:59:53 -04:00
2026-06-29 13:41:24 -04:00
2026-06-12 01:29:59 -04:00
2026-06-30 16:30:31 -04:00
2026-06-28 19:48:22 -04:00
2026-06-29 14:41:23 -04:00
2026-06-28 10:37:14 -04:00
2026-07-02 21:30:28 -04:00
2026-06-30 01:59:53 -04:00
2026-07-01 15:27:20 -04:00
2026-07-01 17:05:08 -04:00
2026-07-01 15:18:36 -04:00
2026-06-30 16:30:31 -04:00
2026-06-30 16:30:31 -04:00
2026-07-02 21:30:28 -04:00
2026-06-30 12:29:49 -04:00
2026-06-30 12:02:24 -04:00
2026-06-29 01:34:30 -04:00
2026-07-02 21:30:28 -04:00
2026-06-29 01:43:03 -04:00
2026-07-01 17:05:08 -04:00
2026-07-01 17:05:08 -04:00
2026-07-01 17:05:08 -04:00
2026-07-01 17:05:08 -04:00
2026-06-30 12:29:49 -04:00
2026-06-29 13:12:45 -04:00
2026-07-01 12:22:31 -04:00
2026-06-29 14:40:34 -04:00
2026-06-30 01:59:53 -04:00
2026-06-29 01:54:24 -04:00
2026-07-01 17:05:08 -04:00
2026-07-02 21:30:28 -04:00
2026-06-28 10:37:14 -04:00
2026-06-28 20:02:35 -04:00
2026-06-29 13:55:40 -04:00
2026-07-01 17:05:08 -04:00
2026-07-01 13:21:20 -04:00
2026-06-29 01:22:40 -04:00
2026-07-01 17:05:08 -04:00
2026-06-29 14:54:19 -04:00
2026-07-01 12:50:53 -04:00
2026-07-01 17:05:08 -04:00
2026-07-01 17:05:08 -04:00
2026-06-30 13:04:51 -04:00
2026-06-29 02:08:50 -04:00
2026-06-29 14:40:34 -04:00
2026-06-28 20:40:32 -04:00
2026-06-29 14:40:34 -04:00
2026-06-30 12:02:24 -04:00
2026-06-29 14:40:34 -04:00
2026-06-29 14:30:03 -04:00
2026-07-01 12:22:31 -04:00
2026-06-29 13:22:30 -04:00
2026-06-28 19:48:22 -04:00
2026-07-01 13:03:19 -04:00
2026-07-01 17:05:08 -04:00
2026-03-22 07:44:11 -04:00