Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     28 Feb 2003  23:07:53
 To : Andrey Brindeew
 Subject : Re: Странности под mod_perl
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Andrey Brindeew.
 
 AB> Hеожиданно стали наблюдаться странности в модулях, которые используются в
 AB> handler'ах из-под mod_perl. Сбрасывается глобальная переменная модуля.
 
 AB> Вот код:
 
 AB> Модуль конфигурации (один бАААльшой хэш с деревом внутри):
 
 AB> =====
 AB> package BK::Config;
 AB> use vars qw(%c);
 
 AB> %c = (
 AB>   'LIBS' => {
 AB>     'BK::Visitor' => {
 AB>       var1 => 'var1_value',
 AB>       [ a lot of stuff skipped ]
 AB>     },
 AB>     [ a lot of stuff skipped ]
 AB>   },
 AB> [ a lot of stuff skipped ]
 AB> );
 
 AB> 1;
 AB> =====
 
 AB> Модуль, в котором наблюдается сброс $pc (package's configuration)
 AB> =====
 AB> package BK::Visitor;
 
 AB> use BK::Config;
 AB> use vars qw(
 AB>   %c
 AB>   $pc
 AB> );
 
 AB> *c = \%BK_man::Config::c;
 AB> $pc = $c{'LIBS'}{'BK::Visitor'};
 AB> =====
 
 AB> Далее в модуле BK::Visitor $pc используется только в режиме чтения примерно 
 AB> так:
 
 AB> my $a = $pc->{'var1'};
 
 AB> Суть проблемы в том, что в некоторых дитенках Апача $pc после некоторого
 AB> момента времени сбрасывается. Hеужели придется в каждый метод в начало
 AB> вставлять $pc = $c{'LIBS'}{'BK::Visitor'}; ?
 
 AB> Проблема замечена уже минимум в двух разных модулях. :-(
 
 Ищи то место, где чистится $c{'LIBS'}{'BK::Visitor'}. Прямо или косвенно в
 каком-нибудь цикле. Его на всю систему достаточно одного. use приводит к
 выполнению кода, как ты понимаешь, один раз за время жизни данного ребенка, а
 не на каждый запрос.
 
 -- 
 Artem Chuprina
 Communiware.net
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757
 --- ifmail v.2.15dev5
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Странности под mod_perl   Andrey Brindeew   28 Feb 2003 16:05:38 
 Re: Странности под mod_perl   Artem Chuprina   28 Feb 2003 23:07:53 
Архивное /ru.cgi.perl/14454891b441b.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional