Fixed simultaneous access to the card DB.

This commit is contained in:
Xawotihs@gmail.com
2013-01-02 16:15:52 +00:00
parent a3017c215f
commit 1049f90aa2

View File

@@ -134,31 +134,40 @@ public:
static int findType(string subtype, bool forceAdd = true) { static int findType(string subtype, bool forceAdd = true) {
boost::mutex::scoped_lock lock(instance->mMutex); boost::mutex::scoped_lock lock(instance->mMutex);
return instance->subtypesList.find(subtype, forceAdd); int result = instance->subtypesList.find(subtype, forceAdd);
return result;
}; };
static int add(string value, unsigned int parentType) { static int add(string value, unsigned int parentType) {
boost::mutex::scoped_lock lock(instance->mMutex); boost::mutex::scoped_lock lock(instance->mMutex);
return instance->subtypesList.add(value, parentType); int result = instance->subtypesList.add(value, parentType);
return result;
}; };
static string findType(unsigned int id) { static string findType(unsigned int id) {
boost::mutex::scoped_lock lock(instance->mMutex);
return instance->subtypesList.find(id); return instance->subtypesList.find(id);
}; };
static const vector<string>& getValuesById() { static const vector<string>& getValuesById() {
boost::mutex::scoped_lock lock(instance->mMutex);
return instance->subtypesList.getValuesById(); return instance->subtypesList.getValuesById();
}; };
static const vector<string>& getCreatureValuesById() { static const vector<string>& getCreatureValuesById() {
boost::mutex::scoped_lock lock(instance->mMutex);
return instance->subtypesList.getCreatureValuesById(); return instance->subtypesList.getCreatureValuesById();
}; };
static bool isSubtypeOfType(unsigned int subtype, unsigned int type) { static bool isSubtypeOfType(unsigned int subtype, unsigned int type) {
boost::mutex::scoped_lock lock(instance->mMutex);
return instance->subtypesList.isSubtypeOfType(subtype, type); return instance->subtypesList.isSubtypeOfType(subtype, type);
}; };
static bool isSuperType(unsigned int type) { static bool isSuperType(unsigned int type) {
boost::mutex::scoped_lock lock(instance->mMutex);
return instance->subtypesList.isSuperType(type); return instance->subtypesList.isSuperType(type);
}; };
static bool isType(unsigned int type) { static bool isType(unsigned int type) {
boost::mutex::scoped_lock lock(instance->mMutex);
return instance->subtypesList.isType(type); return instance->subtypesList.isType(type);
}; };
static bool isSubType(unsigned int type) { static bool isSubType(unsigned int type) {
boost::mutex::scoped_lock lock(instance->mMutex);
return instance->subtypesList.isSubType(type); return instance->subtypesList.isSubType(type);
}; };