Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 81286 invoked from network); 2 May 2006 12:49:14 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 2 May 2006 12:49:14 -0000 Received: (qmail 38024 invoked by uid 500); 2 May 2006 12:47:45 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 37515 invoked by uid 500); 2 May 2006 12:47:43 -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 37504 invoked by uid 99); 2 May 2006 12:47:43 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 May 2006 05:47:43 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: neutral (asf.osuosl.org: local policy) Received: from [206.47.199.165] (HELO simmts7-srv.bellnexxia.net) (206.47.199.165) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 May 2006 05:47:42 -0700 Received: from [192.168.0.103] ([65.95.243.101]) by simmts7-srv.bellnexxia.net (InterMail vM.5.01.06.13 201-253-122-130-113-20050324) with ESMTP id <20060502124719.WRVY16677.simmts7-srv.bellnexxia.net@[192.168.0.103]>; Tue, 2 May 2006 08:47:19 -0400 Message-ID: <445754DF.8060208@pearsoncmg.com> Date: Tue, 02 May 2006 08:47:27 -0400 From: Chris Darroch Organization: Pearson CTG/CMG User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.13) Gecko/20060423 X-Accept-Language: en-ca, en-us MIME-Version: 1.0 To: dev@httpd.apache.org Subject: Re: [PATCH] #39275 MaxClients on startup [Was: Bug in 2.0.56-dev] References: <20060408221021.GA10072@none.at> <443C16B1.1090706@pearsoncmg.com> <44567774.9070809@apache.org> In-Reply-To: X-Enigmail-Version: 0.93.0.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Jeff Trawick wrote: > On 5/1/06, Greg Ames wrote: > >> after more thought, there is a simpler patch that should do the job. the key to both of >> these is how threads in SERVER_DEAD state with a pid in the scoreboard are treated. this >> means that p_i_s_m forked on a previous timer pop but some thread never made it into >> SERVER_STARTING state. >> >> the difference: this patch just counts those potential threads as idle, and allows >> MinSpareThreads worth of processes to be forked before putting on the brakes. the >> previous patch pauses the forking immediately when the strange situation is detected but >> requires more code and a new variable. > > new patch is fine with me; I think we've lost our other interested > parties on this thread anyway ;) I'm still here! I had to be away from the keyboard most of last week, so have only returned to this thread (pun intended, alas) recently. I also found myself fixing a variety of other things that turned up in the vicinity of this issue; patches forthcoming on those subjects. This is indeed a very straightforward fix; I've been trying to ponder its consequences overnight. The questions I've got (no answers yet, just thought I'd ping so you know I'm here) would be (a) whether you want to allow for SERVER_GRACEFUL as well to be counted as idle, and (b) whether there's any reason to want to not proceed through the if (any_dead_threads && ...) logic that follows in p_i_s_m(). If you can bear with me for a day or two more, I should have a collection of patches ready. These tackle the issue by tracking the start and listener threads in a nice new spot in the scoreboard, and also clean up various issues and bugs relating to fork(), ThreadLimit, ServerLimit, MaxClients, etc. They also tackle some issues raised in various XXX comments and clean up some stale cruft in scoreboard.h. Chris. -- GPG Key ID: 366A375B GPG Key Fingerprint: 485E 5041 17E1 E2BB C263 E4DE C8E3 FA36 366A 375B