BBS:      TELESC.NET.BR
Assunto:  src/comio/comio_nix.c src/syncterm/CHANGES bbslist.c modem.c
De:       Deuc¨
Data:     Wed, 20 May 2026 10:19:13 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/ff32528ab33ab49964a52146
Modified Files:
	src/comio/comio_nix.c src/syncterm/CHANGES bbslist.c modem.c
Log Message:
syncterm: cut serial close stall and respect 3-wire flow control

Alt-H disconnect on a serial connection could stall for many seconds
on Linux/Wayland.  Three pieces:

* comio/comio_nix.c: tcflush(fd, TCOFLUSH) before close() so the kernel
  doesn't drain the tty transmit queue when HUPCL drops DTR.  At low
  baud with held-down CTS the per-byte drain timeout multiplied by the
  queued byte count was the entire visible delay.

* syncterm/modem.c: when CONN_TYPE_SERIAL_NORTS, mask
  COM_FLOW_CONTROL_RTS_CTS off the flow_control bitmask before
  comSetFlowControl().  3-wire wiring has no CTS line, so the tty
  layer's RTS/CTS gate would block all output the moment the kernel
  sampled CTS low (i.e. immediately).

* syncterm/bbslist.c: the Flow Control submenu for a NORTS entry now
  offers only XON/XOFF and None.  Stored fc is not rewritten on
  cancel; modem.c masks the RTS/CTS bit at connect time regardless.

Reported on ticket 246 (Wayland Alt-H hang).
n
---
  mSynchronetn  hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net

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