I'm using Apache/1.3.9 (Unix), mod_perl/1.21, Apache-Session-1.03, with
MySQL 3.22.25. I'm using the the Apache::Session::DBI module with MySQL
to provide some simple session management. I'm running the script as a
PerlHandler...
I'm storing the session ID as a hidden variable, which I retrieve on
subsequent calls to the script, and use it to re-open the session object
as described in the Apache::Session doc.
1 or 2 calls _after_ the intial invocation of the script, my browser
hangs. Using the debugger, I've found where it seems to get hung up --
see below.
Is this some sort of lock blocking, or stale lock or something? Any
help would be appreciated.
Thanks,
--kip
=-=-=-=-=-=-=-= Debugging Output =-=-=-=-=-=-=-=
DB<1> s
Apache::Session::SysVSemaphoreLocker::acquire_read_lock(/usr/lib/perl5/site_perl/5.005/Apache/Session/SysVSemaphoreLocker.pm:50):
50: $self->{sem}->op($self->{read_sem} + $self->{nsems}/2, 0,
SEM_UNDO,
51: $self->{read_sem}, 1,
SEM_UNDO);
DB<1> s
IPC::SysV::SEM_UNDO(/usr/lib/perl5/5.00503/IPC/SysV.pm:65535):
65535:
DB<1> s
IPC::SysV::SEM_UNDO(/usr/lib/perl5/5.00503/IPC/SysV.pm:65535):
65535:
DB<1> s
IPC::Semaphore::op(/usr/lib/perl5/5.00503/IPC/Semaphore.pm:88):
88: @_ >= 4 || croak '$sem->op( OPLIST )';
DB<1> s
IPC::Semaphore::op(/usr/lib/perl5/5.00503/IPC/Semaphore.pm:89):
89: my $self = shift;
DB<1> s
IPC::Semaphore::op(/usr/lib/perl5/5.00503/IPC/Semaphore.pm:90):
90: croak 'Bad arg count' if @_ % 3;
DB<1> s
IPC::Semaphore::op(/usr/lib/perl5/5.00503/IPC/Semaphore.pm:91):
91: my $data = pack("s*",@_);
DB<1> s
IPC::Semaphore::op(/usr/lib/perl5/5.00503/IPC/Semaphore.pm:92):
92: semop($$self,$data);
DB<1> s
/\
|
|
-------|
Hangs Here...