You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by tr...@apache.org on 2009/03/26 13:45:12 UTC

svn commit: r758613 - in /httpd/httpd/trunk: ./ docs/manual/mod/ docs/manual/programs/ include/ server/ server/mpm/ server/mpm/experimental/leader/ server/mpm/experimental/perchild/ server/mpm/experimental/threadpool/

Author: trawick
Date: Thu Mar 26 12:44:48 2009
New Revision: 758613

URL: http://svn.apache.org/viewvc?rev=758613&view=rev
Log:
remove leader, perchild, and threadpool MPMs (other than non-English bits in common parts of the manual)

Removed:
    httpd/httpd/trunk/docs/manual/mod/leader.html
    httpd/httpd/trunk/docs/manual/mod/leader.html.de
    httpd/httpd/trunk/docs/manual/mod/leader.html.en
    httpd/httpd/trunk/docs/manual/mod/leader.html.ko.euc-kr
    httpd/httpd/trunk/docs/manual/mod/leader.xml
    httpd/httpd/trunk/docs/manual/mod/leader.xml.de
    httpd/httpd/trunk/docs/manual/mod/leader.xml.ko
    httpd/httpd/trunk/docs/manual/mod/leader.xml.meta
    httpd/httpd/trunk/docs/manual/mod/perchild.html
    httpd/httpd/trunk/docs/manual/mod/perchild.html.en
    httpd/httpd/trunk/docs/manual/mod/perchild.xml
    httpd/httpd/trunk/docs/manual/mod/perchild.xml.meta
    httpd/httpd/trunk/docs/manual/mod/threadpool.html
    httpd/httpd/trunk/docs/manual/mod/threadpool.html.en
    httpd/httpd/trunk/docs/manual/mod/threadpool.xml
    httpd/httpd/trunk/docs/manual/mod/threadpool.xml.meta
    httpd/httpd/trunk/server/mpm/experimental/leader/
    httpd/httpd/trunk/server/mpm/experimental/perchild/
    httpd/httpd/trunk/server/mpm/experimental/threadpool/
Modified:
    httpd/httpd/trunk/STATUS
    httpd/httpd/trunk/docs/manual/mod/mod_privileges.xml
    httpd/httpd/trunk/docs/manual/mod/mpm_common.xml
    httpd/httpd/trunk/docs/manual/programs/configure.xml
    httpd/httpd/trunk/include/util_mutex.h
    httpd/httpd/trunk/server/core_filters.c
    httpd/httpd/trunk/server/mpm/MPM.NAMING
    httpd/httpd/trunk/server/mpm/config.m4
    httpd/httpd/trunk/server/mpm_common.c
    httpd/httpd/trunk/server/util_mutex.c

Modified: httpd/httpd/trunk/STATUS
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/STATUS?rev=758613&r1=758612&r2=758613&view=diff
==============================================================================
--- httpd/httpd/trunk/STATUS (original)
+++ httpd/httpd/trunk/STATUS Thu Mar 26 12:44:48 2009
@@ -190,13 +190,6 @@
        walk if the path was entirely invalid; and we can't do that either
        UNTIL 2.1 or we break modules that haven't hooked map_to_storage.
 
-  * With AP_MODE_EXHAUSTIVE in the core, it is finally clear to me
-    how the Perchild MPM should be re-written.  It hasn't worked
-    correctly since filters were added because it wasn't possible to
-    get the content that had already been written and the socket at
-    the same time.  This mode lets us do that, so the MPM can be
-    fixed.
-
   * Can a static httpd be built reliably?
       Message-ID: <20...@clove.org>
 
@@ -207,12 +200,6 @@
     Jeff wonders if we still care about this.  It is no longer an
     API issue but simply an extra trip through the brigade.
 
-  * Get perchild to work on platforms other than Linux. This
-    will require a portable mechanism to pass data and file/socket
-    descriptors between vhost child groups. An API was proposed
-    on dev@apr:
-      Message-ID: <20...@clove.org>
-
   * Try to get libtool inter-library dependency code working on AIX.
       Message-ID: <cm...@rdu163-40-092.nc.rr.com>
 

