LINUX.ORG.RU

История изменений

Исправление 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 придёт дважды с небольшим интервалом, это выполнится только один раз.

Конечно, в данном случае не критично, но блин, детская ошибка же.