perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Philippe M. Chiasson" <go...@ectoplasm.org>
Subject Re: Persisting data across handlers
Date Fri, 10 Mar 2006 21:20:42 GMT
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