Вращающиеся журналы без перезапуска, проблема с несколькими процессамиC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Вращающиеся журналы без перезапуска, проблема с несколькими процессами

Сообщение Anonymous »

Вот сделка:
У меня есть система нескольких процессов (модель предварительной борьбы, похожая на Apache). All processes are writing to the same log file (in fact a binary log file recording requests and responses, but no matter).
I protect against concurrent access to the log via a shared memory lock, and when the file reaches a certain size the process that notices it first roll the logs by:

[*]Closing the file.
Renaming log.bin -> log.bin.1, log.bin.1 -> log.bin.2 и т. Д. (скажем, log.bin.10) < /li>
Открытие нового файла log.bin < /li>
< /ol>
Проблема в том, что другие процессы не знают и фактически продолжают писать в старый файл журнала (который был переименован в log.bin.1). /> Какой -то RPC, чтобы уведомить другие процессы, чтобы открыть журнал (возможно, даже один). Мне не особенно нравится. Рекомендации?

Подробнее здесь: https://stackoverflow.com/questions/330 ... ss-problem
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»