You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by csross <cr...@hccs.com> on 2008/09/10 22:22:55 UTC

using MOD_PERL with script causes looping

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?

Thank you very much


-- 
View this message in context: http://www.nabble.com/using-MOD_PERL-with-script-causes-looping-tp19422410p19422410.html
Sent from the mod_perl - General mailing list archive at Nabble.com.


Re: using MOD_PERL with script causes looping

Posted by Torsten Foertsch <to...@gmx.net>.
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: torsten.foertsch@gmx.net