Развеяли мои сомнения, а-то я начала думать, что схожу с ума.
Savenkova Natalya [email protected] http://facebook.com/name.rnd > On 24 нояб. 2014 г., at 21:49, Victor Efimov <[email protected]> wrote: > > Если при этом, после форка, в процессах будет выделяться память разное > количество раз и/или разных объёмов, то конечно, будут разные адреса. > > $ perl -E 'my $x = {} if fork; say $$, " ", {}' > 27714 HASH(0xc66b90) > 27715 HASH(0xc66998) > > > > 24 ноября 2014 г., 21:46 пользователь Victor Efimov <[email protected]> > написал: >> Ничего не знаю про mod_perl, но адреса и так одинаковые у разных >> процессов скопированных из одного (это в случае с fork) >> >> $ perl -E 'fork; say $$, " ", {}' >> 27667 HASH(0xf0b998) >> 27668 HASH(0xf0b998) >> >> >> >> 24 ноября 2014 г., 21:14 пользователь Natalya Savenkova >> <[email protected]> написал: >>> Здравствуй, любимое сообщество! >>> Подскажи мне, пожалуйста, что мне надо почитать/посмотреть, чтобы понять >>> следующую вещь. >>> >>> Вот есть у меня mod_perl с handlers >>> Есть у меня там функция такая, которая дальше вызывается в обработчиках, она >>> не вызывается при запуске, а только когда пришел первый запрос: >>> >>> package MyLib::Handler; >>> use MyLib::Obj; >>> sub obj { >>> our $obj; >>> warn 'obj ', $obj, $obj->{ pid } if $obj; >>> return $obj if $obj; >>> $obj = MyLib::Obj->new( pid => $$); >>> } >>> >>> Вот этот Obj; >>> package MyLib::Obj; >>> sub new { >>> my $package = shift; >>> my $opt = {@_}; >>> my $self = {}; >>> $self->{ pid } = $opt->{ pid }; >>> return bless($self, $package); >>> } >>> >>> pid сюда добавлен для дебага, чтобы в логах было видно, кто создал obj >>> >>> и обвес на warn >>> BEGIN { >>> $SIG{'__WARN__'} = sub { >>> warn $$.' --> '.$_[0] ; >>> }; >>> } >>> >>> И получается, что в логах выглядит вот так >>> >>> 16373 --> obj MyLib::Obj=HASH(0x80461c420) 16373 >>> 16372 --> obj MyLib::Obj=HASH(0x80461c420) 16372 >>> >>> Почему тут одинаковые адреса? >>> Сообщество, помоги! >>> >>> -- >>> Moscow.pm mailing list >>> [email protected] | http://moscow.pm.org > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
