blob: cf6b93a9a4725de530546b2c4469c3f31c2f5d01 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
<modulesynopsis metafile="leader.xml.meta">
<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>
|