From owner-freebsd-chat Tue May 11 11:31:16 1999 Delivered-To: freebsd-chat@freebsd.org Received: from flood.ping.uio.no (flood.ping.uio.no [129.240.78.31]) by hub.freebsd.org (Postfix) with ESMTP id 4B93A14C18 for ; Tue, 11 May 1999 11:31:12 -0700 (PDT) (envelope-from des@flood.ping.uio.no) Received: (from des@localhost) by flood.ping.uio.no (8.9.3/8.9.1) id UAA31919; Tue, 11 May 1999 20:31:04 +0200 (CEST) (envelope-from des) To: Cc: "Daniel O'Connor" , "Jordan K. Hubbard" , chat@FreeBSD.ORG, paul@originative.co.uk Subject: Re: [Re: Request For Better Communications] References: From: Dag-Erling Smorgrav Date: 11 May 1999 20:31:03 +0200 In-Reply-To: 's message of "Tue, 11 May 1999 11:26:33 -0700 (PDT)" Message-ID: Lines: 17 X-Mailer: Gnus v5.5/Emacs 19.34 Sender: owner-freebsd-chat@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org writes: > Apache's pool memory seems like a good example, in case anyone cares :) It's a good concept, but Apache's implementation of it is very poor - it leaks like a sieve, and is responsible for making the Sioux DoS possible. (I offered them patches, which they ignored.) And it's not real GC - you have to explicitly release a pool to discard the objects within it, and when you do, *all* objects are discarded, even if they're still referenced. It works for Apache because they have a lot of stuff which is transaction-bound - i.e. buffers for reading request headers, file descriptors to the document or CGI requested, etc., which can be discarded all in one go. Also, it does more than just GC since it closes files and sockets does some other cleanup stuff. DES -- Dag-Erling Smorgrav - des@flood.ping.uio.no To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message