Modified: httpd/httpd/trunk/docs/manual/mod/mod_privileges.xml
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/mod_privileges.xml?rev=758613&r1=758612&r2=758613&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/mod/mod_privileges.xml (original)
+++ httpd/httpd/trunk/docs/manual/mod/mod_privileges.xml Thu Mar 26 12:44:48 2009
@@ -36,10 +36,10 @@
 <a href="http://www.sun.com/bigadmin/features/articles/least_privilege.jsp"
 >Solaris Privileges</a>.  In particular, it offers a solution to the
 problem of privilege separation between different Virtual Hosts, first
-promised by the abandoned <module>perchild</module> MPM.
-It also offers other security enhancements.</p>
+promised by the abandoned perchild MPM.  It also offers other security
+enhancements.</p>
 
-<p>Unlike <module>perchild</module>, <module>mod_privileges</module>
+<p>Unlike perchild, <module>mod_privileges</module>
 is not itself an MPM.  It works <em>within</em> a processing model to
 set privileges and User/Group <em>per request</em> in a running process.
 It is therefore not compatible with a threaded MPM, and will refuse

Modified: httpd/httpd/trunk/docs/manual/mod/mpm_common.xml
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/mpm_common.xml?rev=758613&r1=758612&r2=758613&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/mod/mpm_common.xml (original)
+++ httpd/httpd/trunk/docs/manual/mod/mpm_common.xml Thu Mar 26 12:44:48 2009
@@ -34,8 +34,7 @@
 <syntax>AcceptMutex Default|<var>method</var></syntax>
 <default>AcceptMutex Default</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>leader</module><module>perchild</module>
-<module>prefork</module><module>threadpool</module><module>worker</module>
+<modulelist><module>prefork</module><module>worker</module>
 </modulelist>
 
 <usage>
@@ -125,9 +124,9 @@
 <syntax>CoreDumpDirectory <var>directory</var></syntax>
 <default>See usage for the default setting</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>beos</module><module>leader</module>
-<module>mpm_winnt</module><module>perchild</module><module>prefork</module>
-<module>threadpool</module><module>worker</module></modulelist>
+<modulelist><module>beos</module>
+<module>mpm_winnt</module><module>prefork</module>
+<module>worker</module></modulelist>
 
 <usage>
     <p>This controls the directory to which Apache attempts to
@@ -155,9 +154,8 @@
 <syntax>EnableExceptionHook On|Off</syntax>
 <default>EnableExceptionHook Off</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>leader</module><module>perchild</module>
-<module>prefork</module><module>threadpool</module>
-<module>worker</module></modulelist>
+<modulelist>
+<module>prefork</module><module>worker</module></modulelist>
 <compatibility>Available in version 2.0.49 and later</compatibility>
 
 <usage>
@@ -202,10 +200,9 @@
 <syntax>PidFile <var>filename</var></syntax>
 <default>PidFile logs/httpd.pid</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>beos</module><module>leader</module>
+<modulelist><module>beos</module>
 <module>mpm_winnt</module><module>mpmt_os2</module>
-<module>perchild</module><module>prefork</module>
-<module>threadpool</module><module>worker</module></modulelist>
+<module>prefork</module><module>worker</module></modulelist>
 
 <usage>
     <p>The <directive>PidFile</directive> directive sets the file to
@@ -242,10 +239,10 @@
 listens to</description>
 <syntax>Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</syntax>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>beos</module><module>leader</module>
+<modulelist><module>beos</module>
 <module>mpm_netware</module><module>mpm_winnt</module>
-<module>mpmt_os2</module><module>perchild</module>
-<module>prefork</module><module>threadpool</module><module>worker</module>
+<module>mpmt_os2</module>
+<module>prefork</module><module>worker</module>
 <module>event</module>
 </modulelist>
 <compatibility>Required directive since Apache 2.0<br/>
@@ -325,10 +322,10 @@
 <syntax>ListenBacklog <var>backlog</var></syntax>
 <default>ListenBacklog 511</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>beos</module><module>leader</module>
+<modulelist><module>beos</module>
 <module>mpm_netware</module><module>mpm_winnt</module>
-<module>mpmt_os2</module><module>perchild</module><module>prefork</module>
-<module>threadpool</module><module>worker</module></modulelist>
+<module>mpmt_os2</module><module>prefork</module>
+<module>worker</module></modulelist>
 
 <usage>
     <p>The maximum length of the queue of pending connections.
