BBS:      TELESC.NET.BR
Assunto:  src/syncterm/conn.c modem.c term.c
De:       Deuc¨
Data:     Mon, 16 Mar 2026 21:37:59 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/5fd371b1dd911a56ff029928
Modified Files:
	src/syncterm/conn.c modem.c term.c
Log Message:
Fix while(kbhit()) loops spinning on stdin EOF (CIO_KEY_QUIT)

When stdin is at EOF (e.g., SSH session died), kbhit() always returns
true and getch() always returns CIO_KEY_QUIT. Five while(kbhit())
loops would spin endlessly in this state:

- conn.c, modem.c: Keyboard drain loops now detect CIO_KEY_QUIT and
  break instead of discarding it forever.
- term.c: Zmodem, xmodem, and CET transfer abort checks now
  unconditionally cancel on CIO_KEY_QUIT (not gated on check_exit()
  return value) and break out of the drain loop.

Co-Authored-By: Claude Opus 4.6 
n
---
  mSynchronetn  hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net

-----------------------------------------------------------
[Voltar]