Browse Source

externals/microprofile: Fix data race in g_bUseLock

As reported by tsan, g_bUseLock had a data race. Fix this using an
atomic boolean.
nce_cpp
ReinUsesLisp 5 years ago
parent
commit
56b58b8f8b
  1. 2
      externals/microprofile/microprofile.h

2
externals/microprofile/microprofile.h

@ -1037,7 +1037,7 @@ static void MicroProfileCreateThreadLogKey()
#else
MP_THREAD_LOCAL MicroProfileThreadLog* g_MicroProfileThreadLog = 0;
#endif
static bool g_bUseLock = false; /// This is used because windows does not support using mutexes under dll init(which is where global initialization is handled)
static std::atomic<bool> g_bUseLock{false}; /// This is used because windows does not support using mutexes under dll init(which is where global initialization is handled)
MICROPROFILE_DEFINE(g_MicroProfileFlip, "MicroProfile", "MicroProfileFlip", 0x3355ee);

Loading…
Cancel
Save