@@ -351,8 +348,8 @@
 <syntax>LockFile <var>filename</var></syntax>
 <default>LockFile logs/accept.lock</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>leader</module><module>perchild</module>
-<module>prefork</module><module>threadpool</module><module>worker</module>
+<modulelist>
+<module>prefork</module><module>worker</module>
 </modulelist>
 
 <usage>
@@ -391,8 +388,8 @@
 <syntax>MaxClients <var>number</var></syntax>
 <default>See usage for details</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>beos</module><module>leader</module>
-<module>prefork</module><module>threadpool</module><module>worker</module>
+<modulelist><module>beos</module>
+<module>prefork</module><module>worker</module>
 </modulelist>
 
 <usage>
@@ -431,9 +428,9 @@
 <syntax>MaxMemFree <var>KBytes</var></syntax>
 <default>MaxMemFree 0</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>beos</module><module>leader</module>
+<modulelist><module>beos</module>
 <module>mpm_netware</module><module>prefork</module>
-<module>threadpool</module><module>worker</module><module>mpm_winnt</module></modulelist>
+<module>worker</module><module>mpm_winnt</module></modulelist>
 
 <usage>
     <p>The <directive>MaxMemFree</directive> directive sets the
@@ -450,10 +447,9 @@
 <syntax>MaxRequestsPerChild <var>number</var></syntax>
 <default>MaxRequestsPerChild 10000</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>leader</module><module>mpm_netware</module>
+<modulelist><module>mpm_netware</module>
 <module>mpm_winnt</module><module>mpmt_os2</module>
-<module>perchild</module><module>prefork</module>
-<module>threadpool</module><module>worker</module></modulelist>
+<module>prefork</module><module>worker</module></modulelist>
 
 <usage>
     <p>The <directive>MaxRequestsPerChild</directive> directive sets
@@ -487,26 +483,19 @@
 <syntax>MaxSpareThreads <var>number</var></syntax>
 <default>See usage for details</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>beos</module><module>leader</module>
+<modulelist><module>beos</module>
 <module>mpm_netware</module><module>mpmt_os2</module>
-<module>perchild</module><module>threadpool</module><module>worker</module>
-</modulelist>
+<module>worker</module></modulelist>
 
 <usage>
     <p>Maximum number of idle threads. Different MPMs deal with this
     directive differently.</p>
 
-    <p>For <module>perchild</module> the default is
-    <code>MaxSpareThreads 10</code>. This MPM monitors the number of
-    idle threads on a per-child basis. If there are too many idle
-    threads in that child, the server will begin to kill threads
-    within that child.</p>
-
-    <p>For <module>worker</module>, <module>leader</module> and <module
-    >threadpool</module> the default is <code>MaxSpareThreads 250</code>.
-    These MPMs deal with idle threads on a server-wide basis. If there
-    are too many idle threads in the server then child processes are
-    killed until the number of idle threads is less than this number.</p>
+    <p>For <module>worker</module>, the default is 
+    <code>MaxSpareThreads 250</code>. This MPM deals with idle threads
+    on a server-wide basis. If there are too many idle threads in the
+    server then child processes are killed until the number of idle
+    threads is less than this number.</p>
 
     <p>For <module>mpm_netware</module> the default is
     <code>MaxSpareThreads 100</code>. Since this MPM runs a
@@ -522,16 +511,11 @@
       is restricted. Apache will correct the given value automatically
       according to the following rules:</p>
       <ul>
-        <li><module>perchild</module> requires <directive
-        >MaxSpareThreads</directive> to be less or equal than <directive
-        module="mpm_common">ThreadLimit</directive>.</li>
-
         <li><module>mpm_netware</module> wants the value to be greater than
         <directive module="mpm_common">MinSpareThreads</directive>.</li>
 
-        <li>For <module>leader</module>, <module>threadpool</module> and
-        <module>worker</module> the value must be greater or equal than
-        the sum of <directive module="mpm_common">MinSpareThreads</directive>
+        <li>For <module>worker</module>, the value must be greater or equal
+        to the sum of <directive module="mpm_common">MinSpareThreads</directive>
         and <directive module="mpm_common">ThreadsPerChild</directive>.</li>
       </ul>
     </note>
