Ситуация такая: в приложении необходимо вести журнал протоколов (логи).
Но беда в том, что одновременно может быть запущено несколько экземпляров приложения.
Протоколирование ведётся с использованием класса CFile.
Каждый процесс сначала открывает файл c флажками CFile::modeNoTruncate | CFile::modeReadWrite | CFile::shareDenyNone.
При записи происходит переход в конец файла с помощью функции SeekToEnd() и потом уже осуществляется запись.
Синхронизацию сделал на основе именованного мьютекса. Никто записывать одновременно не может.
Проблема заключается в том, что после того, как в файл что-нибудь записал первый процесс, а потом второй,
то при записи в файл опять первым процессом затирается то, что записал второй, т.е. SeekToEnd() как-бы не срабатывает.
Вызов функции Flush() после записи не помогает.
Подскажите пожалуйста, если кто знает как это исправить.