--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
+<modulesynopsis>
+
+<name>beos</name>
+<description>This Multi-Processing Module is optimized for BeOS.</description>
+<status>MPM</status>
+<sourcefile>beos.c</sourcefile>
+<identifier>mpm_beos_module</identifier>
+
+<summary>
+ <p>This Multi-Processing Module (MPM) is the default for BeOS. It uses
+ a single control process creates threads to handle requests.</p>
+</summary>
+<seealso><a href="../bind.html">Setting which addresses and ports Apache
+uses</a></seealso>
+
+<directivesynopsis location="mpm_common"><name>User</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>Group</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>Listen</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>ListenBacklog</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>SendBufferSize</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>StartThreads</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MinSpareThreads</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MaxSpareThreads</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MaxClients</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>CoreDumpDirectory</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MaxMemFree</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>PidFile</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>ScoreBoardFile</name>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>MaxRequestsPerThread</name>
+<description>Limit on the number of requests that an individual thread
+will handle during its life</description>
+<syntax>MaxRequestsPerThread <var>number</var></syntax>
+<default>MaxRequestsPerThread 0</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p>The <directive>MaxRequestsPerThread</directive> directive sets
+ the limit on the number of requests that an individual server thread
+ will handle. After <directive>MaxRequestsPerThread</directive>
+ requests, the thread will die. If <directive
+ >MaxRequestsPerThread</directive> is <code>0</code>, then the thread
+ will never expire.</p>
+
+ <p>Setting <directive>MaxRequestsPerThread</directive> to a
+ non-zero limit has two beneficial effects:</p>
+
+ <ul>
+ <li>it limits the amount of memory that a thread can consume
+ by (accidental) memory leakage;</li>
+
+ <li>by giving threads a finite lifetime, it helps reduce
+ the number of threads when the server load reduces.</li>
+ </ul>
+
+ <note><title>Note:</title>
+ <p>For <directive module="core">KeepAlive</directive> requests, only
+ the first request is counted towards this limit. In effect, it
+ changes the behavior to limit the number of <em>connections</em>
+ per thread.</p>
+ </note>
+</usage>
+</directivesynopsis>
+
+</modulesynopsis>
+
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
+
+<modulesynopsis>
+<name>leader</name>
+<description>An experimental variant of the standard <module>worker</module>
+MPM</description>
+<status>MPM</status>
+<sourcefile>leader.c</sourcefile>
+<identifier>mpm_leader_module</identifier>
+
+<summary>
+ <note type="warning"><title>Warning</title>
+ <p>This MPM is experimental, so it may or may not work
+ as expected.</p>
+ </note>
+
+ <p>This is an experimental variant of the standard
+ <module>worker</module> MPM. It uses a Leader/Followers design pattern
+ to coordinate work among threads. For more info, see <a
+ href="http://deuce.doc.wustl.edu/doc/pspdfs/lf.pdf"
+ >http://deuce.doc.wustl.edu/doc/pspdfs/lf.pdf</a>.</p>
+
+ <p>To use the <module>leader</module> MPM, add
+ <code>--with-mpm=leader</code> to the configure script's arguments
+ when building the httpd.</p>
+
+ <p>This MPM depends on APR's atomic compare-and-swap operations for
+ thread synchronization. If you are compiling for an x86 target
+ and you don't need to support 386s, or you are compiling for a
+ SPARC and you don't need to run on pre-UltraSPARC chips, add
+ <code>--enable-nonportable-atomics=yes</code> to the configure
+ script's arguments. This will cause APR to implement atomic operations
+ using efficient opcodes not available in older CPUs.</p>
+</summary>
+
+<directivesynopsis location="mpm_common"><name>AcceptMutex</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>CoreDumpDirectory</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>Group</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>Listen</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>ListenBacklog</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>SendBufferSize</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>LockFile</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MaxClients</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MaxMemFree</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MaxRequestsPerChild</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MaxSpareThreads</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MinSpareThreads</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>PidFile</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>ScoreBoardFile</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>ServerLimit</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>StartServers</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>ThreadLimit</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>ThreadsPerChild</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>User</name>
+</directivesynopsis>
+
+</modulesynopsis>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
+
+<modulesynopsis>
+
+<name>mpmt_os2</name>
+<description>Hybrid multi-process, multi-threaded MPM for OS/2</description>
+<status>MPM</status>
+<sourcefile>mpmt_os2.c</sourcefile>
+<identifier>mpm_mpmt_os2_module</identifier>
+
+<summary>
+ <p>The Server consists of a main, parent process and a small, static
+ number of child processes.</p>
+
+ <p>The parent process's job is to manage the child processes. This
+ involves spawning children as required to ensure there are always
+ <directive module="mpm_common">StartServers</directive> processes
+ accepting connections.</p>
+
+ <p>Each child process consists of a a pool of worker threads and a
+ main thread that accepts connections and passes them to the workers via
+ a work queue. The worker thread pool is dynamic, managed by a
+ maintenance thread so that the number of idle threads is kept between
+ <directive module="mpm_common">MinSpareThreads</directive> and
+ <directive module="mpm_common">MaxSpareThreads</directive>.</p>
+</summary>
+<seealso><a href="../bind.html">Setting which addresses and ports Apache
+uses</a></seealso>
+
+<directivesynopsis location="mpm_common"><name>User</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>Group</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>Listen</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>ListenBacklog</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>SendBufferSize</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MaxRequestsPerChild</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MaxSpareThreads</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MinSpareThreads</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>PidFile</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>StartServers</name>
+</directivesynopsis>
+
+</modulesynopsis>
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
+
+<modulesynopsis>
+<name>threadpool</name>
+<description>Yet another experimental variant of the standard
+<module>worker</module> MPM</description>
+<status>MPM</status>
+<sourcefile>threadpool.c</sourcefile>
+<identifier>mpm_threadpool_module</identifier>
+
+<summary>
+ <note type="warning"><title>Warning</title>
+ <p>This MPM is a developer playground and highly experimental, so it
+ may or may not work as expected.</p>
+ </note>
+
+ <p>This is an experimental variant of the standard worker MPM.
+ Rather than queuing connections like the worker MPM, the
+ <module>threadpool</module> MPM queues idle worker threads and
+ hands each accepted connection to the next available worker.</p>
+
+ <p>The <module>threadpool</module> MPM can't match the performance of
+ the <module>worker</module> MPM in benchmark testing. As of 2.0.39,
+ some of the key load-throtting concepts from the <module
+ >threadpool</module> MPM have been incorporated into the <module
+ >worker</module> MPM. The <module>threadpool</module> code is useful
+ primarily as a research platform. For general-purpose use and for any
+ production environments, use <module>worker</module> instead.</p>
+</summary>
+
+<directivesynopsis location="mpm_common"><name>AcceptMutex</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>CoreDumpDirectory</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>Group</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>Listen</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>ListenBacklog</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>SendBufferSize</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>LockFile</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MaxClients</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MaxMemFree</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MaxRequestsPerChild</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MaxSpareThreads</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>MinSpareThreads</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>PidFile</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>ScoreBoardFile</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>ServerLimit</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>StartServers</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>ThreadLimit</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>ThreadsPerChild</name>
+</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>User</name>
+</directivesynopsis>
+
+</modulesynopsis>
<modulefile>mod_userdir.xml</modulefile>
<modulefile>mod_usertrack.xml</modulefile>
<modulefile>mod_vhost_alias.xml</modulefile>
+
<modulefile>mpm_common.xml</modulefile>
+ <modulefile>beos.xml</modulefile>
<modulefile>mpm_netware.xml</modulefile>
<modulefile>mpm_winnt.xml</modulefile>
+ <modulefile>mpmt_os2.xml</modulefile>
<modulefile>perchild.xml</modulefile>
<modulefile>prefork.xml</modulefile>
<modulefile>worker.xml</modulefile>
+ <modulefile>leader.xml</modulefile>
+ <modulefile>threadpool.xml</modulefile>
</modulefilelist>
</category>