Stas,

Thanks for the quick response.

> You did load things in startup.pl, remember? some module could
override
> $SIG{__WARN__}. Don't load those modules if you don't need them.

I very much doubt anything in my startup.pl would modify the signal
handlers. Here's my startup.pl, for reference:

use strict;
use warnings;

#-----------------------------------------------------------------------
--------
# Default module inclusions as per the Apache
# mod_perl installation instructions
use Apache2 ();
use ModPerl::Util ();
use Apache::RequestRec ();
use Apache::RequestIO ();
use Apache::RequestUtil ();
use Apache::Server ();
use Apache::ServerUtil ();
use Apache::Connection ();
use Apache::Log ();
use Apache::Const -compile => ':common';
use APR::Const -compile => ':common';
use APR::Table ();
use Apache::compat ();
use ModPerl::Registry ();
use CGI ();

#-----------------------------------------------------------------------
--------
# General modules
use Time::localtime;
use Data::Dumper;
use Date::Calc qw(:all);

# Add the top-level directory for the modules into the module search
path.
use lib qw($ENV{SCRIPT_ROOT});

# Hybride:: modules commented out for now, until I resolve the crash
issue...

> You could also try to reset it in your code:

Even with the BEGIN { ... code before anything else in my source, I
still get no warnings.

> > So if on your side there are warnings and not on my side, with the
same
> > code, then that's a problem too...
>
> Yes, especially since you have a scoped warnings enabled explicitly in
your
> file. Does you perl print this warnings when you run a test script
from the
> above URL?

No. I just tried it. It does show the erroneous response (5^2 = 25 6^2 =
25) but no warnings. I also tried with the code to restore
SIG{__WARN__}, and it didn't change anything.

>> Apache::Reload didn't seem to want to reload my modules.
> because it probably couldn't find them.

I had followed the instructions you stated before, and you can even see
my "use libs" in the startup.pl I included above. Let's say
$ENV{SCRIPT_ROOT} (as set in my httpd.conf with a PerlSetEnv) is set to
"d:/htdocs", that means that a module being use()d as Hybride::Blah
would be found at d:/htdocs/Hybride/Blah.pm right? So Apache::Reload
should find it at the same place, since the "use libs" is in the startup
script.

But Apache::Reload still does not reload my modules... And as I said,
"ReloadDebug On" didn't even tell me if it was trying to reload them.
Nothing in my error_log, same as with the warnings.

So that's a bit weird.


Thanks,


J-S


Reply via email to