Index: src/common/TLogSink.cpp =================================================================== diff -u -N -r62d767936f1675e1db51174f53c91484fe691937 -rb8b97b70743c49fcc2aee0db4cb7118db5e26dab --- src/common/TLogSink.cpp (.../TLogSink.cpp) (revision 62d767936f1675e1db51174f53c91484fe691937) +++ src/common/TLogSink.cpp (.../TLogSink.cpp) (revision b8b97b70743c49fcc2aee0db4cb7118db5e26dab) @@ -32,10 +32,16 @@ if (m_handleFile != INVALID_HANDLE_VALUE) return m_handleFile; - m_handleFile = CreateFile(m_pathLog.ToString(), GENERIC_WRITE, FILE_SHARE_WRITE, nullptr, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr); + m_handleFile = CreateFile(m_pathLog.ToString(), GENERIC_WRITE, FILE_SHARE_READ, nullptr, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr); if (m_handleFile == INVALID_HANDLE_VALUE) throw TFileException(eErr_CannotOpenFile, GetLastError(), m_pathLog, L"Cannot open log file", LOCATION); + LARGE_INTEGER liSeek = { 0 }; + + BOOL bRes = SetFilePointerEx(m_handleFile, liSeek, nullptr, SEEK_END); + if (!bRes) + throw TFileException(eErr_CannotOpenFile, GetLastError(), m_pathLog, L"Cannot seek to the end of log file", LOCATION); + return m_handleFile; }