From 5a746a6b1066a3b59dd75f221ed08a42876f3e00 Mon Sep 17 00:00:00 2001 From: John Fultz Date: Sun, 21 Jul 2019 01:59:37 -0700 Subject: Make the PRNG thread-safe. Turns out that the C++ PRNGs aren't thread-safe. So lock calls to m_mersenneTwisterRng. Makes Thread Sanitizer happy. --- datamanager.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'datamanager.h') diff --git a/datamanager.h b/datamanager.h index 92ebfd9..219a500 100644 --- a/datamanager.h +++ b/datamanager.h @@ -19,8 +19,9 @@ #ifndef QUACKLE_DATAMANAGER_H #define QUACKLE_DATAMANAGER_H -#include +#include #include +#include #include "playerlist.h" @@ -148,6 +149,7 @@ private: PlayerList m_computerPlayers; mt19937_64 m_mersenneTwisterRng; + mutex m_RngMutex; }; inline DataManager *DataManager::self() -- cgit v1.2.3