> Любой логгер, например. Постоянно дергать сисколы при каждой записи логов — оверхед
> большой.а-а-а-а! то есть, логгер время события определяет по рисункам на потолке? обалдеть! надеюсь, это твои фантазии, и таких логеров в природе нет.
кстати. простая запись логов тоже «дёргает сисколы». и не один. а ещё в пингвинусе придумали VDSO, например. благодаря которому gettimeofday() становится намного менее болезненным.
> А вот если логгер уведомят что «чувак, время уехало!»
что тоже произойдёт далеко не сразу. опа.
>> но при этом в памяти висит демон,
> IIRC не висит а активируется через сокет-активацию только когда оно реально надо.
> И потом опять отваливает в туман.
а про изменение времени он узнаёт из астрала, пока спит. круто, я тоже хочу так уметь.
> Кинет анонс по шине — мол, «дефолтная системная таймзона съехала». Дальше уже
> программы сами должны разруливать это. А вот самолично в своей программе
> ловить отъезд таймзоны — вот это да, знатное западло и всем
> лень, верно подмечено.
ты так и не понял, что для каждой программы может быть указана своя личная TZ. просто изменением envvar. это раз.
два: как он узнает, что «съехала» даже системная? он же у тебя спит постоянно.
три: это происходит не мгновенно, что делать с ситуацией, когда программа успела сказать gettimeofday() до того, как уведомление пришло? рыдать горючими слезами? на выбор тебе несколько костылей:
1) уведомлять чуть заранее (ой, круто; «опять проверять надо» (ц) Кин-Дза-Дза);
2) перед каждым gettimeofday() спрашивать у демона, не поехало ли что-то (кто там про накладность сисколов вещал? а тут ещё круче);
3) забить на идиота-демона и реализовать логику самому.
>> тупое, лобовое, бесполезное.
> Сразу видно человека который не пытался писать что либо ведущее логгинг и
> чтобы в логах еще и бреда не было.
сразу видно человека, который вообще не пытался писать что-либо серьёзное по теме, зато имеет кучу теоретических рассуждений.
ещё раз: этот демон *относительно* полезен в случае, когда «справа внизу» тикают часики. тогда эти часики узнают о смене часового пояса не в следующую минуту (положим, секунды они не отображают и проверяют время раз в минуту), а почти сразу. всем пофигу.
хинт тебе: если в логах важна не только последовательность событий, а и время, когда они произошли — внизапна! там используют monotonic clock, с отсчётом времени от начала ведения лога (от запуска софтины). и опционально рядом пишут дату-время.
теоретики, блин.