diff options
author | John Fultz <jfultz@wolfram.com> | 2019-07-21 01:59:37 -0700 |
---|---|---|
committer | John Fultz <jfultz@wolfram.com> | 2019-07-21 02:02:55 -0700 |
commit | 5a746a6b1066a3b59dd75f221ed08a42876f3e00 (patch) | |
tree | 9b26702ba3d2e654c7cf1419047f97acbc241d43 /datamanager.h | |
parent | f2e42335d294128591fb123baddf7182ca390d40 (diff) |
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.
Diffstat (limited to 'datamanager.h')
-rw-r--r-- | datamanager.h | 4 |
1 files changed, 3 insertions, 1 deletions
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 <string> +#include <mutex> #include <random> +#include <string> #include "playerlist.h" @@ -148,6 +149,7 @@ private: PlayerList m_computerPlayers; mt19937_64 m_mersenneTwisterRng; + mutex m_RngMutex; }; inline DataManager *DataManager::self() |