On Wed 10 Sep 2008, csross wrote:
On a solaris 8 server with Apache 2.6 and perl 5.8.8, we have an
html/javascript file that uses HTTP Post to a perl script. The perl
script sends data back via HTTP get to a redirected HTML file. The
HTML file strips off data from the command line of the URL (suff
after the ?) and then posts more data to the perl script until all
of the data it needs is retreived. This works fine in perl without
mod-perl enabled, but loops in modperl, as if the initial connection
for the first request is still open and the same data is being
endlessly sent back. This happens on later versions of Solaris as
well.
We did find that after what seems like many interations of the
looping, the data finally get processed and the subsequent screen
appears, but that is after a minute at least. When not using
mod_perl, this doesn't happen. The developer wanted to put in a
wait type command to see if that worked, but it did not make a
difference.
Has anyone seen this type of behavior?
I think the reason is that the perl script holds some status. The
difference between mod_perl and CGI is that the former uses the same
interpreter again and again while the latter starts the interpreter
anew each time. So, if the script doesn't clean up things properly it
may look different for the second request.
You probably also use KeepAlive requests. That would explain the fact
that it worked after many requests. Either the server or the browser
has dropped the connection. The browser then establishes a new one and
probably hits another perl interpreter. That one is still in pristine
state. Hence it worked.
Torsten
--
Need professional mod_perl support?
Just hire me: [EMAIL PROTECTED]