perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gerald Richter" <rich...@ecos.de>
Subject Re: Endless loop in perl_sections (was: cvs commit: modperl/src/modules/perl perl_config.c)
Date Tue, 12 Dec 2000 07:32:07 GMT
> Before this change, the walking of the %ApacheReadConfig:: namespace
> populated by a PerlRequire directive was ignored (or delayed).
>
> Because the
>
>   SVt_PV: $PerlRequire = /opt/symphony/etc/httpd/startup.pl'
>
> from your trace I suspect that inside your script, you are PerlRequir'ing
> it again via an $ApacheReadConfig::PerlRequire.
>

No, I don't do that!

> Can I see the relevant part of your config?
>

Here is my startup.pl which is loaded via $PerlRequire. The
modules/functions that are called do _nothing_ with the mod_perl config
(i.e. don't touch the ApacheReadConfig namespace). I really don't think it's
a fault on my side, but maybe I am wrong...

Gerald


use Apache::Status ;
use Apache::Session ;

use Apache::DBI ;
$Apache::DBI::DEBUG = 99 ;
use Apache::Session ;

BEGIN
    {
    eval "use Apache::Session::Win32" ;
    eval "use Apache::Session::Embperl" ;
    }


use HTML::Embperl ;
use DBIx::Recordset ;

use ecos::DBTool ;
use symphony ;
use symphony::Config ;
use WebDAV::Monitor ;
use symphony::FilesystemInput ;

use Net::Domain ;

my $perlmods ;
my $perlvars ;
my $mod ;
my $var ;
warn 1 ;
my $runcfg  = symphony::Config -> new ('run') ;
warn 2 ;
my $editcfg = symphony::Config -> new ('edit') ;
my $cfg     = $runcfg?$runcfg:$editcfg ;

warn 3 ;


if ($perlmods = $cfg -> {PerlModules})
    {
    foreach $mod (@$perlmods)
        {
        eval "use $mod" ;
        die $@ if ($@) ;
        }
    }

if ($perlvars = $cfg -> {PerlVars})
    {
    foreach $var (@$perlvars)
        {
        eval $var ;
        die $@ if ($@) ;
        }
    }

$DBIx::Recordset::Debug=1 ;

# Preload database metadata
my $dbsymphony  = $editcfg -> do_dbdef ({'!KeepOpen' => 0}) ;
my $dbprsy      = $runcfg -> do_dbdef ({'!KeepOpen' => 0}) ;


# $WebDAV::Monitor::Log::Self = WebDAV::Monitor::Log -> new ;


warn 4 ;

1;



Mime
View raw message