httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <dgau...@arctic.org>
Subject Re: Latest CVS httpd hangs
Date Sun, 01 Feb 1998 02:21:04 GMT


On Sat, 31 Jan 1998, Rasmus Lerdorf wrote:

> > And looking at child_main, the top of the main loop:
> > 
> >         /*
> >          * (Re)initialize this child to a pre-connection state.
> >          */
> > 
> >         kill_timeout(0);        /* Cancel any outstanding alarms. */
> >         timeout_req = NULL;     /* No request in progress */
> >         current_conn = NULL;
> > 
> >         clear_pool(ptrans);
> > 
> > If you have any registered cleanup which plays with timeouts (doing
> > block_alarms()/unblock_alarms() is OK) then it could cause trouble.
> 
> Well, I do have a timeout feature to guard against someone tossing an
> infinite loop into a PHP script and thus spinning the server forever.  I
> use an itimer though and thus a SIGPROF.  I didn't think that would
> interfere.  Here is the relevant code:

Ah.  Well, does it ever get triggered on your server? 

It's really not a good idea for modules to call exit().  We need to export
clean_child_exit() and you should use that instead.  I'll commit that with
an MMN bump.

When do you call php3_unset_timeout?

Could you try with this timer disabled, and revert my patch?

Dean


Mime
View raw message