• docs/v322_new.md src/vdmodem/vdmodem.c

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Wednesday, September 30, 2026 23:44:06
    https://gitlab.synchro.net/main/sbbs/-/commit/452932d563e7786b3dc42955
    Modified Files:
    docs/v322_new.md src/vdmodem/vdmodem.c
    Log Message:
    vdmodem: Don't spin a CPU in the main loop when idle or connected (#1176)

    With the default MainLoopDelay and SocketSelectTimeout of 0 (from
    5fd72f315e, 2024-03-25), the main loop never blocked: SVDM used a full
    logical CPU while waiting for calls, and while connected. Rate pacing
    also spun whenever received data was waiting on the socket.

    Each pass now blocks: in select() while online (SocketSelectTimeout now defaults to 1ms), otherwise in the process-handle wait for at least 1ms, including while rate-limited so the mailslot and hangup event are still serviced every millisecond. The timer resolution is raised to 1ms for the duration of the loop so these waits (and thus the emulated data rate)
    aren't quantized to the default ~15ms tick. Setting SocketSelectTimeout=0 restores the old spin-wait while online.

    Incremented version to 0.7

    Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

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