diff options
author | Thorbjørn Lindeijer <bjorn@lindeijer.nl> | 2024-10-04 17:23:48 +0200 |
---|---|---|
committer | Thorbjørn Lindeijer <bjorn@lindeijer.nl> | 2024-10-18 08:21:32 +0000 |
commit | f52629f339c3f50fd4e42842026cfe28e2c55e2e (patch) | |
tree | 4aae5b9c25aa3cdde397b15e99cd3b49467dca83 | |
parent | e875242f380662573880e7400fe3e736a2d3375a (diff) | |
download | mana-f52629f339c3f50fd4e42842026cfe28e2c55e2e.tar.gz mana-f52629f339c3f50fd4e42842026cfe28e2c55e2e.tar.bz2 mana-f52629f339c3f50fd4e42842026cfe28e2c55e2e.tar.xz mana-f52629f339c3f50fd4e42842026cfe28e2c55e2e.zip |
Some code cleanups in ResourceManager
* Use 'time' instead of 'gettimeofday', since we only use the timestamp
anyway.
* Use the iterator returned by std::map::erase.
-rw-r--r-- | src/resources/resourcemanager.cpp | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/resources/resourcemanager.cpp b/src/resources/resourcemanager.cpp index e6600236..ff83f422 100644 --- a/src/resources/resourcemanager.cpp +++ b/src/resources/resourcemanager.cpp @@ -115,10 +115,8 @@ void ResourceManager::cleanUp(Resource *res) void ResourceManager::cleanOrphans() { - timeval tv; - gettimeofday(&tv, nullptr); // Delete orphaned resources after 30 seconds. - time_t oldest = tv.tv_sec; + time_t oldest = time(nullptr); time_t threshold = oldest - 30; if (mOrphanedResources.empty() || mOldestOrphan >= threshold) @@ -128,7 +126,7 @@ void ResourceManager::cleanOrphans() while (iter != mOrphanedResources.end()) { Resource *res = iter->second; - time_t t = res->mTimeStamp; + const time_t t = res->mTimeStamp; if (t >= threshold) { if (t < oldest) @@ -138,9 +136,7 @@ void ResourceManager::cleanOrphans() else { logger->log("ResourceManager::release(%s)", res->mIdPath.c_str()); - auto toErase = iter; - ++iter; - mOrphanedResources.erase(toErase); + iter = mOrphanedResources.erase(iter); delete res; // delete only after removal from list, to avoid issues in recursion } } @@ -349,9 +345,7 @@ void ResourceManager::release(Resource *res) // The resource has to exist assert(resIter != mResources.end() && resIter->second == res); - timeval tv; - gettimeofday(&tv, nullptr); - time_t timestamp = tv.tv_sec; + const time_t timestamp = time(nullptr); res->mTimeStamp = timestamp; if (mOrphanedResources.empty()) |