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.0 +0100
+++ Apache-DBI-0.91/Changes 2003-04-02 11:16:24.0 +0200
@@ -1,5 +1,8 @@
Revision history for ApacheDBI.
+0.91_01 April 2, 2003
+ - MSWin32 fix: disable IPC::SysV
+
0.91February 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.0 +0100
+++ Apache-DBI-0.91/AuthDBI.pm 2003-04-02 11:15:12.0 +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;