@@ -547,28 +531,17 @@
 <syntax>MinSpareThreads <var>number</var></syntax>
 <default>See usage for details</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>beos</module><module>leader</module>
+<modulelist><module>beos</module>
 <module>mpm_netware</module><module>mpmt_os2</module>
-<module>perchild</module><module>threadpool</module><module>worker</module>
-</modulelist>
+<module>worker</module></modulelist>
 
 <usage>
     <p>Minimum number of idle threads to handle request spikes.
     Different MPMs deal with this directive
     differently.</p>
 
-    <p><module>perchild</module> uses a default of
-    <code>MinSpareThreads 5</code> and monitors the number of idle
-    threads on a per-child basis. If there aren't enough idle threads
-    in that child, the server will begin to create new threads within
-    that child. Thus, if you set <directive module="perchild"
-    >NumServers</directive> to <code>10</code> and a <directive
-    >MinSpareThreads</directive> value of <code>5</code>, you'll have
-    at least 50 idle threads on your system.</p>
-
-    <p><module>worker</module>, <module>leader</module> and
-    <module>threadpool</module> use a default of <code>MinSpareThreads
-    75</code> and deal with idle threads on a server-wide basis. If
+    <p><module>worker</module> uses a default of <code>MinSpareThreads
+    75</code> and deals with idle threads on a server-wide basis. If
     there aren't enough idle threads in the server then child
     processes are created until the number of idle threads is greater
     than <var>number</var>.</p>
@@ -593,9 +566,9 @@
 <syntax>ScoreBoardFile <var>file-path</var></syntax>
 <default>ScoreBoardFile logs/apache_status</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>beos</module><module>leader</module>
-<module>mpm_winnt</module><module>perchild</module><module>prefork</module>
-<module>threadpool</module><module>worker</module></modulelist>
+<modulelist><module>beos</module>
+<module>mpm_winnt</module><module>prefork</module>
+<module>worker</module></modulelist>
 
 <usage>
     <p>Apache uses a scoreboard to communicate between its parent
@@ -628,10 +601,10 @@
 <syntax>ReceiveBufferSize <var>bytes</var></syntax>
 <default>ReceiveBufferSize 0</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>beos</module><module>leader</module>
+<modulelist><module>beos</module>
 <module>mpm_netware</module><module>mpm_winnt</module>
-<module>mpmt_os2</module><module>perchild</module><module>prefork</module>
-<module>threadpool</module><module>worker</module></modulelist>
+<module>mpmt_os2</module><module>prefork</module>
+<module>worker</module></modulelist>
 
 <usage>
     <p>The server will set the TCP receive buffer size to the number of
@@ -648,10 +621,10 @@
 <syntax>SendBufferSize <var>bytes</var></syntax>
 <default>SendBufferSize 0</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>beos</module><module>leader</module>
+<modulelist><module>beos</module>
 <module>mpm_netware</module><module>mpm_winnt</module>
-<module>mpmt_os2</module><module>perchild</module><module>prefork</module>
-<module>threadpool</module><module>worker</module></modulelist>
+<module>mpmt_os2</module><module>prefork</module>
+<module>worker</module></modulelist>
 
 <usage>
     <p>The server will set the TCP send buffer size to the number of bytes
@@ -670,8 +643,7 @@
 <syntax>ServerLimit <var>number</var></syntax>
 <default>See usage for details</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>leader</module><module>perchild</module>
-<module>prefork</module><module>threadpool</module><module>worker</module>
+<modulelist><module>prefork</module><module>worker</module>
 </modulelist>
 
 <usage>
@@ -703,8 +675,7 @@
     might want to set <directive
     module="mpm_common">MaxClients</directive> to.</p>
 
-    <p>With <module>worker</module>, <module>leader</module> and
-    <module>threadpool</module> use this directive only
+    <p>With <module>worker</module>, use this directive only
     if your <directive module="mpm_common">MaxClients</directive> and
     <directive module="mpm_common">ThreadsPerChild</directive>
     settings require more than 16 server processes (default). Do not set
