aboutsummaryrefslogtreecommitdiffstats
path: root/hooks/pre-commit
diff options
context:
space:
mode:
authorgbc dev <gbc@localhost>2026-07-17 19:46:58 +0200
committergbc dev <gbc@localhost>2026-07-17 19:46:58 +0200
commit130215c21ce4aa300abc9a276e2ffb35c8f43803 (patch)
treef1298471138095dd98e26ee8c0f9c80cc93e5ce3 /hooks/pre-commit
parentmain: silence stderr while the live sixel display is up (diff)
downloadsl0pboy-130215c21ce4aa300abc9a276e2ffb35c8f43803.tar.gz
sl0pboy-130215c21ce4aa300abc9a276e2ffb35c8f43803.tar.xz
sl0pboy-130215c21ce4aa300abc9a276e2ffb35c8f43803.zip
gb: auto-reconnect a dead --serial-sock link instead of going silent
Root-cause work for the 'idle link-socket drop' (see gbos docs/link-drop-investigation.md): when the hub restarts or the bridge dies, the link fd went dead forever - and before SIGPIPE was ignored, the next console-echo write() would kill the whole emulator silently. Now, in --serial-sock mode, EOF on read or EPIPE/ECONNRESET/ENOTCONN/ EBADF on either direction marks the link dead, closes the fd, and retries connect() every 500ms from the serial poll path (the guest polls constantly, so no extra plumbing). RX stays pending while down (serial_no_eof semantics), so the guest just sees a quiet link that comes back. Logs 'link socket lost / reconnected' either way. Verified: SIGKILL the hub, restart it - every GB reconnects within ~1s and keeps its lease.
Diffstat (limited to 'hooks/pre-commit')
0 files changed, 0 insertions, 0 deletions