fix #920
This commit is contained in:
parent
d99f0cd045
commit
e1d0c8aa79
|
@ -29,13 +29,14 @@ int logLevel=LOGLEVEL_INFO;
|
||||||
|
|
||||||
FILE* logFile;
|
FILE* logFile;
|
||||||
char* logFileBuf;
|
char* logFileBuf;
|
||||||
|
char* logFileWriteBuf;
|
||||||
unsigned int logFilePosI;
|
unsigned int logFilePosI;
|
||||||
unsigned int logFilePosO;
|
unsigned int logFilePosO;
|
||||||
std::thread* logFileThread;
|
std::thread* logFileThread;
|
||||||
std::mutex logFileLock;
|
std::mutex logFileLock;
|
||||||
std::mutex logFileLockI;
|
std::mutex logFileLockI;
|
||||||
std::condition_variable logFileNotify;
|
std::condition_variable logFileNotify;
|
||||||
bool logFileAvail=false;
|
std::atomic<bool> logFileAvail(false);
|
||||||
|
|
||||||
std::atomic<unsigned short> logPosition;
|
std::atomic<unsigned short> logPosition;
|
||||||
|
|
||||||
|
@ -157,8 +158,8 @@ void _logFileThread() {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// wait
|
// wait
|
||||||
if (!logFileAvail) break;
|
|
||||||
fflush(logFile);
|
fflush(logFile);
|
||||||
|
if (!logFileAvail) break;
|
||||||
logFileNotify.wait(lock);
|
logFileNotify.wait(lock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -177,6 +178,7 @@ bool startLogFile(const char* path) {
|
||||||
}
|
}
|
||||||
|
|
||||||
logFileBuf=new char[TA_LOGFILE_BUF_SIZE];
|
logFileBuf=new char[TA_LOGFILE_BUF_SIZE];
|
||||||
|
logFileWriteBuf=new char[TA_LOGFILE_BUF_SIZE];
|
||||||
logFilePosI=0;
|
logFilePosI=0;
|
||||||
logFilePosO=0;
|
logFilePosO=0;
|
||||||
logFileAvail=true;
|
logFileAvail=true;
|
||||||
|
|
Loading…
Reference in New Issue