summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Jagielski <jim@apache.org>2003-03-13 22:23:13 +0100
committerJim Jagielski <jim@apache.org>2003-03-13 22:23:13 +0100
commit826c91ae1636537ab3c86bcfd64dfd0bb8b41416 (patch)
tree8637bdbcb9a53e1fe6c6930119a20e00fb7eb10d
parentI did the work, got out the vote, back-ported it, removed the vote, but forgot (diff)
downloadapache2-826c91ae1636537ab3c86bcfd64dfd0bb8b41416.tar.xz
apache2-826c91ae1636537ab3c86bcfd64dfd0bb8b41416.zip
Document the SSLMutex directives
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@99003 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--docs/manual/mod/mod_ssl.xml57
1 files changed, 45 insertions, 12 deletions
diff --git a/docs/manual/mod/mod_ssl.xml b/docs/manual/mod/mod_ssl.xml
index c8f2e87575..bd0a714ece 100644
--- a/docs/manual/mod/mod_ssl.xml
+++ b/docs/manual/mod/mod_ssl.xml
@@ -180,34 +180,67 @@ operations</description>
This configures the SSL engine's semaphore (aka. lock) which is used for mutual
exclusion of operations which have to be done in a synchronized way between the
pre-forked Apache server processes. This directive can only be used in the
-global server context because it's only useful to have one global mutex.</p>
+global server context because it's only useful to have one global mutex.
+This directive is designed to closely match the
+<a href="http://httpd.apache.org/docs-2.0/mod/mpm_common.html#acceptmutex">AcceptMutex</a> directive</p>
<p>
The following Mutex <em>types</em> are available:</p>
<ul>
-<li><code>none</code>
+<li><code>none | no</code>
<p>
This is the default where no Mutex is used at all. Use it at your own
risk. But because currently the Mutex is mainly used for synchronizing
write access to the SSL Session Cache you can live without it as long
as you accept a sometimes garbled Session Cache. So it's not recommended
to leave this the default. Instead configure a real Mutex.</p></li>
-<li><code>file:/path/to/mutex</code>
+<li><code>posixsem</code>
+ <p>
+ This is an elegant Mutex variant where a Posix Semaphore is used when possible.
+ It is only available when the underlying platform
+ and APR supports it.</p></li>
+<li><code>sysvsem</code>
+ <p>
+ This is a somewhat elegant Mutex variant where a SystemV IPC Semaphore is used when
+ possible. It is possible to "leak" SysV semaphores if processes crash before
+ the semaphore is removed. It is only available when the underlying platform
+ and APR supports it.</p></li>
+<li><code>sem</code>
+ <p>
+ This directive tells the SSL Module to pick the "best" semaphore implementation
+ available to it, choosing between Posix and SystemV IPC, in that order. It is only
+ available when the underlying platform and APR supports at least one of the 2.</p></li>
+<li><code>pthread</code>
<p>
- This is the portable and (under Unix) always provided Mutex variant where
- a physical (lock-)file is used as the Mutex. Always use a local disk
- filesystem for <code>/path/to/mutex</code> and never a file residing on a
- NFS- or AFS-filesystem. Note: Internally, the Process ID (PID) of the
+ This directive tells the SSL Module to use Posix thread mutexes. It is only available
+ if the underlying platform and APR supports it.</p></li>
+<li><code>fcntl:/path/to/mutex</code>
+ <p>
+ This is a portable Mutex variant where a physical (lock-)file and the <code>fcntl()</code>
+ fucntion are used as the Mutex.
+ Always use a local disk filesystem for <code>/path/to/mutex</code> and never a file
+ residing on a NFS- or AFS-filesystem. It is only available when the underlying platform
+ and APR supports it. Note: Internally, the Process ID (PID) of the
Apache parent process is automatically appended to
<code>/path/to/mutex</code> to make it unique, so you don't have to worry
about conflicts yourself. Notice that this type of mutex is not available
under the Win32 environment. There you <em>have</em> to use the semaphore
mutex.</p></li>
-<li><code>sem</code>
+<li><code>flock:/path/to/mutex</code>
+ <p>
+ This is similar to the <code>fcntl:/path/to/mutex</code> method with the
+ exception that the <code>flock()</code> function is used to provide file
+ locking. It is only available when the underlying platform
+ and APR supports it.</p></li>
+<li><code>file:/path/to/mutex</code>
+ <p>
+ This directive tells the SSL Module to pick the "best" file locking implementation
+ available to it, choosing between <code>fcntl</code> and <code>flock</code>,
+ in that order. It is only available when the underlying platform and APR supports
+ at least one of the 2.</p></li>
+<li><code>default | yes</code>
<p>
- This is the most elegant but also most non-portable Mutex variant where a
- SysV IPC Semaphore (under Unix) and a Windows Mutex (under Win32) is used
- when possible. It is only available when the underlying platform
- supports it.</p></li>
+ This directive tells the SSL Module to pick the default locking implementation
+ as determined by the platform and APR.</p></li>
</ul>
<example><title>Example</title>
SSLMutex file:/usr/local/apache/logs/ssl_mutex