clear Realm cache between tests

This commit is contained in:
Ari Lazier 2015-08-12 12:02:56 -07:00
parent cb8364c255
commit b0843356dc
2 changed files with 9 additions and 1 deletions

View File

@ -395,3 +395,10 @@ void RealmCache::cache_realm(SharedRealm &realm, std::thread::id thread_id)
} }
} }
void RealmCache::clear()
{
std::lock_guard<std::mutex> lock(m_mutex);
m_cache.clear();
}

View File

@ -117,13 +117,13 @@ namespace realm {
Group *m_group; Group *m_group;
static std::mutex s_init_mutex; static std::mutex s_init_mutex;
static RealmCache s_global_cache;
public: public:
ExternalNotificationFunction m_external_notifier; ExternalNotificationFunction m_external_notifier;
// FIXME private // FIXME private
Group *read_group(); Group *read_group();
static RealmCache s_global_cache;
}; };
class RealmCache class RealmCache
@ -133,6 +133,7 @@ namespace realm {
SharedRealm get_any_realm(const std::string &path); SharedRealm get_any_realm(const std::string &path);
void remove(const std::string &path, std::thread::id thread_id); void remove(const std::string &path, std::thread::id thread_id);
void cache_realm(SharedRealm &realm, std::thread::id thread_id = std::this_thread::get_id()); void cache_realm(SharedRealm &realm, std::thread::id thread_id = std::this_thread::get_id());
void clear();
private: private:
std::map<std::string, std::map<std::thread::id, WeakRealm>> m_cache; std::map<std::string, std::map<std::thread::id, WeakRealm>> m_cache;