Philip M. Gollucci wrote:
This only gets it to appear in the Apache::Status menu.
I believe I'll have a patch to use Apache2::ServerRecUtil
in the rest shortly.

--- DBI.pm Sun Apr 10 03:08:50 2005
+++ DBI.pm.new Sun Apr 10 03:10:56 2005
@@ -31,11 +31,19 @@
sub connect_on_init {
# provide a handler which creates all connections during server startup


-    # TODO - Should check for mod_perl 2 and do the right thing there
-    carp "Apache.pm was not loaded\n" and return unless $INC{'Apache.pm'};
-    if([EMAIL PROTECTED] and Apache->can('push_handlers')) {
-        Apache->push_handlers(PerlChildInitHandler => \&childinit);
-    }
+               if ($ENV{MOD_PERL_API_VERSION} == 2) {
+                       if ([EMAIL PROTECTED]) {
+                               require Apache2::ServerUtil;
+                               my $s = Apache2::ServerUtil->server;
+                               $s->push_handlers(PerlChildInitHandler => 
\&childinit);
+                       }
+               }
+               else {
+               carp "Apache.pm was not loaded\n" and return unless 
$INC{'Apache.pm'};
+               if ([EMAIL PROTECTED] and Apache->can('push_handlers')) {
+         Apache->push_handlers(PerlChildInitHandler => \&childinit);
+               }
+               }
     # store connections
     push @ChildConnect, [EMAIL PROTECTED];
 }
@@ -93,10 +101,16 @@

# this PerlCleanupHandler is supposed to initiate a rollback after the script has finished if AutoCommit is off.
my $needCleanup = ($Idx =~ /AutoCommit[^\d]+0/) ? 1 : 0;
- # TODO - Fix mod_perl 2.0 here
if(!$Rollback{$Idx} and $needCleanup and Apache->can('push_handlers')) {
print STDERR "$prefix push PerlCleanupHandler \n" if $Apache::DBI::DEBUG > 1;
- Apache->push_handlers("PerlCleanupHandler", \&cleanup);
+ if ($ENV{MOD_PERL_API_VERSION} == 2) {
+ require Apache2::ServerUtil;
+ my $s = Apache2::ServerUtil->server;
+ $s->push_handlers("PerlCleanupHandler", \&cleanup);
+ }
+ else {
+ Apache->push_handlers("PerlCleanupHandler", \&cleanup);
+ }
# make sure, that the rollback is called only once for every
# request, even if the script calls connect more than once
$Rollback{$Idx} = 1;
@@ -191,25 +205,8 @@
};
}


--
END
------------------------------------------------------
Philip M. Gollucci ([EMAIL PROTECTED]) 301.254.5198
Consultant / http://p6m7g8.net/Resume/resume.shtml
Senior Developer / Liquidity Services, Inc.
        http://www.liquidityservicesinc.com

Reply via email to