I ran into some problems trying to get a Perl CGI script to make use of IPC::Sharelite, so I want to understand the Apache and mod_perl threading model in order to be able to use shared memory across multiple Apache threads.
For starters, I better make sure I learn more about mod_perl 2.0, as in, do I even have it on my system yet! I am running Red Hat 8.0, Apache/2.0.40. How do I tell if mod_perl 1.0 or mod_perl 2.0 is installed (or, at least, that the .so is the .so for mod_perl 2.0)? Some facts about my system that may help answer this question are provided below... [EMAIL PROTECTED] root]# httpd -V Server version: Apache/2.0.40 Server built: May 22 2003 05:19:58 Server's Module Magic Number: 20020628:0 Architecture: 32-bit Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D HTTPD_ROOT="/etc/httpd" -D SUEXEC_BIN="/usr/sbin/suexec" -D DEFAULT_PIDLOG="logs/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="logs/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf" [EMAIL PROTECTED] root]# strings /usr/lib/httpd/modules/mod_perl.so ... mod_perl/1.99_05-dev ... [EMAIL PROTECTED] root]# cat /etc/httpd/conf.d/perl.conf LoadModule perl_module modules/mod_perl.so # This will allow execution of mod_perl to compile your scripts to # subroutines which it will execute directly, avoiding the costly # compile process for most requests. # #Alias /perl /var/www/perl #<Directory /var/www/perl> # #dga- Here's my best guess at config so far: # Alias /perl /home/httpd/perl <Directory /home/httpd/perl> SetHandler perl-script PerlHandler ModPerl::Registry::handler PerlOptions +ParseHeaders Options +ExecCGI </Directory> [EMAIL PROTECTED] root]# [EMAIL PROTECTED] root]# cat /home/httpd/perl/startup.pl #!/usr/bin/perl use Apache::compat (); 1; Thanks for any tips and help anyone might provide. (BTW, my more general goal is to have shared memory across multiple Apache threads as part of implementing sessions so that I can avoid doing a database write at every HTTP request just to save session IDs.) Cheers, Dennis -- Dennis G. Allard telephone: 1.310.399.4740 Ocean Park Software http://oceanpark.com ________________________________________________________________________