@@ -713,10 +684,6 @@
     module="mpm_common">MaxClients </directive> and <directive
     module="mpm_common">ThreadsPerChild</directive>.</p>
 
-    <p>With the <module>perchild</module> MPM, use this directive only
-    if you need to set <directive
-    module="perchild">NumServers</directive> higher than 8 (default).</p>
-
     <note><title>Note</title>
       <p>There is a hard limit of <code>ServerLimit 20000</code> compiled
       into the server (for the <module>prefork</module> MPM 200000). This is
@@ -732,8 +699,8 @@
 <syntax>StartServers <var>number</var></syntax>
 <default>See usage for details</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>leader</module><module>mpmt_os2</module>
-<module>prefork</module><module>threadpool</module><module>worker</module>
+<modulelist><module>mpmt_os2</module>
+<module>prefork</module><module>worker</module>
 </modulelist>
 
 <usage>
@@ -742,11 +709,10 @@
     of processes is dynamically controlled depending on the load,
     there is usually little reason to adjust this parameter.</p>
 
-    <p>The default value differs from MPM to MPM. For
-    <module>leader</module>, <module>threadpool</module> and
-    <module>worker</module> the default is <code>StartServers 3</code>.
-    For <module>prefork</module> defaults to <code>5</code> and for
-    <module>mpmt_os2</module> to <code>2</code>.</p>
+    <p>The default value differs from MPM to MPM. <module>worker</module>
+    defaults to <code>StartServers 3</code>; <module>prefork</module> 
+    defaults to <code>5</code>; <module>mpmt_os2</module> defaults to
+    <code>2</code>.</p>
 </usage>
 </directivesynopsis>
 
@@ -757,7 +723,7 @@
 <default>See usage for details</default>
 <contextlist><context>server config</context></contextlist>
 <modulelist><module>beos</module><module>mpm_netware</module>
-<module>perchild</module></modulelist>
+</modulelist>
 
 <usage>
     <p>Number of threads created on startup. As the
@@ -765,10 +731,6 @@
     load, there is usually little reason to adjust this
     parameter.</p>
 
-    <p>For <module>perchild</module> the default is <code>StartThreads
-    5</code> and this directive tracks the number of threads per
-    process at startup.</p>
-
     <p>For <module>mpm_netware</module> the default is
     <code>StartThreads 50</code> and, since there is only a single
     process, this is the total number of threads created at startup to
@@ -787,8 +749,7 @@
 <syntax>ThreadLimit <var>number</var></syntax>
 <default>See usage for details</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>leader</module><module>mpm_winnt</module>
-<module>perchild</module><module>threadpool</module><module>worker</module>
+<modulelist><module>mpm_winnt</module><module>worker</module>
 </modulelist>
 <compatibility>Available for <module>mpm_winnt</module> in Apache 2.0.41
 and later</compatibility>
@@ -832,8 +793,7 @@
 <syntax>ThreadsPerChild <var>number</var></syntax>
 <default>See usage for details</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>leader</module><module>mpm_winnt</module>
-<module>threadpool</module><module>worker</module></modulelist>
+<modulelist><module>mpm_winnt</module><module>worker</module></modulelist>
 
 <usage>
     <p>This directive sets the number of threads created by each
@@ -858,9 +818,8 @@
 <syntax>ThreadStackSize <var>size</var></syntax>
 <default>65536 on NetWare; varies on other operating systems</default>
 <contextlist><context>server config</context></contextlist>
-<modulelist><module>leader</module><module>mpm_netware</module>
-<module>mpm_winnt</module><module>perchild</module>
-<module>threadpool</module><module>worker</module>
+<modulelist><module>mpm_netware</module>
+<module>mpm_winnt</module><module>worker</module>
 </modulelist>
 <compatibility>Available in Apache 2.1 and later</compatibility>
 

Modified: httpd/httpd/trunk/docs/manual/programs/configure.xml
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/programs/configure.xml?rev=758613&r1=758612&r2=758613&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/programs/configure.xml (original)
+++ httpd/httpd/trunk/docs/manual/programs/configure.xml Thu Mar 26 12:44:48 2009
@@ -327,10 +327,9 @@
           option to disable CGI support.</dd>
 
         <dt><code>--disable-cgid</code></dt>
