• src/sbbs3/getstats.c

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Mon Aug 17 02:13:46 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/52d64f2934d867dc7d66f198
    Modified Files:
    src/sbbs3/getstats.c
    Log Message:
    getstats.c: don't require the thread wrappers to count the bases

    getstats.c is linked into the stand-alone utilities as well as into the
    BBS, and those utilities import only xpdev.props, not xpdev_mt.props. The message/file total cache added in a464bc3efd (finite-27-know, 2026-08-17) called pthread_once() and pthread_mutex_*() unconditionally, so dupefind, makeuser, sbbsecho, upgrade_to_v319 and upgrade_to_v320 all failed to
    link with LNK2019 on those four symbols. GCC did not catch it: on Linux
    pthread is available to every link set, so the dependency was invisible
    there.

    Serialize only where XPDEV_THREAD_SAFE says the wrappers are linked. The utilities are single-threaded, so there is nothing to serialize against
    and the cache logic is unchanged for them.

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

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