[devel] NSS modules

Evgeny Sinelnikov =?iso-8859-1?q?sin_=CE=C1_altlinux=2Eru?=
Пн Ноя 17 00:41:03 MSK 2008


16 ноября 2008 г. 23:39 пользователь Dmitry V. Levin <ldv at altlinux.org> написал:
> On Sun, Nov 16, 2008 at 11:15:33PM +0300, Alexey Tourbin wrote:
>> On Sun, Nov 16, 2008 at 10:58:28PM +0300, Dmitry V. Levin wrote:
>> > On Sun, Nov 16, 2008 at 10:53:20PM +0300, Dmitriy M. Maslennikov wrote:
>> > > 16 ноября 2008 г. 22:46 пользователь Alexey Tourbin <at at altlinux.ru> написал:
>> > > > dlopen(3) должен по умолчанию откупоривать nss модули в режиме RTLD_LOCAL.
>> > > > То есть по крайней мере загружаемый модуль никак не может повлиять на работу
>> > > > приложения в смысле совместимости разных библиотек (тогда как библиотеки,
>> > > > уже загруженные в приложение, вероятно, могут повлиять на работу модуля).
>> > > На практике мы замечали деструктивную работу pthread, неожиданно
>> > > появляющегося в приложении.
>> > Это общеизвестно.
>>
>> Желаю ознакомиться.
>
> У libpthread очень нетривиальный конструктор, который меняет поведение
> многих glibc'шных интерфейсов, с непредсказуемыми последствиями.
> По этой причине всё, что использует libpthread, как правило, должно быть
> слинковано с libpthread.
> Ссылки на Drepper'а под рукой нет, но факт есть факт.
>

Drepper'а почитаю (у него, кстати, оказывается уже полгода как,
появилась интересная статья про использование futex'ов):
http://people.redhat.com/~drepper/

Кстати, очень немаловажный вопрос, связанный с pthreads, имеет место в
потокобезопасной реализации nss-модулей. Я так понял, что в новых
версиях libnss_winbind таки использует pthreads и наконец-то
потокобезопасен. Я проверил, у меня тоже он используется... Даже
странно ;)

Я так понимаю, что в новом glibc наконец-то стала работать прозрачная
линковка с pthreads через #pragma weak...
Так что с pthreads, вроде бы, тоже уже проблем нет :)

Я вот всё пока обдумываю, может и с libstdc++ проблема тоже надуманная? :)

-- 
Sin (Sinelnikov Evgeny)


Подробная информация о списке рассылки Devel