Ended up modifying his Apache::Singleton::Request module to work with my app. Was really just a matter of getting rid of the MP1 code and changing the requestutils to requestrecs. In any case, everything finally works ( I think ). Thanks for all the help. I really appreciate it. --JAK
On 9/24/07, bharanee rathna <[EMAIL PROTECTED]> wrote: > > Yep, that's a bug > > perldoc Apache2::RequestUtil > > # get the global request object (requires PerlOptions +GlobalRequest) > $r = Apache2::RequestUtil->request; > > which means u need GlobalRequest in apache config, which I'm not a big fan > of. Better raise a bug in cpan rt for this module and get Tatsuhiko to fix > it. By the looks of it, this hasn't been updated in a while. > > personally I don't really see a need for Apache::Singleton::Process unless > there needs to be a module for consistency in Apache:: namespace, > class::singleton does pretty much the same job. If you need a per-request > singleton meanwhile, cookup something quickly of your own that uses apache > pnotes to store the instance > > perldoc Apache2::RequestRec > > > > On 9/24/07, jk jk <[EMAIL PROTECTED]> wrote: > > > > I looked at the source. It does seem to be written for both. My > > understanding was that everything for apache2 was supposed to be in the > > Apach2:: namespace. In any case I posted the install error below. Does an > > environment variable need to be set? > > > > > > perl Makefile.PL > > Warning: prerequisite mod_perl 0 not found. > > Writing Makefile for Apache::Singleton > > > > If I install it anyway I get "[Sun Sep 23 15:09:49 2007] [error] Can't > > locate Apache/RequestUtil.pm in @INC (@INC contains:......" > > > > Thanks. --JAK > > > > On 9/23/07, bharanee rathna < [EMAIL PROTECTED]> wrote: > > > > > > AFAIK Apache::Singleton works for MP2, also it does both per request > > > and per process singletons. > > > > > > > > > On 9/24/07, jk jk < [EMAIL PROTECTED]> wrote: > > > > > > > > I've been trying to use Apache::Singleton::Request under the > > > > assumption that you're right about Class::Singleton being the crux of > > > > the > > > > issue. Unfortunately, I can't get it working under Apache2. Is there a > > > > different module for mp2/apache2 ? Thanks for your patience. --JAK > > > > > > > > On 9/23/07, jk jk <[EMAIL PROTECTED] > wrote: > > > > > > > > > > Why is that? Class::Singleton is modperl compatible, > > > > > Apache::Singleton is the same thing with a few more features. Its > > > > > purpose > > > > > to simplify singleton application creation. My understanding was it > > > > > would > > > > > only allow a single instance of the object to be created for each > > > > > request, > > > > > not forever. Please explain your reasoning. Thanks. --JAK > > > > > > > > > > On 9/23/07, Philippe M. Chiasson < [EMAIL PROTECTED]> wrote: > > > > > > > > > > > > jk jk wrote: > > > > > > > I'm trying to port a preexisting CGI app to mod_perl2 and > > > > > > could use some > > > > > > > help. > > > > > > > > > > > > > > Here goes a test case that should illustrate my problem: > > > > > > > > > > > > > > The code pasted below loads the page properly the first time > > > > > > it's > > > > > > > accessed. However, upon multiple reloads in firefox, the > > > > > > headers either > > > > > > > disappear altogether or the page is downloaded in the download > > > > > > manager. > > > > > > > I assume this is because the wrong $r object is being accessed > > > > > > by the > > > > > > > request? In any case, I'm at a loss and would really > > > > > > appreciate some > > > > > > > input. Thanks in advance. > > > > > > > [...] > > > > > > > > > > > > > > ============= > > > > > > > File: testme/testmod.pm > > > > > > > ============= > > > > > > > > > > > > > > package testme::testmod; > > > > > > > > > > > > > > use Apache2::RequestUtil; > > > > > > > use strict; > > > > > > > > > > > > > > use base qw /Class::Singleton/; > > > > > > > > > > > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > > > > > > > > > > > From the documentation of Class::Singleton: > > > > > > > > > > > > # this only gets called the first time instance() is called > > > > > > > > > > > > > sub _new_instance{ > > > > > > > > > > > > > > my ( $class, $r ) = @_; > > > > > > > > > > > > > > my $self = {}; > > > > > > > > > > > > > > bless $self, $class; > > > > > > > > > > > > > > $self->{r} = $r; > > > > > > > > > > > > > > return ( $self ); > > > > > > > > > > > > > > } > > > > > > > > > > > > So effectively, your code will capture the $r (once for each > > > > > > child) > > > > > > from the first request and keep it forever. Trying to use it for > > > > > > subsequent > > > > > > requests will cause the kind of problems you've seen. > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 > > > > > > 88C3A5A5 > > > > > > http://gozer.ectoplasm.org/ > > > > > > m/gozer\@(apache|cpan|ectoplasm)\.org/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >