mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 17:27:36 +01:00
Merge pull request #10800 from jackpoz/log_race_condition
Core/Logs: Fix race condition in Log
This commit is contained in:
@@ -40,7 +40,7 @@ AppenderFile::~AppenderFile()
|
||||
|
||||
void AppenderFile::_write(LogMessage const& message)
|
||||
{
|
||||
bool exceedMaxSize = maxFileSize > 0 && (fileSize + message.Size()) > maxFileSize;
|
||||
bool exceedMaxSize = maxFileSize > 0 && (fileSize.value() + message.Size()) > maxFileSize;
|
||||
|
||||
if (dynamicName)
|
||||
{
|
||||
@@ -56,7 +56,7 @@ void AppenderFile::_write(LogMessage const& message)
|
||||
|
||||
fprintf(logfile, "%s%s", message.prefix.c_str(), message.text.c_str());
|
||||
fflush(logfile);
|
||||
fileSize += message.Size();
|
||||
fileSize += uint64(message.Size());
|
||||
|
||||
if (dynamicName)
|
||||
CloseFile();
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#define APPENDERFILE_H
|
||||
|
||||
#include "Appender.h"
|
||||
#include "ace/Atomic_Op.h"
|
||||
|
||||
class AppenderFile: public Appender
|
||||
{
|
||||
@@ -37,7 +38,7 @@ class AppenderFile: public Appender
|
||||
bool dynamicName;
|
||||
bool backup;
|
||||
uint64 maxFileSize;
|
||||
uint64 fileSize;
|
||||
ACE_Atomic_Op<ACE_Thread_Mutex, uint64> fileSize;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user