Mark mutex in userdata handler as static
continuous-integration/drone/push Build is failing Details

Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
This commit is contained in:
Deukhoofd 2019-06-24 15:51:51 +02:00
parent fd83b6b992
commit 09e30a234c
Signed by: Deukhoofd
GPG Key ID: ADF2E9256009EDCE
2 changed files with 4 additions and 4 deletions

View File

@ -3,4 +3,5 @@
namespace Porygon::UserData {
UserDataStorage::_internalDataStorage UserDataStorage::_internal = UserDataStorage::_internalDataStorage();
std::mutex UserDataStorage::_internalDataStorage::_userDataMutex = std::mutex();
}

View File

@ -11,10 +11,9 @@ namespace Porygon::UserData {
class _internalDataStorage {
public:
std::unordered_map<uint32_t, UserData*> _userData;
std::mutex _userDataMutex;
static std::mutex _userDataMutex;
~_internalDataStorage(){
std::lock_guard<std::mutex> guard(_userDataMutex);
for (auto u: _userData){
delete u.second;
}
@ -26,12 +25,12 @@ namespace Porygon::UserData {
public:
static void RegisterType(uint32_t i, UserData *ud) {
std::lock_guard<std::mutex> guard(_internal._userDataMutex);
std::lock_guard<std::mutex> guard(_internalDataStorage::_userDataMutex);
UserDataStorage::_internal._userData.insert({i, ud});
}
static void ClearTypes(){
std::lock_guard<std::mutex> guard(_internal._userDataMutex);
std::lock_guard<std::mutex> guard(_internalDataStorage::_userDataMutex);
for (auto u: _internal._userData){
delete u.second;
}