Return-Path: Delivered-To: apmail-new-httpd-archive@apache.org Received: (qmail 80778 invoked by uid 500); 1 Jun 2000 01:58:52 -0000 Mailing-List: contact new-httpd-help@apache.org; run by ezmlm Precedence: bulk X-No-Archive: yes Reply-To: new-httpd@apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list new-httpd@apache.org Received: (qmail 80767 invoked from network); 1 Jun 2000 01:58:51 -0000 From: "William A. Rowe, Jr." To: Subject: RE: Windows 2.0 MPM design issues Date: Wed, 31 May 2000 20:53:30 -0500 Message-ID: <000401bfcb6c$f49f72a0$345985d0@corecomm.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 In-reply-to: <04bf01bfcb5b$8482f2a0$0100007f@localhost> Importance: Normal X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N > From: jlwpc1 [mailto:jlwpc1@earthlink.net] > Sent: Wednesday, May 31, 2000 5:47 PM > > Windows starts process A (Windows or Console) and main thread > Aa (process A thread a) and then what happens? > > Just in words what it is? In the new scheme? We start in http_main() and start calling the MPM's hooks, in the order I just documented for you. Under Winnt's MPM, we are dual process; Primary process Primary thread of master process creates sockets, spawns the child and pipes the handles to the child. Please skim mpm_winnt.c master_main() for the flow. Second thread (if needed) handles the 9x windows message pump for shutdown or NT service control manager handler. It is known to NT or 9x as the 'service' process. See mpm_service_to_start() in the new service.c for how that hooks in to the server. Second process Many worker threads spewing off web pages, I think they are coordinated by a master thread. Please skim mpm_winnt.c child_main() for the flow. Just a general thought - Apache is really only understood by walking the code - no, there is no master blueprint of the application. If you want to understand the code, jump into it, break it, rework it, and spend some time in the debugger walking it. Bill