-        <dd>When using the threaded MPMs <module>worker</module> or
-          <module>perchild</module> support for CGI scripts is provided by
-          <module>mod_cgid</module> by default. To disable CGI support use
-          this option.</dd>
+        <dd>When using the threaded MPM <module>worker</module>,
+          support for CGI scripts is provided by <module>mod_cgid</module>
+          by default. To disable CGI support use this option.</dd>
 
         <dt><code>--disable-charset-lite</code></dt>
         <dd>Disable character set translation provided by
@@ -663,10 +662,8 @@
           exactly one <a href="../mpm.html">Multi-Processing Module</a>.
           Otherwise the <a href="../mpm.html#defaults">default MPM</a> for
           your operating system will be taken. Possible MPMs are
-          <module>beos</module>, <module>leader</module>,
-          <module>mpmt_os2</module>, <module>perchild</module>,
-          <module>prefork</module>, <module>threadpool</module> and
-          <module>worker</module>.</dd>
+          <module>beos</module>, <module>mpmt_os2</module>,
+          <module>prefork</module> and <module>worker</module>.</dd>
       </dl>
     </section>
 

Modified: httpd/httpd/trunk/include/util_mutex.h
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/include/util_mutex.h?rev=758613&r1=758612&r2=758613&view=diff
==============================================================================
--- httpd/httpd/trunk/include/util_mutex.h (original)
+++ httpd/httpd/trunk/include/util_mutex.h Thu Mar 26 12:44:48 2009
@@ -39,7 +39,7 @@
 #else
 # define AP_LIST_FCNTL_SERIALIZE
 #endif
-#if APR_HAS_SYSVSEM_SERIALIZE && !defined(PERCHILD_MPM)
+#if APR_HAS_SYSVSEM_SERIALIZE
 # define AP_LIST_SYSVSEM_SERIALIZE ", 'sysvsem'"
 #else
 # define AP_LIST_SYSVSEM_SERIALIZE
@@ -59,7 +59,7 @@
 #else
 # define AP_LIST_FILE_SERIALIZE
 #endif
-#if (APR_HAS_SYSVSEM_SERIALIZE && !defined(PERCHILD_MPM)) || APR_HAS_POSIXSEM_SERIALIZE
+#if APR_HAS_SYSVSEM_SERIALIZE || APR_HAS_POSIXSEM_SERIALIZE
 # define AP_LIST_SEM_SERIALIZE ", 'sem'"
 #else
 # define AP_LIST_SEM_SERIALIZE

Modified: httpd/httpd/trunk/server/core_filters.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/core_filters.c?rev=758613&r1=758612&r2=758613&view=diff
==============================================================================
--- httpd/httpd/trunk/server/core_filters.c (original)
+++ httpd/httpd/trunk/server/core_filters.c Thu Mar 26 12:44:48 2009
@@ -212,10 +212,9 @@
      * the brigade that was passed down, and send that brigade back.
      *
      * NOTE:  This is VERY dangerous to use, and should only be done with
