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;
}