a signal handler for USR2 has been setup in startup.pl, but 
sending
a USR2 to the root httpd process does not result in the execution of 
the 
signal handler; apache: 1.3.29; mod_perl: 1.29; perl: 5.8.2;

#################################################################

output of uname -a

Linux localhost.localdomain 2.4.20-6 #1 Thu Feb 27 09:35:54 EST 2003 
i586 i586 i386 GNU/Linux

#################################################################

perl -V output:

Summary of my perl5 (revision 5.0 version 8 subversion 2) 
configuration:
  Platform:
    osname=linux, osvers=2.4.20-6, archname=i586-linux
    uname='linux localhost.localdomain 2.4.20-6 #1 thu feb 27 
09:35:54 est 2003 i586 i586 i386 gnulinux '
    config_args='-de'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef 
usemultiplicity=undef
    useperlio=define d_sfio=undef uselargefiles=define 
usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-fno-strict-aliasing -I/usr/local/include 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O3',
    cppflags='-fno-strict-aliasing -I/usr/local/include'
    ccversion='', gccversion='3.2.2 20030222 (Red Hat Linux 
3.2.2-5)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, 
longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, 
Off_t='off_t', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -ldl -lm -lcrypt -lutil -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
    libc=/lib/libc-2.3.2.so, so=so, useshrplib=false, 
libperl=libperl.a
    gnulibc_version='2.3.2'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, 
ccdlflags='-rdynamic'
    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Compile-time options: USE_LARGE_FILES
  Built under linux
  Compiled at Dec 28 2003 17:22:53
  @INC:
    /usr/local/lib/perl5/5.8.2/i586-linux
    /usr/local/lib/perl5/5.8.2
    /usr/local/lib/perl5/site_perl/5.8.2/i586-linux
    /usr/local/lib/perl5/site_perl/5.8.2
    /usr/local/lib/perl5/site_perl
    .

#################################################################

no options given to mod_perl's Makefile.PL

#################################################################

relevant mod_perl server configuration: 

AddHandler perl-script Apache::Registry
PerlRequire /usr/local/apache/conf/startup.pl
<Location /perl-status>
    SetHandler perl-script
    PerlHandler Apache::Status
    order deny,allow
    deny from all
    allow from 127.0.0.1 
</Location>
PerlFreshRestart	On

note that an access of /perl-status Signal Handler's sections shows:

USR2 = CODE(0x8221780)

#################################################################

error_log:

[Sun Dec 28 20:10:07 2003] [notice] Apache/1.3.29 (Unix) 
mod_perl/1.29 configure
d -- resuming normal operations
[Sun Dec 28 20:10:07 2003] [notice] Accept mutex: sysvsem (Default: 
sysvsem)

#################################################################

make test for mod_perl:

(cd ../apache_1.3.29/src && 
PERL5LIB=/usr/local/src/mod_perl-1.29/lib:  make CC="cc";)
make[1]: Entering directory `/usr/local/src/apache_1.3.29/src'
===> regex
make[2]: Nothing to be done for `all'.
<=== regex
===> os/unix
make[2]: Nothing to be done for `all'.
<=== os/unix
===> ap
make[2]: Nothing to be done for `all'.
<=== ap
===> main
make[2]: Nothing to be done for `all'.
<=== main
===> lib
===> lib/expat-lite
make[3]: Nothing to be done for `all'.
<=== lib/expat-lite
<=== lib
===> modules
===> modules/standard
make[3]: Nothing to be done for `all'.
<=== modules/standard
===> modules/perl
make[3]: Nothing to be done for `all'.
<=== modules/perl
<=== modules
cc -c  -I./os/unix -I./include   -DLINUX=22 -DUSE_HSREGEX 
-DUSE_EXPAT -I./lib/expat-lite -DNO_DL_NEEDED -fno-strict-aliasing 
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL 
modules.c
cc -c  -I./os/unix -I./include   -DLINUX=22 -DUSE_HSREGEX 
-DUSE_EXPAT -I./lib/expat-lite -DNO_DL_NEEDED -fno-strict-aliasing 
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL 
buildmark.c
cc  -DLINUX=22 -DUSE_HSREGEX -DUSE_EXPAT -I./lib/expat-lite 
-DNO_DL_NEEDED -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -DMOD_PERL    \
      -o httpd buildmark.o modules.o modules/perl/libperl.a 
