diff xml/ru/docs/http/ngx_http_perl_module.xml @ 1251:ac1b01d37929

Perl module: removed info specific to nginx 0.6.22 and earlier.
author Yaroslav Zhuravlev <yar@nginx.com>
date Mon, 14 Jul 2014 20:03:56 +0400
parents 95c3c3bbf1ce
children 31f21c7956dd
line wrap: on
line diff
--- a/xml/ru/docs/http/ngx_http_perl_module.xml	Mon Jul 14 17:12:06 2014 +0400
+++ b/xml/ru/docs/http/ngx_http_perl_module.xml	Mon Jul 14 20:03:56 2014 +0400
@@ -10,7 +10,7 @@
 <module name="Модуль ngx_http_perl_module"
         link="/ru/docs/http/ngx_http_perl_module.html"
         lang="ru"
-        rev="2">
+        rev="3">
 
 <section id="summary">
 
@@ -81,57 +81,6 @@
 к локальной файловой системе.
 </para>
 
-<para>
-Нижеописанные проблемы относятся только к версиям nginx до 0.6.22.
-
-<note>
-Данные, возвращаемые методами объекта запроса <literal>$r</literal>,
-имеют только текстовое значение, причём само значение хранится
-в памяти, выделяемой не Perl, а nginx из собственных пулов.
-Это позволяет уменьшить число операций копирования в большинстве случаев,
-однако в некоторых ситуациях это приводит к ошибке.
-Например, при попытке использования таких значений в числовом контексте
-рабочий процесс выходит с ошибкой (FreeBSD):
-<example>
-nginx in realloc(): warning: pointer to wrong page
-Out of memory!
-Callback called exit.
-</example>
-или (Linux):
-<example>
-*** glibc detected *** realloc(): invalid pointer: ... ***
-Out of memory!
-Callback called exit.
-</example>
-Обойти такую ситуацию просто: нужно присвоить значение метода
-переменной, например, такой код
-<example>
-my $i = $r->variable('counter') + 1;
-</example>
-нужно заменить на
-<example>
-my $i = $r->variable('counter');
-$i++;
-</example>
-</note>
-
-<note>
-Так как строки внутри nginx в большинстве случаев хранятся без
-завершающего нуля, то они в таком же виде возвращаются и методами
-объекта запроса <literal>$r</literal> (исключения составляют методы
-<literal>$r->filename</literal> и <literal>$r->request_body_file</literal>).
-Поэтому такие значения нельзя использовать
-в качестве имени файла и тому подобного.
-Обойти это можно так же, как в предыдущей ситуации: присвоив значение
-переменной (при этом происходит копирование данных и добавление необходимого
-нуля) или же использовав его в выражении, например:
-<example>
-open FILE, '/path/' . $r->variable('name');
-</example>
-</note>
-
-</para>
-
 </section>