David Metcalfe
3aea61dbff
fix(gateway): run cron/housekeeping/MCP cleanup before the failure-exit return
...
`_start_gateway_shutdown_tail()` returned False on `should_exit_with_failure`
before `cron_stop.set()`, the cooperative thread waits, the planned-stop
watcher stop and MCP shutdown, so a failure exit leaked the cron ticker and
housekeeping daemon threads (and open MCP connections) for embedded/library
callers. The verdict is now resolved after the teardown, matching the
startup-abort path which already shuts MCP down first.
Fixes #12175 . Salvaged from #55031 by @DavidMetcalfe, re-applied onto the
extracted shutdown tail with one thread-lifecycle invariant test.
2026-09-12 08:27:32 -07:00
..
2026-07-05 06:29:26 -07:00
2026-04-28 09:50:27 -07:00
2026-09-12 08:25:54 -07:00
2026-09-11 14:02:08 +10:00
2026-09-07 06:10:54 -07:00
2026-09-02 19:21:46 -07:00
2026-09-11 03:45:33 +05:30
2026-09-11 15:28:00 -07:00
2026-09-10 10:27:07 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 17:13:22 -07:00
2026-09-02 19:21:46 -07:00
2026-09-03 13:46:50 -07:00
2026-09-02 19:21:46 -07:00
2026-09-12 01:53:15 -07:00
2026-09-11 19:50:46 -07:00
2026-09-12 01:53:15 -07:00
2026-09-03 09:44:26 -07:00
2026-09-02 19:21:46 -07:00
2026-09-02 20:13:08 -07:00
2026-09-07 04:46:20 -07:00
2026-09-07 06:00:05 -07:00
2026-09-04 00:15:16 -07:00
2026-09-02 22:42:55 -07:00
2026-09-03 09:44:26 -07:00
2026-09-11 15:44:00 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 00:09:14 -07:00
2026-09-03 17:13:22 -07:00
2026-09-11 06:21:48 -07:00
2026-09-04 00:15:16 -07:00
2026-09-03 13:46:50 -07:00
2026-09-11 06:21:48 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 13:48:14 -07:00
2026-09-11 19:58:07 -07:00
2026-09-04 00:15:16 -07:00
2026-09-02 19:21:46 -07:00
2026-09-11 15:44:00 -07:00
2026-09-11 15:44:00 -07:00
2026-09-02 19:21:46 -07:00
2026-09-02 19:21:46 -07:00
2026-09-04 00:15:16 -07:00
2026-09-02 19:21:46 -07:00
2026-09-12 08:22:42 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 09:44:26 -07:00
2026-09-11 15:28:00 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 09:44:26 -07:00
2026-09-11 19:04:38 -07:00
2026-09-12 01:53:15 -07:00
2026-09-12 12:24:24 +05:30
2026-09-11 15:28:00 -07:00
2026-09-02 16:11:50 -07:00
2026-09-11 19:58:07 -07:00
2026-09-11 19:58:07 -07:00
2026-09-07 14:16:57 -07:00
2026-09-07 14:16:57 -07:00
2026-09-12 12:24:24 +05:30
2026-09-12 08:25:54 -07:00
2026-09-11 15:26:09 -07:00
2026-09-11 19:58:07 -07:00
2026-09-07 22:47:33 +05:30
2026-09-10 10:27:07 -07:00
2026-09-12 13:00:29 +05:30
2026-09-11 15:28:00 -07:00
2026-09-07 06:10:54 -07:00
2026-09-12 08:27:32 -07:00
2026-09-02 21:14:22 -07:00
2026-09-04 15:41:27 -03:00
2026-09-09 10:55:32 -07:00
2026-09-02 19:21:38 -07:00
2026-09-07 06:10:54 -07:00
2026-09-11 15:26:09 -07:00
2026-09-07 14:16:57 -07:00
2026-09-03 09:44:26 -07:00
2026-09-12 12:03:39 +05:30
2026-09-12 13:00:29 +05:30
2026-09-11 03:45:33 +05:30
2026-09-03 13:46:50 -07:00
2026-09-07 08:20:09 -07:00
2026-09-03 10:00:07 -07:00
2026-09-03 17:13:22 -07:00
2026-09-10 18:17:22 -07:00
2026-09-11 03:45:33 +05:30
2026-09-12 12:24:24 +05:30
2026-09-11 15:28:00 -07:00
2026-09-11 03:45:33 +05:30
2026-09-11 15:28:00 -07:00
2026-09-03 17:13:22 -07:00
2026-09-02 21:14:22 -07:00
2026-09-12 06:13:44 -07:00
2026-09-11 15:44:00 -07:00
2026-09-08 17:51:35 +10:00
2026-09-02 19:19:38 -07:00
2026-09-02 19:52:43 -07:00
2026-09-08 17:51:35 +10:00
2026-09-08 17:51:35 +10:00
2026-09-04 00:15:16 -07:00
2026-09-02 20:24:52 -07:00
2026-09-09 10:59:52 -07:00
2026-09-03 17:13:22 -07:00
2026-09-07 14:11:18 -07:00
2026-09-12 12:03:39 +05:30
2026-09-09 10:55:32 -07:00
2026-09-03 08:16:44 -07:00