Vulnerability Development mailing list archives

Re: How do web servers handle dropped connections?


From: Steve Mosher <goat () DEVIL ISN NET>
Date: Mon, 28 Aug 2000 15:36:56 +0000

On Mon, 28 Aug 2000, Philip Rowlands wrote:

In practice, I believe webservers will allow a spawned CGI process to
continue to completion. The rationale (although I can't remember where I
read this) is that Perl scripts, etc. might have files, sockets,
database connections open and should expect to be able to complete
whatever operation they are performing.

        I'm not so sure about Apache. I know it has a habit of trashing a
process after a timeout, regardless of what it's doing (not entirely, you
/can/ setsid() around it.) I can't say for certain that I've seen a
process die due to a disconnect, but I have a feeling that's the way
Apache works -- BBW, this is merely intuition.

Consider the converse; you'd have to write ugly signal handling code
into every CGI, to take account of a closed connection at any moment.
You'd have to implement some sort of transaction rollback if you were in
the middle of rewriting a text file etc... not pleasant.

        Yeah, it /was/ a bugger for timeouts that I had to work around.

--
05:+"elytstaoG"v
          ,_@#:<


Current thread: