BBS: TELESC.NET.BR Assunto: src/ssh/TODO.md src/ssh/test/test_selftest.c De: Deuc¨ Data: Mon, 30 Mar 2026 14:17:14 -0700 ----------------------------------------------------------- https://gitlab.synchro.net/main/sbbs/-/commit/753b6cf1ff5e8b5cbf210660 Modified Files: src/ssh/TODO.md src/ssh/test/test_selftest.c Log Message: Fix selftest echo write race: poll for DSSH_POLL_WRITE before first write dssh_chan_write is non-blocking by design returns 0 when remote_window is 0. Both sides open channels with initial_window=0 then independently send WINDOW_ADJUST after setup. Under -j16 contention (especially RSA keygen), the server's WINDOW_ADJUST hadn't been processed by the client's demux thread before the test wrote, causing ~40% failure rate in dssh_self_rsa and dssh_self_mlkem_rsa variants. Add dssh_chan_poll(DSSH_POLL_WRITE) before the first write in test_self_exec_echo and test_self_shell_echo, matching the pattern already used by test_self_shell_large_data. Make server_echo_thread (both instances) use a poll-then-retry write loop to avoid silently dropping data on partial writes. Also log item 106: intermittent dssh_self_dhgex failure observed once under heavy -j16 contention, not yet reproduced. Co-Authored-By: Claude Opus 4.6 (1M context)n --- mSynchronetn hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net ----------------------------------------------------------- [Voltar]