-     * extreme caution.  However, the Perchild MPM needs this feature
-     * if it is ever going to work correctly again.  With this, the Perchild
-     * MPM can easily request the socket and all data that has been read,
-     * which means that it can pass it to the correct child process.
+     * extreme caution.  FWLIW, this would be needed by an MPM like Perchild;
+     * such an MPM can easily request the socket and all data that has been
+     * read, which means that it can pass it to the correct child process.
      */
     if (mode == AP_MODE_EXHAUSTIVE) {
         apr_bucket *e;

Modified: httpd/httpd/trunk/server/mpm/MPM.NAMING
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm/MPM.NAMING?rev=758613&r1=758612&r2=758613&view=diff
==============================================================================
--- httpd/httpd/trunk/server/mpm/MPM.NAMING (original)
+++ httpd/httpd/trunk/server/mpm/MPM.NAMING Thu Mar 26 12:44:48 2009
@@ -5,9 +5,6 @@
                   depending on configuration and operating systems.  Should
                   be able to run on all modern operating systems.
   prefork ....... Multi  Process Model with Preforking (Apache 1.3)
-  perchild ...... Multi  Process Model with Threading.
-                  Constant number of processes, variable number of threads
-                  each child process can have a different uid/gid.  
   mpmt_os2 ...... Multi Process Model with Threading on OS/2
                   Constant number of processes, variable number of threads.
                   One acceptor thread per process, multiple workers threads.

Modified: httpd/httpd/trunk/server/mpm/config.m4
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm/config.m4?rev=758613&r1=758612&r2=758613&view=diff
==============================================================================
--- httpd/httpd/trunk/server/mpm/config.m4 (original)
+++ httpd/httpd/trunk/server/mpm/config.m4 Thu Mar 26 12:44:48 2009
@@ -1,7 +1,7 @@
 AC_MSG_CHECKING(which MPM to use)
 AC_ARG_WITH(mpm,
 APACHE_HELP_STRING(--with-mpm=MPM,Choose the process model for Apache to use.
-                          MPM={simple|beos|event|worker|prefork|mpmt_os2|perchild|leader|threadpool|winnt}
+                          MPM={simple|beos|event|worker|prefork|mpmt_os2|winnt}
                           Specify "shared" instead of an MPM name to load MPMs dynamically.
 ),[
   APACHE_MPM=$withval
@@ -17,7 +17,7 @@
 dnl Note that a build with an explicitly loaded MPM must support threaded MPMs.
 ap_mpm_is_threaded ()
 {
-    if test "$apache_cv_mpm" = "shared" -o "$apache_cv_mpm" = "worker" -o "$apache_cv_mpm" = "event" -o "$apache_cv_mpm" = "simple" -o "$apache_cv_mpm" = "perchild" -o "$apache_cv_mpm" = "leader" -o "$apache_cv_mpm" = "winnt" -o "$apache_cv_mpm" = "threadpool" ; then
+    if test "$apache_cv_mpm" = "shared" -o "$apache_cv_mpm" = "worker" -o "$apache_cv_mpm" = "event" -o "$apache_cv_mpm" = "simple" -o "$apache_cv_mpm" = "winnt" ; then
         return 0
     else
         return 1
@@ -27,7 +27,7 @@
 dnl No such check for a shared MPM.
 ap_mpm_is_experimental ()
 {
-    if test "$apache_cv_mpm" = "event" -o "$apache_cv_mpm" = "perchild" -o "$apache_cv_mpm" = "leader" -o "$apache_cv_mpm" = "threadpool" ; then
+    if test "$apache_cv_mpm" = "event"; then
         return 0
     else
         return 1

Modified: httpd/httpd/trunk/server/mpm_common.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm_common.c?rev=758613&r1=758612&r2=758613&view=diff
==============================================================================
--- httpd/httpd/trunk/server/mpm_common.c (original)
+++ httpd/httpd/trunk/server/mpm_common.c Thu Mar 26 12:44:48 2009
@@ -357,17 +357,6 @@
                                arg, NULL);
     }
 
-    /* perchild can't use SysV sems because the permissions on the accept
-     * mutex can't be set to allow all processes to use the mutex and
-     * at the same time keep all users from being able to dink with the
-     * mutex
-     */
-#if defined(PERCHILD_MPM)
-    if (ap_accept_lock_mech == APR_LOCK_SYSVSEM) {
-        return apr_pstrcat(cmd->pool, "Invalid AcceptMutex argument ", arg,
-                           " (" AP_AVAILABLE_MUTEXES_STRING ")", NULL);
-    }
-#endif
     if (lockfile && !ap_lock_fname)
         ap_lock_fname = lockfile;
     return NULL;

Modified: httpd/httpd/trunk/server/util_mutex.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/util_mutex.c?rev=758613&r1=758612&r2=758613&view=diff
==============================================================================
--- httpd/httpd/trunk/server/util_mutex.c (original)
+++ httpd/httpd/trunk/server/util_mutex.c Thu Mar 26 12:44:48 2009
@@ -85,7 +85,7 @@
         }
     }
 #endif
-#if APR_HAS_SYSVSEM_SERIALIZE && !defined(PERCHILD_MPM)
+#if APR_HAS_SYSVSEM_SERIALIZE
     else if (!strcasecmp(meth, "sysvsem") || !strcasecmp(meth, "sem")) {
         *mutexmech = APR_LOCK_SYSVSEM;
     }