Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 49283 invoked from network); 27 Sep 2010 21:09:04 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 27 Sep 2010 21:09:04 -0000 Received: (qmail 1435 invoked by uid 500); 27 Sep 2010 21:09:04 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 1352 invoked by uid 500); 27 Sep 2010 21:09:03 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 1344 invoked by uid 99); 27 Sep 2010 21:09:03 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 Sep 2010 21:09:03 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jim@jagunet.com designates 209.133.192.6 as permitted sender) Received: from [209.133.192.6] (HELO jaguNET.com) (209.133.192.6) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 Sep 2010 21:08:58 +0000 Received: from jaguNET.com (localhost [127.0.0.1]) by devsys.jaguNET.com (jagunet-1.1/jagunet-1.1) with ESMTP id o8RL8bkj035709 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 27 Sep 2010 17:08:37 -0400 (EDT) (envelope-from jim@jaguNET.com) Received: (from jim@localhost) by devsys.jaguNET.com (8.14.3/8.13.6/Submit) id o8RL8bfT035708 for dev@httpd.apache.org; Mon, 27 Sep 2010 17:08:37 -0400 (EDT) (envelope-from jim) Date: Mon, 27 Sep 2010 17:08:37 -0400 From: Jim Jagielski To: dev@httpd.apache.org Subject: Re: memory leak in mod_slotmem_shm Message-ID: <20100927210837.GA35629@devsys.jaguNET.com> Reply-To: jim@jaguNET.com References: <201009261813.27244.sf@sfritsch.de> <201009271628.01835.sf@sfritsch.de> <201009271919.29125.sf@sfritsch.de> <4CA0DC87.5080901@kippdata.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4CA0DC87.5080901@kippdata.de> User-Agent: Mutt/1.5.20 (2009-06-14) On Mon, Sep 27, 2010 at 08:03:51PM +0200, Rainer Jung wrote: > On 27.09.2010 19:19, Stefan Fritsch wrote: > >On Monday 27 September 2010, Jim Jagielski wrote: > >>>BTW, it is not that obvious that the shm is supposed to be > >>>cleaned up and re-created on graceful restarts. This should be > >>>documented in the code. > >>> > >>> > >> > >>That's an interesting point. I always assumed that it should be, > >>since one use for it would be as a scoreboard-like replacement > >>(and the pain for the scoreboard is that it's a set size)... > >>But I can also see reasons for it to NOT be cleaned/recreated... > >>How best to handle that?? > > > >If it would be used for e.g. storing mod_proxy_balancer's worker > >configuration/state, one would want the data to survive a graceful > >restart, wouldn't one? But from a consumer's perspective, it doesn't > >matter if this achieved by not destroying the shm segment or by saving > >the data to disk and reloading it after recreating the shm segment. > >So it seems to me that the current functionality is enough. > > So if a graceful restart is initiated, will old children working on > requests still be able to use the old shm segment, i.e. will it be > destroyed after the last old child dies or earlier? > The cleanup is when the config pool is cleaned up, at which point there are no more consumers of that pool so we're safe. -- =========================================================================== Jim Jagielski [|] jim@jaguNET.com [|] http://www.jaguNET.com/ "Great is the guilt of an unnecessary war" ~ John Adams