We will just have to agree to disagree. Over many releases of Apache I've never seen a looping or hung CGI sent a SIGTERM. I've even asked in this group how that could be achieved, only to be told that it cannot be done, using facilities within apache alone.
On 17/10/06, Ravi Menon [EMAIL
I repeated a similar test on my apache 1.3.33 and it works - I see the
following lines in the error_log during timeout:
read script header timed out
Confirmed with ps that the script is actually killed. Also confirmed
from the sources on where this error_log line originates from -
Ah, that's different - your timeout is occurring trying to read your CGI
script - it is not getting to execution.
I've never had this problem, so I cannot help you
Steve Swift
http://www.swiftys.org.uk
-
The official
Actually it is more subtle. Even during execution, apache starts the timer
during start of header, and start of body. So a malicious script could
potentially
give data in trickles to restart these timers, but my point was that apache
definetly takes care of runaway cgi scripts even in execution
Well, I wrote a timeout CGI especially to go into a loop. It's still running after 720 seconds on my 2.0.46+ server under linux. Timeout is set to 300.I never saw looping CGI's terminated under version 1 either.
With four processors in our system we sometimes don't notice looping CGI scripts for a
In the apache 1.3.x on Linux that I am using, apache does send a SIGTERM
when the Timeout value has reached. The code is here:
apache_1.3.33/src/main/alloc.c:free_proc_chain()
This is called from ap_clear_pool() which is done at the end of
request cycle, or
during hard timeouts.
The logic
As far as I know Apache doesn't send Sigterm to a running CGI. This has nothing to do with the Timeout directive.A couple of weeks ago I asked the opposite question: How can I timeout a CGI that is hung/looping? and the answer I got, from trusted sources was that it cannot be done with Apache
Hi guys,
As far as I know the Timeout directive does control the amount of time a CGI
has before receiving a SIGTERM. However my CGI still receives a SIGTERM
after what appears to be a random amount of time that is much less than what
I have set in the Timeout directive. The client side still has