mirror of
https://github.com/saphid/frame-control.git
synced 2026-10-06 02:00:19 +02:00
The --exit-on-eof watcher read stdin with a buffered read, which holds stdin's lock. When SIGTERM stopped the server first, Python aborted at exit trying to take that lock back, and the app showed "The server stopped unexpectedly (SIGABRT)". It now uses os.read. The startup line is printed inside the try, so a signal that arrives while it's printed still runs the cleanup. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>