[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Виртуализация



On Sun, Mar 31, 2013 at 02:31:28PM +0400, "Артём Н." wrote:
> 29.03.2013 00:48, Eugene Berdnikov пишет:
> >  Что предлагают авторы в качестве лечения -- кому смешно, а кому грустно...
> >  Они героически придумывают как уменьшить вероятность дедлока, вместо того,
> >  чтобы устранить его вообще.
> Но... У них же есть "The right solution". :-)

 У них оно right потому что единственное, т.е. ничего слаще редьки не знают...

> Только, "Unfortunately, the list of asynchronous-signal-safe functions does not
> include many popular functions, even printf() is not safe. Obviously,
> localtime() is not in the list either."
> 
> > Похоже, их не посетила мысль, что в обработчике
> >  недопустимо что-либо логгировать и приступать к сворачиванию работы -- ведь
> >  какая-то операция была прервана, сперва нужно её завершить. Иначе нет
> >  гарантии, что не будут повреждены какие-то недописанные данные. Попытка
> >  позвать логгер из обработчика может разнести всё к чёртовой матери, а может
> >  вызвать повисание... например, из-за неявного вызова того же localtime().
> Но они пишут про то, что обработчик большой и переписывать долго...
> К тому же, что делать, если *надо* логгировать?

 Нужно учить матчасть, натурально. В интернете, уверен, есть полно ресурсов,
 где написано как правильно работать с сигналами. На русском языке в группе
 фидо ru.unix.prog регулярно постилось мини-хауту (не знаю, как там сейчас).
 Можно правильно логгировать даже из-под обработчика, хотя это требует
 некоторых нетривиальных приёмов, но их можно выучить. Но это всё весьма
 далеко от тематики debian-russian, поэтому развивать тему не буду...

 Что касается пользователей zabbix, видимо, им нужно возводить "стройные
 системы костылей и подпорок" по мере роста масштабов сервиса. :) Ничего,
 сисадминам приходится так поступать с практически любым продуктом, как
 свободным, так и коммерческим.
-- 
 Eugene Berdnikov


Reply to: