• src/xpdev/threadwrap.h

    From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sat Feb 19 14:03:13 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/3d0d525c7da0d33b4f53547b
    Modified Files:
    src/xpdev/threadwrap.h
    Log Message:
    Use MinGW32 types for pthread_t and pthread_mutex_t

    uintptr_t should be the same as a DWORD on Win32,
    and CRITICAL_SECTION can be stored in an inptr_t as well.

    This should work fine, and allow more build environments to be happy.
    This is generally caused by new C++ standards having thread support
    in the standard library, so wrappers getting pushed deeper in.

    At some pointer, this should be redone with standard threads, but
    now is not the time.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Feb 20 16:53:52 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/b3c536e4e065801ed59d9c42
    Modified Files:
    src/xpdev/threadwrap.h
    Log Message:
    pthread_mutex_t is a CRITICAL_SECTION (not a pointer) on Win32

    Partially revert Deuce's commit b4bc9c9759e6f34c272501e024

    This explains the EAccessViolation (stack corruption during sbbs startup) that sysops have reported when using the latest nightly builds.

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