summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <bjorn@lindeijer.nl>2024-10-04 17:23:48 +0200
committerThorbjørn Lindeijer <bjorn@lindeijer.nl>2024-10-18 08:21:32 +0000
commitf52629f339c3f50fd4e42842026cfe28e2c55e2e (patch)
tree4aae5b9c25aa3cdde397b15e99cd3b49467dca83
parente875242f380662573880e7400fe3e736a2d3375a (diff)
downloadmana-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.cpp14
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())