Return-Path: owner-new-httpd Received: by taz.hyperreal.com (8.6.10/8.6.5) id XAA16296; Mon, 13 Mar 1995 23:47:11 -0800 Received: from lazlo.steam.com by taz.hyperreal.com (8.6.10/8.6.5) with ESMTP id XAA16291; Mon, 13 Mar 1995 23:47:08 -0800 Received: (from cliffs@localhost) by lazlo.steam.com (8.6.10/8.6.9) id XAA09845 for new-httpd@hyperreal.com; Mon, 13 Mar 1995 23:51:53 -0800 Message-Id: <199503140751.XAA09845@lazlo.steam.com> From: cliffs@steam.com (Cliff Skolnick) Date: Mon, 13 Mar 1995 23:51:52 PST In-Reply-To: Rob Hartill "non-forking again" (Mar 13, 11:59pm) X-Mailer: Mail User's Shell (7.1.1 5/02/90) To: new-httpd@hyperreal.com Subject: Re: non-forking again Sender: owner-new-httpd@hyperreal.com Precedence: bulk Reply-To: new-httpd@hyperreal.com On Mar 13, 11:59pm, Rob Hartill wrote: } } Having all N processes listenening to the port simultaneously } doesn't seem cause any problems, but I've set it up so that } they all ask a parent process if they are allowed to accept() } something. } } Either way works just fine, but somehow I suspect it can't } be this easy - or can it ? Agh, yes it *is* that easy :-) What for of IPC are you using? BSDI (and others) lack all forms of system V IPC. The problem was only with in MP systems (well at least solrais 2.x and SGI), If multiple processes did an accept, it was not defined what would happend. The good old socket interface was written before MP machines were the norm. The solution was to make sure only one process was doing an accept on the initial socket at a time. } } if you load http://ooo.lanl.gov:8008/ it'll tell you what } process number is running - I've set N=5, so if you tie up } some of the connections with telnet, you'll see that the server } is eventually forceed to run all the processes. Have you tested this on an MP machine yet?