Kip,
I think I mentioned this yesterday in an private email message already. I
had the same problem with Apache::Session 1.03 in my environment. For some
obscure reason, my tied %session didn't go out of scope and was never
"untied" at the end of one request.
This results in a situation where Apache::Session keeps a readlock and the
next time you try to use the same session it'll hang in IPC::Semaphore::op
when it tries to acquire the readlock.
I worked around this situation by explictly untie'ing the tied %session at
the end of my request by using
$r->register_cleanup(sub { untie %session });
Since then the Semaphore problems have disappeared.
Hope this helps
Tobias
At 01:54 PM 10/21/99 -0400, Kip Cranford wrote:
>
>Again, I'm using mod_perl 1.21, apache 1.3.9, Apache::Session 1.03, on a
>RedHat 6 linux system with perl 5.005_03, and am using Netscape Comm.
>4.51 as my browser.
>
>The problem now seems to be Apache::Session and file uploads. My
>handler is providing a simple file upload interface, and I'm using
>Apache::Session to keep track of filenames, content types, sizes, etc.
>
>Using a very simple script, in which I store only a single scalar
>variable in my session, and using the "multipart/form-data" encoding
>type on my form, I can get the script to hang every time. It _always_
>hangs in the same place in the "op" function:
>
> DB<1> IPC::Semaphore::op(/usr/lib/perl5/5.00503/IPC/Semaphore.pm:90):
>90: croak 'Bad arg count' if @_ % 3;
> DB<1> IPC::Semaphore::op(/usr/lib/perl5/5.00503/IPC/Semaphore.pm:91):
>91: my $data = pack("s*",@_);
> DB<1> IPC::Semaphore::op(/usr/lib/perl5/5.00503/IPC/Semaphore.pm:92):
>92: semop($$self,$data);
>
>This happens whether I use Apache::Session::DBI or ::File...
>
>If I use the older encoding type on the form, everything works fine.
>I'm using CGI.pm, but right now only for the param() function. The html
>form was specified directly in a here document.
>
>Has anyone seen this behavior before? Any help would be GREATLY
>apprecitated!!
>
>Thanks,
>
>--kip