- attempt to bugfix threaded logger

This commit is contained in:
Mark Vejvoda
2010-12-26 01:45:39 +00:00
parent e4e7a456f5
commit 40796f2d90

View File

@@ -275,20 +275,20 @@ void LogFileThread::saveToDisk(bool forceSaveAll,bool logListAlreadyLocked) {
std::size_t logCount = logList.size(); std::size_t logCount = logList.size();
if(logCount > 0) { if(logCount > 0) {
vector<LogFileEntry> tempLogList = logList; //vector<LogFileEntry> tempLogList = logList;
safeMutex.ReleaseLock(true); //safeMutex.ReleaseLock(true);
logCount = tempLogList.size(); //logCount = tempLogList.size();
if(forceSaveAll == false) { if(forceSaveAll == false) {
logCount = min(logCount,(std::size_t)250000); logCount = min(logCount,(std::size_t)250000);
} }
for(int i = 0; i < logCount; ++i) { for(int i = 0; i < logCount; ++i) {
LogFileEntry &entry = tempLogList[i]; LogFileEntry &entry = logList[i];
SystemFlags::logDebugEntry(entry.type, entry.entry, entry.entryDateTime); SystemFlags::logDebugEntry(entry.type, entry.entry, entry.entryDateTime);
} }
safeMutex.Lock(); //safeMutex.Lock();
logList.erase(logList.begin(),logList.begin() + logCount); logList.erase(logList.begin(),logList.begin() + logCount);
safeMutex.ReleaseLock(); safeMutex.ReleaseLock();
} }