I'm tired of disabling IPC::SysV in AuthDBI.pm for every update. Please check some fix like this in.
no strict in the child handlers cannot be evaluated at run-time but is needed for Win32. Better ways?
Tested with Randy Cobes mod_perl binary for Win32. Active Perl 633, v5.6.1 built for MSWin32-x86-multi-thread
PS: I'm not subscribed to this list. -- Reini Urban http://xarch.tu-graz.ac.at/home/rurban/
--- Apache-DBI-0.91/Changes~ 2003-02-17 14:02:27.000000000 +0100
+++ Apache-DBI-0.91/Changes 2003-04-02 11:16:24.000000000 +0200
@@ -1,5 +1,8 @@
Revision history for ApacheDBI.
+0.91_01 April 2, 2003
+ - MSWin32 fix: disable IPC::SysV
+
0.91 February 17, 2003
- Retagged and released the 0.90_02 beta as 0.91. No code
changes.
--- Apache-DBI-0.91/AuthDBI.pm~ 2003-02-17 14:00:12.000000000 +0100
+++ Apache-DBI-0.91/AuthDBI.pm 2003-04-02 11:15:12.000000000 +0200
@@ -3,7 +3,10 @@
use Apache ();
use Apache::Constants qw( OK AUTH_REQUIRED FORBIDDEN DECLINED SERVER_ERROR );
use DBI ();
-use IPC::SysV qw( IPC_CREAT IPC_RMID S_IRUSR S_IWUSR );
+if ($^O ne 'MSWin32') {
+ require IPC::SysV;
+ import IPC::SysV qw( IPC_CREAT IPC_RMID S_IRUSR S_IWUSR );
+}
use strict;
# $Id: AuthDBI.pm,v 1.3 2003/02/17 13:00:12 ask Exp $
@@ -644,6 +647,7 @@
# Note: this handler runs in every child server, but not in the main server.
sub childinit {
+ no strict; # for $^O eq 'MSWin32' only
my $prefix = "$$ Apache::AuthDBI PerlChildInitHandler";
# create (or re-use existing) semaphore set
$SEMID = semget($SHMKEY, 1, IPC_CREAT|S_IRUSR|S_IWUSR);
@@ -685,6 +689,7 @@
# Note: this handler runs in every child server, but not in the main server.
sub childexit {
+ no strict; # for $^O eq 'MSWin32' only
my $prefix = "$$ Apache::AuthDBI PerlChildExitHandler";
# read Cache from shared memory, decrement child count and exit or write Cache to
shared memory
semop($SEMID, $obtain_lock) or print STDERR "$prefix semop failed \n";
