mirror of
https://bitbucket.org/theswgsource/src-1.2.git
synced 2026-07-30 00:15:47 -04:00
tidies some things up and removes SOE memory manager overriding
This commit is contained in:
@@ -197,7 +197,6 @@ void DatabaseProcess::run(void)
|
||||
static bool shouldSleep = ConfigServerDatabase::getShouldSleep();
|
||||
bool idle=false;
|
||||
int loopcount=0;
|
||||
float nextMemoryReportTime=0;
|
||||
float nextQueryCountTime=0;
|
||||
|
||||
LOG("ServerStartup",("DatabaseServer starting"));
|
||||
@@ -240,16 +239,6 @@ void DatabaseProcess::run(void)
|
||||
PROFILER_AUTO_BLOCK_DEFINE("NetworkHandler::update");
|
||||
NetworkHandler::update();
|
||||
}
|
||||
nextMemoryReportTime-=updateTime;
|
||||
if (nextMemoryReportTime < 0)
|
||||
{
|
||||
#ifndef _WIN32
|
||||
LOG("DatabaseMemory",("Bytes used: %lu (VmSize %dK) Open allocations: %d Total Allocations %d",MemoryManager::getCurrentNumberOfBytesAllocated(static_cast<int>(Os::getProcessId())),MemoryManager::getProcessVmSizeKBytes(static_cast<int>(Os::getProcessId())),MemoryManager::getCurrentNumberOfAllocations(),MemoryManagerNamespace::ms_allocateCalls));
|
||||
#else
|
||||
LOG("DatabaseMemory",("Bytes used: %lu Open allocations: %d Total Allocations %d",MemoryManager::getCurrentNumberOfBytesAllocated(static_cast<int>(Os::getProcessId())),MemoryManager::getCurrentNumberOfAllocations(),MemoryManagerNamespace::ms_allocateCalls));
|
||||
#endif
|
||||
nextMemoryReportTime=10;
|
||||
}
|
||||
|
||||
nextQueryCountTime-=updateTime;
|
||||
if (nextQueryCountTime < 0)
|
||||
|
||||
@@ -336,10 +336,10 @@ void Persister::startSave(void)
|
||||
taskQueue->asyncRequest(new TaskSaveSnapshot(i->second));
|
||||
}
|
||||
for (i=m_newObjectSnapshots.begin(); i!=m_newObjectSnapshots.end(); ++i)
|
||||
{
|
||||
m_savingSnapshots.push_back(i->second);
|
||||
taskQueue->asyncRequest(new TaskSaveSnapshot(i->second));
|
||||
}
|
||||
{
|
||||
m_savingSnapshots.push_back(i->second);
|
||||
taskQueue->asyncRequest(new TaskSaveSnapshot(i->second));
|
||||
}
|
||||
|
||||
// nothing changed so send a complete message for the shutdown process
|
||||
if( m_savingSnapshots.empty() )
|
||||
@@ -603,7 +603,6 @@ void Persister::saveCompleted(Snapshot *completedSnapshot)
|
||||
if (i!=m_savingSnapshots.end())
|
||||
{
|
||||
m_savingSnapshots.erase(i, m_savingSnapshots.end());
|
||||
|
||||
if (m_savingSnapshots.empty() && ConfigServerDatabase::getReportSaveTimes())
|
||||
{
|
||||
int saveTime = Clock::timeMs() - m_saveStartTime;
|
||||
@@ -635,16 +634,9 @@ void Persister::saveCompleted(Snapshot *completedSnapshot)
|
||||
{
|
||||
SnapshotListType::iterator j=std::remove(m_savingCharacterSnapshots.begin(),m_savingCharacterSnapshots.end(),completedSnapshot);
|
||||
DEBUG_FATAL(i==m_savingCharacterSnapshots.end(),("Programmer bug: SaveCompleted() called with a snapshot that wasn't in m_savingSnapshots or m_savingCharacterSnapshots."));
|
||||
m_savingCharacterSnapshots.erase(j, m_savingCharacterSnapshots.end());
|
||||
m_savingCharacterSnapshots.erase(j, m_savingCharacterSnapshots.end());
|
||||
DEBUG_REPORT_LOG(ConfigServerDatabase::getReportSaveTimes(),("New character save completed\n"));
|
||||
}
|
||||
|
||||
if (completedSnapshot) {
|
||||
delete completedSnapshot;
|
||||
completedSnapshot = nullptr; // in case of double deletes by any other pointers to this thing
|
||||
} else {
|
||||
DEBUG_WARNING(true, ("We just attempted a double delete!"));
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
@@ -42,14 +42,16 @@ Snapshot::~Snapshot()
|
||||
for (LocatorListType::iterator i=m_locatorList.begin(); i!=m_locatorList.end(); ++i)
|
||||
{
|
||||
delete *i;
|
||||
*i=0;
|
||||
i = m_locatorList.erase(i);
|
||||
}
|
||||
|
||||
for (CustomStepListType::iterator j=m_customStepList.begin(); j!=m_customStepList.end(); ++j)
|
||||
for (CustomStepListType::iterator j=m_customStepList.begin(); j!=m_customStepList.end(); ++j) {
|
||||
delete *j;
|
||||
j = m_customStepList.erase(j);
|
||||
}
|
||||
|
||||
++ms_deletionCount;
|
||||
LOG("Snapshot",("Deleted snapshot. %i outstanding, %i created, %i deleted", ms_creationCount-ms_deletionCount,ms_creationCount,ms_deletionCount));
|
||||
LOG("Snapshot",("Deleted snapshot. %i outstanding, %i created, %i deleted", ms_creationCount-ms_deletionCount,ms_creationCount,ms_deletionCount));
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
@@ -79,8 +79,8 @@ public:
|
||||
virtual void startLoadAfterSaveComplete() =0;
|
||||
|
||||
protected:
|
||||
typedef std::vector<AbstractTableBuffer*> BufferListType;
|
||||
typedef std::vector<ObjectLocator*> LocatorListType;
|
||||
typedef std::vector<AbstractTableBuffer *> BufferListType;
|
||||
typedef std::vector<ObjectLocator *> LocatorListType;
|
||||
typedef std::vector<CustomPersistStep*> CustomStepListType;
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,8 +14,7 @@
|
||||
|
||||
// ======================================================================
|
||||
|
||||
TaskSaveSnapshot::TaskSaveSnapshot(Snapshot *snapshot) :
|
||||
m_snapshot(snapshot)
|
||||
TaskSaveSnapshot::TaskSaveSnapshot(Snapshot *snapshot) : m_snapshot(snapshot)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -32,6 +31,8 @@ void TaskSaveSnapshot::onComplete()
|
||||
{
|
||||
m_snapshot->saveCompleted();
|
||||
Persister::getInstance().saveCompleted(m_snapshot);
|
||||
delete m_snapshot;
|
||||
m_snapshot = nullptr;
|
||||
}
|
||||
|
||||
// ======================================================================
|
||||
|
||||
@@ -22,7 +22,7 @@ class TaskSaveSnapshot : public DB::TaskRequest
|
||||
TaskSaveSnapshot(Snapshot *snapshot);
|
||||
bool process(DB::Session *session);
|
||||
void onComplete();
|
||||
|
||||
|
||||
private:
|
||||
Snapshot *m_snapshot;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user