Spec-Zone.ru › Perl 5.38

perlfreebsd

СОДЕРЖАНИЕ

  • ИМЯ
  • ОПИСАНИЕ
    • Сбросы ядра FreeBSD из readdir_r с ithreads
    • $^X не всегда содержит полный путь в FreeBSD
  • АВТОР

ИМЯ

perlfreebsd - Perl версия 5 в системах FreeBSD

ОПИСАНИЕ

В данном документе описаны различные особенности FreeBSD, которые повлияют на то, как будет скомпилирована и/или запущена Perl версия 5 (в дальнейшем просто Perl).

Сбросы ядра FreeBSD из readdir_r с ithreads

Когда perl настроен для использования ithreads, он будет использовать вызовы реентерабельных библиотек в приоритете перед нереентерабельными версиями. Существует ошибка в readdir_r функции FreeBSD в версиях 4.5 и более ранних, которая может привести к SEGV при чтении больших каталогов. Доступен патч для FreeBSD libc (см. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=30631), который был интегрирован в FreeBSD 4.6.

$^X не всегда содержит полный путь в FreeBSD

perl устанавливает $^X, где это возможно, в полный путь, обращаясь к операционной системе. В FreeBSD полный путь интерпретатора perl определяется с помощью sysctl и KERN_PROC_PATHNAME если это поддерживается, иначе, путём чтения символической ссылки /proc/curproc/file. В FreeBSD 7 и более ранних версиях в обоих случаях иногда возвращается некорректное значение (см. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=35703). В этих случаях perl вернётся к старому поведению, используя значение C's argv[0] для $^X.

АВТОР

Nicholas Clark <nick@ccl4.org>, обобщая знания, предоставленные Slaven Rezic и Tim Bunce.

Пожалуйста, сообщайте о любых ошибках, обновлениях или предложениях по адресу https://github.com/Perl/perl5/issues.

© 1993–2023 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.38.0/perlfreebsd

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API