• src/syncterm/xfer_recv.c xfer_recv.h xmodem_cancel_test.c xmodem_cance

    From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Jul 24 12:18:50 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/720c3c0961a61d9ca9351a4a
    Added Files:
    src/syncterm/xfer_recv.c xfer_recv.h xmodem_cancel_test.c xmodem_cancel_test.vcxproj
    Modified Files:
    src/sbbs3/xmodem.c src/syncterm/CMakeLists.txt GNUmakefile SyncTERM.sln SyncTERM.vcxproj objects.mk term.c
    Log Message:
    Make X/YMODEM cancellation responsive

    Long receive timeouts prevented transfer workers from observing a local cancellation until the current protocol read completed. Split
    seconds-based reads into 100 ms polls while preserving the overall
    timeout and returning received data immediately.

    Stop the block, acknowledgement, and mode-negotiation retry loops when
    the cancellation callback fires. Avoid reporting a deliberate abort as
    a mode-negotiation failure.

    Add regression coverage for interrupted waits, normal timeout
    accounting, received data, and each affected protocol loop. Wire the
    test into the GNU, CMake, and Visual Studio builds.

    Refs SyncTERM ticket 273

    Co-authored-by: OpenAI Codex <noreply@openai.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)