modules/standard/libstandard.a main/libmain.a ./os/unix/libos.a ap/libap.a 
regex/libregex.a lib/expat-lite/libexpat.a `/usr/local/bin/perl 
/usr/local/src/mod_perl-1.29/src/modules/perl/ldopts  ` -lm -lcrypt
make[1]: Leaving directory `/usr/local/src/apache_1.3.29/src'
make[1]: Entering directory `/usr/local/src/mod_perl-1.29/Apache'
make[1]: Leaving directory `/usr/local/src/mod_perl-1.29/Apache'
make[1]: Entering directory 
`/usr/local/src/mod_perl-1.29/Connection'
make[1]: Leaving directory `/usr/local/src/mod_perl-1.29/Connection'
make[1]: Entering directory `/usr/local/src/mod_perl-1.29/Constants'
make[1]: Leaving directory `/usr/local/src/mod_perl-1.29/Constants'
make[1]: Entering directory `/usr/local/src/mod_perl-1.29/File'
make[1]: Leaving directory `/usr/local/src/mod_perl-1.29/File'
make[1]: Entering directory `/usr/local/src/mod_perl-1.29/Leak'
make[1]: Leaving directory `/usr/local/src/mod_perl-1.29/Leak'
make[1]: Entering directory `/usr/local/src/mod_perl-1.29/Log'
make[1]: Leaving directory `/usr/local/src/mod_perl-1.29/Log'
make[1]: Entering directory 
`/usr/local/src/mod_perl-1.29/ModuleConfig'
make[1]: Leaving directory 
`/usr/local/src/mod_perl-1.29/ModuleConfig'
make[1]: Entering directory `/usr/local/src/mod_perl-1.29/PerlRunXS'
make[1]: Leaving directory `/usr/local/src/mod_perl-1.29/PerlRunXS'
make[1]: Entering directory `/usr/local/src/mod_perl-1.29/Server'
make[1]: Leaving directory `/usr/local/src/mod_perl-1.29/Server'
make[1]: Entering directory `/usr/local/src/mod_perl-1.29/Symbol'
make[1]: Leaving directory `/usr/local/src/mod_perl-1.29/Symbol'
make[1]: Entering directory `/usr/local/src/mod_perl-1.29/Table'
make[1]: Leaving directory `/usr/local/src/mod_perl-1.29/Table'
make[1]: Entering directory `/usr/local/src/mod_perl-1.29/URI'
make[1]: Leaving directory `/usr/local/src/mod_perl-1.29/URI'
make[1]: Entering directory `/usr/local/src/mod_perl-1.29/Util'
make[1]: Leaving directory `/usr/local/src/mod_perl-1.29/Util'
../apache_1.3.29/src/httpd -f `pwd`/t/conf/httpd.conf -X -d `pwd`/t 
&
httpd listening on port 8529
will write error_log to: t/logs/error_log
letting apache warm up...\c
done
/usr/local/bin/perl t/TEST 0
still waiting for server to warm up...ok
ok
ok
ok
modules/actions.......ok
modules/cgi...........ok
modules/constants.....ok
modules/cookie........skipped
        all skipped: no reason given
modules/file..........skipped
        all skipped: no reason given
modules/httpdconf.....ok
modules/include.......ok
modules/log...........skipped
        all skipped: no reason given
modules/module........skipped
        all skipped: no reason given
modules/perlrun.......ok
modules/psections.....skipped
        all skipped: no reason given
modules/request.......skipped
        all skipped: no reason given
modules/src...........ok
modules/stage.........skipped
        all skipped: no reason given
modules/status........ok
modules/symbol........skipped
        all skipped: no reason given
modules/uri...........skipped
        all skipped: no reason given
modules/util..........skipped
        all skipped: no reason given
internal/api..........ok
internal/auth.........ok
internal/croak........ok
internal/dirmagic.....ok
internal/error........ok
internal/headers......ok
internal/hooks........ok
internal/http-get.....ok
internal/http-post....ok
internal/proxy........ok
internal/redirect.....ok
internal/rwrite.......ok
internal/stacked......skipped
        all skipped: no reason given
internal/table........skipped
        all skipped: no reason given
internal/taint........ok
All tests successful, 12 tests skipped.
Files=33, Tests=271, 76 wallclock secs (64.30 cusr +  5.01 csys = 
69.31 CPU)
kill `cat t/logs/httpd.pid`
rm -f t/logs/httpd.pid
rm -f t/logs/error_log
#################################################################
startup.pl:
#!/usr/bin/perl
$SIG{USR2} = sub { 
    open(F,">>/logs/test_log") || die "can't append to test_log: $!";
    my $l = localtime();
    print F "$l [debug]: in USR2 handler\n";
    close(F);
};
1;

Reply via email to