There is a bug in Apache::Session::Lock::Semaphore (v1.01) that prevents it from working when Transaction mode is enabled. Apache::Session package's (which Apache::Session::Lock::Semaphore is a part of) maintainer (Casey West) has been contacted on numereous occasions with the patch, however with no avail. Thus, those who have experienced the bug, may use the following patch in the meanwhile (tested on Linux and OpenBSD):
=8<= Apache::Session::Lock::Semaphore 1.01 patch begin =8<=
--- Semaphore.pm 2005-05-07 12:38:30.000000000 -0400
+++ Semaphore.pm.org 2005-01-21 22:10:23.000000000 -0500
@@ -49,7 +49,7 @@
my $session = shift;
return if $self->{read};
- return if $self->{write};
+ die if $self->{write};
if (!$self->{sem}) {
$self->{sem} = new IPC::Semaphore($self->{sem_key},
$self->{nsems},
@@ -122,7 +122,7 @@
my $session = shift;
- return unless $self->{read};
+ die unless $self->{read};
$self->{sem}->o
=8<= Apache::Session::Lock::Semaphore 1.01 patch end =8<=