Return-Path: Delivered-To: apmail-apache-cvs-archive@apache.org Received: (qmail 58188 invoked by uid 500); 6 Aug 2001 15:57:11 -0000 Mailing-List: contact apache-cvs-help@apache.org; run by ezmlm Precedence: bulk Reply-To: new-httpd@apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list apache-cvs@apache.org Received: (qmail 58177 invoked by uid 500); 6 Aug 2001 15:57:11 -0000 Delivered-To: apmail-httpd-2.0-cvs@apache.org Date: 6 Aug 2001 15:55:43 -0000 Message-ID: <20010806155543.91309.qmail@icarus.apache.org> From: rbb@apache.org To: httpd-2.0-cvs@apache.org Subject: cvs commit: httpd-2.0/server/mpm/worker worker.c X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N Status: O X-Status: X-Keywords: X-UID: 61 rbb 01/08/06 08:55:43 Modified: server/mpm MPM.NAMING server/mpm/worker worker.c Log: Explain the worker MPM Revision Changes Path 1.8 +2 -0 httpd-2.0/server/mpm/MPM.NAMING Index: MPM.NAMING =================================================================== RCS file: /home/cvs/httpd-2.0/server/mpm/MPM.NAMING,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- MPM.NAMING 2001/04/25 13:07:43 1.7 +++ MPM.NAMING 2001/08/06 15:55:43 1.8 @@ -10,4 +10,6 @@ threads/child (= Apache/thread) spmt_os2 ...... Single Process Model with Threading on OS/2 winnt ......... Single Process Model with Threading on Windows NT + worker ........ Multi Process model with threads. One acceptor thread, + multiple worker threads. 1.9 +7 -0 httpd-2.0/server/mpm/worker/worker.c Index: worker.c =================================================================== RCS file: /home/cvs/httpd-2.0/server/mpm/worker/worker.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- worker.c 2001/08/05 18:41:38 1.8 +++ worker.c 2001/08/06 15:55:43 1.9 @@ -56,6 +56,13 @@ * University of Illinois, Urbana-Champaign. */ +/* The purpose of this MPM is to fix the design flaws in the threaded + * model. Because of the way that pthreads and mutex locks interact, + * it is basically impossible to cleanly gracefully shutdown a child + * process if multiple threads are all blocked in accept. This model + * fixes those problems. + */ + #include "apr.h" #include "apr_portable.h" #include "apr_strings.h"