fix: bound JSON output shutdown after interrupt
HA
14m ago+479+479+012345678901234567890123456789-28-28-01234567890123456789
Summary
- Bound shutdown after the first interrupt, including while output is being drained.
- Isolate the POSIX child process group so Ctrl-C is forwarded exactly once.
- Keep shutdown handlers active through drain and ignore repeated signals.
- Bound oversized JSON records to the pipe's atomic-write limit so every emitted line remains parseable.
- Add regression coverage for repeated Ctrl-C/SIGTERM, oversized records, drain cleanup, and forced test-process cleanup.
- Add the Reflex Base bugfix news fragment.
Tests
tests/units/reflex_base/utils/test_log.py: 81 passed, 5 skipped on Windows (POSIX-only cases).- Linux Docker smoke tests: group SIGINT forwarded once; oversized output stayed valid JSON; blocked drain remained bounded after a second SIGTERM.
- Ruff formatting, focused lint, and
git diff --checkpassed.
Fixes #7510