https://gitlab.synchro.net/main/sbbs/-/commit/e06d0205caf91969f69f94f9
Added Files:
src/ssh/test/test_thread_errors.c
Modified Files:
src/ssh/TODO.md ssh-conn.c ssh-internal.h ssh-trans.c ssh.c src/ssh/test/CMakeLists.txt dssh_test_ossl.c dssh_test_ossl.h
Log Message:
Check all C11 threading return values via dssh_thrd_check wrapper (items 85, 86)
133 unchecked mtx_lock/mtx_unlock/cnd_wait/cnd_timedwait/cnd_broadcast/ cnd_signal calls across ssh-conn.c (113), ssh-trans.c (10), and ssh.c (13)
now go through dssh_thrd_check(), which calls set_terminate() on failure. Library code ignores the return; the wrapper handles termination internally. set_terminate() checks returns to skip blocks whose lock was not acquired (best-effort wakeup, no recursion since terminate is set first).
Test injection uses a separate countdown (dssh_test_thrd_fail_after) from
the OpenSSL countdown. 6 new injection wrappers, 6 new tests (48 CTest
entries across 8 algo variants). Demux thread excluded from countdown.
Co-Authored-By: Claude Opus 4.6 (1M context) <
noreply@anthropic.com>
---
■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net