* [sisyphus] Re: Fwd: non-threaded perl (was: Зависимости пакетов и apt-get) @ 2005-06-02 17:42 ` Alexey Tourbin 0 siblings, 1 reply; 2+ messages in thread From: Alexey Tourbin @ 2005-06-02 17:42 UTC (permalink / raw) To: JoyLink; +Cc: Sisyphus [-- Attachment #1: Type: text/plain, Size: 2069 bytes --] On Thu, Jun 02, 2005 at 07:16:29PM +0400, JoyLink wrote: > Здравствуйте, Алексей. > Насколько реально собрать non-threaded версию perl для ALM 2.4? > Своими силами не получается :( non-threaded сборка перла будет бинарно несовместима, т.е. придется пересобрать также все пакеты, которые зависят от libperl.so.5.8. Дело в том, что первый условный аргумент у всех функций из perl API/ABI -- это так называемый thread context. Например, av.c:Perl_av_len(pTHX_ register AV *av) Здесь pTHX_ раскрывается либо в ничто (non-threaded), либо в настоящий аргумент функции (threaded сборка перла). Некоторые подробности есть в perlguts. То есть у "системного пакета" в данном случае менять флаги компиляции крайне не рекомендуется. Можно собрать самому "не системный" перл и установить его в /usr/local. Читайте INSTALL. Интересно также узнать, в каких случаях может потребоваться именно non-threaded perl. > ---------- Пересылаемое письмо ---------- > От: Michael Shigorin <mike@osdn.org.ua> > К: community@altlinux.ru > А также к: JoyLink <dicom@mail.ru> > Время создания: Tue, 31 May 2005 12:37:42 +0300 > Тема: non-threaded perl (was: Зависимости пакетов и apt-get) > Прикрепленные файлы: <none> > > On Tue, May 31, 2005 at 10:23:30AM +0400, JoyLink wrote: > > > Наверное проще взять готовый спек от перла и собрать с новыми > > > исходниками. Если соберётся можете считать себя начинающим > > > майнтейнером :) > > Пытался. Не получилось. На самом деле нужна не threaded версия Perl > > Свяжитесь с майнтейнером (at@) и обсудите, как лучше > собрать такой вариант. При помощи hasher на установленном > (не разломанном) Master 2.4 это вполне можно сделать, > если нет принципиальных грабель. > > Обсуждения тредовости perl были, но помню просто как факт -- > бишь даже не туманно. > > -- > ---- WBR, Michael Shigorin <mike@altlinux.ru> > ------ Linux.Kiev http://www.linux.kiev.ua/ > > > ---------- Конец пересылаемого письма ---------- [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 2+ messages in thread
[parent not found: <582637501.20050603110900@mail.ru>]
* [sisyphus] Re: Fwd: non-threaded perl (was: Зависимости пакетов и apt-get) @ 2005-06-04 1:02 ` Alexey Tourbin 0 siblings, 0 replies; 2+ messages in thread From: Alexey Tourbin @ 2005-06-04 1:02 UTC (permalink / raw) To: JoyLink; +Cc: Sisyphus [-- Attachment #1: Type: text/plain, Size: 1218 bytes --] 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 я не вижу. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-06-04 1:02 UTC | newest] Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2005-06-02 17:42 ` [sisyphus] Re: Fwd: non-threaded perl (was: Зависимости пакетов и apt-get) Alexey Tourbin 2005-06-04 1:02 ` Alexey Tourbin
ALT Linux Sisyphus discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \ sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru public-inbox-index sisyphus Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sisyphus AGPL code for this site: git clone https://public-inbox.org/public-inbox.git