From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: "Yuri N. Sedunov" To: ALT Linux Team development discussions In-Reply-To: <20080908142317.GB14300@wo.int.altlinux.org> References: <20080908095106.GS6477@altlinux.org> <20080908134958.GA18364@wo.int.altlinux.org> <1220883483.8166.21.camel@arisbook.local.home.home> <20080908142317.GB14300@wo.int.altlinux.org> Content-Type: text/plain; charset=utf-8 Date: Mon, 08 Sep 2008 18:42:10 +0400 Message-Id: <1220884930.8166.29.camel@arisbook.local.home.home> Mime-Version: 1.0 X-Mailer: Evolution 2.22.3 (2.22.3-alt1) Content-Transfer-Encoding: 8bit Subject: Re: [devel] libgtk+2 X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.10b3 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Sep 2008 14:42:11 -0000 Archived-At: List-Archive: List-Post: В Пнд, 08/09/2008 в 18:23 +0400, Dmitry V. Levin пишет: > On Mon, Sep 08, 2008 at 06:18:03PM +0400, Yuri N. Sedunov wrote: > > В Пнд, 08/09/2008 в 17:49 +0400, Dmitry V. Levin пишет: > > > On Mon, Sep 08, 2008 at 01:51:06PM +0400, Alexey Tourbin wrote: > > > > Юрий Седунов просил меня реализовать posttrans filetriggers, > > > > чтобы решить проблему c gtk icon cache в branch-4.1 (для предостящего > > > > релиза дистрибутива). > > > > > > > > Проблема это такая: библиотека libgtk+2 может использовать кеш > > > > иконок /usr/share/icons/hicolor/icon-theme.cache, чтобы ускорить > > > > загрузку иконок. По умолчанию этот кеш отсутствует; но если он создан, > > > > то libgtk+2 не находит иконки, отсутствующие в кеше (но существующие в > > > > файловой системе). > > > > > > Такое поведение libgtk+2 считаю глубоко порочным. Представьте себе, что > > > ld-linux.so при наличии файла /etc/ld.so.cache будет игнорировать те > > > библиотеки в %_lib и %_libdir, которых в /etc/ld.so.cache нет. > > > > > > Лучше исправить libgtk+2, чем городить объезды вокруг. > > > > Нет, -- механизм работает и отказываться от него не надо. > > Механизм работает, но при этом содержит серьёзный архитектурный изъян, > из-за которого возникают проблемы. Проблемы возникают, если иконок нет в caсhe. Если gtk будет искать отсутствующие в caсhe, получаются те же "a lot of system call and disk seek overhead". Мне представляется поведение gtk логичным. > > > "GTK+ can use the cache files created by gtk-update-icon-cache to avoid > > a lot of system call and disk seek overhead when the application starts. > > Since the format of the cache files allows them to be mmap()ed shared > > between multiple applications, the overall memory consumption is reduced > > as well." > > Из утверждения о том, что cache ускоряет работу, не следует, что cache > априори содержит более достоверную информацию, чем файлы, из которых он > построен. Всякий cache нужно правильно invalidate'ить. Как нужно правильно invalidate'ить /usr/share/icons/hicolor/icon-theme.cache?