perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vipul Ved Prakash" <vi...@cloudmark.com>
Subject RE: Persisting data across handlers
Date Fri, 10 Mar 2006 21:24:16 GMT
Thanks, Philippe.  For some reason I thought I had to use Apache's
memory management abstractions for this. 

cheers,
vipul

> -----Original Message-----
> From: Philippe M. Chiasson [mailto:gozer@ectoplasm.org] 
> Sent: Friday, March 10, 2006 1:21 PM
> To: Vipul Ved Prakash
> Cc: modperl@perl.apache.org
> Subject: Re: Persisting data across handlers
> 
> Vipul Ved Prakash wrote:
> > 
> > Hi,
> > 
> > I'd like to create an object in the PerlChildInitHandler and allow 
> > access to this object in various PerlResponseHandlers.  What's the 
> > best way to do this?
> > 
> > I created a bucket brigade in childinit and associated it with the 
> > child pool and put the object on it. I don't know how to 
> access this 
> > bucket brigade from a response handler. Here's the 
> childinit handler:
> > 
> > sub child_init {
> >     my ($cp, $s) = @_;
> > 
> >     my $foo = 42;
> >     $ba = APR::BucketAlloc->new($cp);
> >     my $bb = APR::Brigade->new($cp, $ba);
> >     my $b = APR::Bucket->new($ba, $foo);
> >     $bb->insert_head($b);
> > 
> >     return OK;
> > }
> > 
> > Help greatly appreciated.
> 
> package My:Module
> my $bb;
> sub child_init {
>   my ($cp, $s) = @_;
>   my $foo = 42;
>   $ba = APR::BucketAlloc->new($cp);
>   $bb = APR::Brigade->new($cp, $ba);
>   my $b = APR::Bucket->new($ba, $foo);
>   $bb->insert_head($b);
>   return OK;
> }
> sub get_global_bb {
>   return  $bb;
> }
> 
> Then anywhere at request time you can pull this out with 
> My::Module->get_global_bb();
> 
> There is nothing special there ;-)
> 
> --------------------------------------------------------------
> ------------------
> Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ 
> GPG KeyID : 88C3A5A5
> http://gozer.ectoplasm.org/     F9BF E0C2 480E 7680 1AE5 3631 
> CB32 A107 88C3A5A5
> 

Mime
View raw message