История изменений
Исправление hateyoufeel, (текущая версия) :
>if(newlog) {
> fd = open_newlog();
> if(fd<0) dprintf(log_fd, "can't reopen log!\n");
> else {
> if(dup2(fd, log_fd)<0) dprintf(log_fd, "can't reopen log!\n");
> close(fd);
> }
> newlog = 0;
> }
Дядя, ты сигнал просираешь вот здесь. Если у тебя SIGUSR1 придёт дважды с небольшим интервалом, это выполнится только один раз.
Конечно, в данном случае не критично, но блин, детская ошибка же.
Алсо, у тебя теперь при каждой записи в лог будет дёргаться мютекс, что весьма небыстро и не слишком приятно.
Исправление hateyoufeel, :
>if(newlog) {
> fd = open_newlog();
> if(fd<0) dprintf(log_fd, "can't reopen log!\n");
> else {
> if(dup2(fd, log_fd)<0) dprintf(log_fd, "can't reopen log!\n");
> close(fd);
> }
> newlog = 0;
> }
Дядя, ты сигнал просираешь вот здесь. Если у тебя SIGUSR1 придёт дважды с небольшим интервалом, это выполнится только один раз.
Конечно, в данном случае не критично, но блин, детская ошибка же.
Исходная версия hateyoufeel, :
if(newlog) { fd = open_newlog(); if(fd<0) dprintf(log_fd, «can’t reopen log!\n»); else { if(dup2(fd, log_fd)<0) dprintf(log_fd, «can’t reopen log!\n»); close(fd); } newlog = 0; }
Дядя, ты сигнал просираешь вот здесь. Если у тебя SIGUSR1 придёт дважды с небольшим интервалом, это выполнится только один раз.
Конечно, в данном случае не критично, но блин, детская ошибка же.