mirror of
https://github.com/glest/glest-source.git
synced 2025-08-16 21:33:59 +02:00
- changes to threaded logging so when things get very busy the thread dumps log entries more quickly
This commit is contained in:
@@ -101,6 +101,7 @@ protected:
|
|||||||
time_t lastSaveToDisk;
|
time_t lastSaveToDisk;
|
||||||
|
|
||||||
void saveToDisk();
|
void saveToDisk();
|
||||||
|
bool checkSaveCurrentLogBufferToDisk();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
LogFileThread();
|
LogFileThread();
|
||||||
|
@@ -205,6 +205,16 @@ void LogFileThread::addLogEntry(SystemFlags::DebugType type, string logEntry) {
|
|||||||
logList.push_back(entry);
|
logList.push_back(entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool LogFileThread::checkSaveCurrentLogBufferToDisk() {
|
||||||
|
bool ret = false;
|
||||||
|
if(difftime(time(NULL),lastSaveToDisk) >= 5 ||
|
||||||
|
LogFileThread::getLogEntryBufferCount() >= 35000) {
|
||||||
|
lastSaveToDisk = time(NULL);
|
||||||
|
ret = true;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
void LogFileThread::execute() {
|
void LogFileThread::execute() {
|
||||||
RunningStatusSafeWrapper runningStatus(this);
|
RunningStatusSafeWrapper runningStatus(this);
|
||||||
SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
@@ -217,8 +227,7 @@ void LogFileThread::execute() {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
for(;this->getQuitStatus() == false;) {
|
for(;this->getQuitStatus() == false;) {
|
||||||
if(difftime(time(NULL),lastSaveToDisk) >= 5) {
|
if(checkSaveCurrentLogBufferToDisk() == true) {
|
||||||
lastSaveToDisk = time(NULL);
|
|
||||||
saveToDisk();
|
saveToDisk();
|
||||||
}
|
}
|
||||||
if(this->getQuitStatus() == false) {
|
if(this->getQuitStatus() == false) {
|
||||||
|
Reference in New Issue
Block a user