Return-Path: Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 97227 invoked by uid 500); 18 Nov 2001 02:27:09 -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: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 97216 invoked from network); 18 Nov 2001 02:27:09 -0000 Errors-To: Message-ID: <0aad01c16fd8$77863df0$93c0b0d0@v505> From: "William A. Rowe, Jr." To: , References: <20011118100836.E522.RAGENT@gnuchina.org> Subject: Re: hi,about souce reading Date: Sat, 17 Nov 2001 20:20:53 -0600 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N From: "Liu Wen" Sent: Saturday, November 17, 2001 8:10 PM > hi,folks > I am starting out reading Apache source code as a first step to learn > Unix Environment and Network Programming. while can you give me some > directions for reading? This might sound crazy, but I would start with the httpd-2.0/server/mpm/prefork directory, and review the basic outline of how prefork works and runs. Prefork starts its life as one process that reviews the configuration, then forks like crazy into tens to hundreds of copies that serve individual requests. Since the raw network_io stuff is in a directory srclib/apr/network_io/unix/ it's pretty easy to read over the abstractions, and then look at exactly how they were implemented. Better yet - if you want to understand BeOS, OS2, Win32 or NetWare, just jump over to the appropriate parallel directory and you can get a glimpse of the differences. If you try using 1.3, you will fall into http_main.c, a monstrosity of code that goes on for miles. The Apache 2.0 mpm architecture neatly broke things up into parts, and the prefork flavor is probably the simplest to understand. Bill