История изменений
Исправление hateyoufeel, (текущая версия) :
Но тогда есть вероятность что много медленных клиентов заблокируют все треды в пуле. Собственно, по этому так и реализовано как описано выше.
я намекал на асинхронную обработку, есличо.
Но сейчас хочется решить вопрос с обычным логированием в файл и переоткрытие его по сигналу.
Вынеси запись логов в отдельный тред через схему с pipe, которую я выше описал. В треде открой signalfd (не забудь заблокировать этот сигнал в остальных тредах) и сделай kqueue на эти два файловых дескриптора. Если пришло что-то в pipe, пишешь это в файл. Если пришёл сигнал, делаешь ротацию.
Исходная версия hateyoufeel, :
Но сейчас хочется решить вопрос с обычным логированием в файл и переоткрытие его по сигналу.
Вынеси запись логов в отдельный тред через схему с pipe, которую я выше описал. В треде открой signalfd (не забудь заблокировать этот сигнал в остальных тредах) и сделай kqueue на эти два файловых дескриптора. Если пришло что-то в pipe, пишешь это в файл. Если пришёл сигнал, делаешь ротацию.