_  _    __    ___  __    ___  _____  _  _
 ( \( )  /__\  / __)(  )  / __)(  _  )( \( )
  )  (  /(__)\( (__  )(__( (__  )(_)(  )  (
 (_)\_)(__)(__)\___)(____)\___)(_____)(_)\_)

The History of Hacking  ·  May 31 – June 2, 2026  ·  Carolina Beach, NC

Connect from your terminal: telnet naclconbbs.net 23  |  ssh naclconbbs.net -p 2222

  • src/comio/comio_nix.c src/syncterm/CHANGES bbslist.c modem.c

    From Deucе@VERT to Git commit to main/sbbs/master on Wed May 20 10:19:13 2026
    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).

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net