httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <dgau...@arctic.org>
Subject Re: [BUG]: "cgi performance MUCH slower in in 1.2b6 than 1.2b4" on Solaris 2.x (fwd)
Date Sat, 15 Feb 1997 04:04:42 GMT
Oh good I was worried that was the solution and was prepared to call it
evil and go sulk :)  I guess we shouldn't really see EOF from the cgi
until it actually exits, a CGI closing stdout early could be considered
"broken".  But it isn't really. 

This is another case where in the multithreaded server we can delay
cleanup.  We could just pick up children results as they come in, and if
they haven't come in 5 minutes after actually closing stdout we could then
go about killing them. 

Your theory did sound so reasonable though.  Apache does go after the cgi
in earnest as soon as it has seen the EOF.

Dean

On Fri, 14 Feb 1997, Rob Hartill wrote:

> 
> reality spoils another nice theory...
> 
> ---------- Forwarded message ----------
> Date: Fri, 14 Feb 1997 11:31:25 -0500
> From: Rob Francis <rfrancis@dti.net>
> Reply-To: Rob_Francis@dti.net
> To: Rob Hartill <robh@imdb.com>
> Subject: Re: [BUG]: "cgi performance MUCH slower in in 1.2b6 than 1.2b4" on Solaris 2.x

> 
> 
> >Someone else will be in touch with you about this, but to satisfy my
> >curiosity can you try this patch..
> 
> Tried it, no dice.  Still slows down.  Let me know if you want me to 
> try anything else.
> 
> -rob
> 
> >Index: mod_cgi.c
> >===================================================================
> >RCS file: /export/home/cvs/apache/src/mod_cgi.c,v
> >retrieving revision 1.8
> >diff -u -r1.8 mod_cgi.c
> >--- mod_cgi.c   1997/02/13 19:29:01     1.8
> >+++ mod_cgi.c   1997/02/13 23:31:08
> >@@ -500,7 +500,8 @@
> > 
> >        hard_timeout ("send script output", r);
> >        send_http_header(r);
> >-        if(!r->header_only) send_fd (script_in, r);
> >+       if(!r->header_only && send_fd (script_in, r) > 0)
> >+               bflush(r->connection->client);
> >        /* Soak up stderr */
> >        while (fgets(argsbuffer, HUGE_STRING_LEN-1, script_err) != NULL)
> >          continue;
> >
> >
> >Undo it if it doesn't help.
> >
> >rob
> >
> >
> 
> 
> 
> 
> 


Mime
View raw message