[sisyphus] Re: Fwd: non-threaded perl (was: Зависимости пакетов и apt-get)

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Сб Июн 4 05:02:41 MSD 2005


On Fri, Jun 03, 2005 at 11:09:00AM +0400, JoyLink wrote:
> > Интересно также узнать, в каких случаях может потребоваться именно
> > non-threaded perl.
> 
> Я достаточно давно использую это ПО http://www.icdevgroup.org для организации
> интернет-магазина (<snipped by at на altlinux>). Оно требует именно non-threaded perl
> (http://www.icdevgroup.org/interchange-doc-5.2.0/icfaq.html#Configuration%20Problems),
> хотя ситуация может измениться с выпуском новой версии.

Проблема в том, что в threaded perl используется специальный алгоритм
кэширования ppid для тредов, который не учитывает UNIX семантику
изменения ppid при смерти родительского процесса (значение ppid в этом
случае изменяется на 1, т.е. рипать осиротевших потомков будет процесс init).

Исправление для данного конкретного случая уже некоторое время
существует, но оно, к сожалению, не вошло в perl-5.8.7.

В исходниках interchange есть hackaround: вместо getppid() может
использоваться syscall(64) -- это не портабельно, но по меньшей мере
работает на Linux.  Чтобы включить этот hackaround, в interchange.cfg,
насколько я понял, нужно добавить
Variable MV_GETPPID_BROKEN 1

Других противопоказаний для threaded perl я не вижу.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20050604/d67b074a/attachment-0003.bin>


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