1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-06 09:01:14 +03:00

remove references to Irix uslock() mutex primitive

tweak mutex mechanism descriptions to describe them in terms of
AcceptMutex directive instead of ancient 1.3-style CFLAGS for
enabling to the mechanism

PR:         24228


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101897 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jeff Trawick
2003-11-26 02:56:22 +00:00
parent 6c300dd034
commit fc60a9086a
2 changed files with 32 additions and 46 deletions

View File

@@ -673,24 +673,24 @@
directives.</p> directives.</p>
<p>The directive <code class="directive"><a href="../mod/mpm_common.html#acceptmutex">AcceptMutex</a></code> can be used to <p>The directive <code class="directive"><a href="../mod/mpm_common.html#acceptmutex">AcceptMutex</a></code> can be used to
change the selected mutuex implimentation at run-time.</p> change the selected mutex implementation at run-time.</p>
<dl> <dl>
<dt><code>USE_FLOCK_SERIALIZED_ACCEPT</code></dt> <dt><code>AcceptMutex flock</code></dt>
<dd> <dd>
<p>This method uses the <code>flock(2)</code> system call to <p>This method uses the <code>flock(2)</code> system call to
lock a lock file (located by the <code class="directive"><a href="../mod/mpm_common.html#lockfile">LockFile</a></code> directive).</p> lock a lock file (located by the <code class="directive"><a href="../mod/mpm_common.html#lockfile">LockFile</a></code> directive).</p>
</dd> </dd>
<dt><code>USE_FCNTL_SERIALIZED_ACCEPT</code></dt> <dt><code>AcceptMutex fcntl</code></dt>
<dd> <dd>
<p>This method uses the <code>fcntl(2)</code> system call to <p>This method uses the <code>fcntl(2)</code> system call to
lock a lock file (located by the <code class="directive"><a href="../mod/mpm_common.html#lockfile">LockFile</a></code> directive).</p> lock a lock file (located by the <code class="directive"><a href="../mod/mpm_common.html#lockfile">LockFile</a></code> directive).</p>
</dd> </dd>
<dt><code>USE_SYSVSEM_SERIALIZED_ACCEPT</code></dt> <dt><code>AcceptMutex sysvsem</code></dt>
<dd> <dd>
<p>(1.3 or later) This method uses SysV-style semaphores to <p>(1.3 or later) This method uses SysV-style semaphores to
@@ -707,24 +707,7 @@
on most IRIX boxes).</p> on most IRIX boxes).</p>
</dd> </dd>
<dt><code>USE_USLOCK_SERIALIZED_ACCEPT</code></dt> <dt><code>AcceptMutex pthread</code></dt>
<dd>
<p>(1.3 or later) This method is only available on IRIX, and
uses <code>usconfig(2)</code> to create a mutex. While this
method avoids the hassles of SysV-style semaphores, it is not
the default for IRIX. This is because on single processor
IRIX boxes (5.3 or 6.2) the uslock code is two orders of
magnitude slower than the SysV-semaphore code. On
multi-processor IRIX boxes the uslock code is an order of
magnitude faster than the SysV-semaphore code. Kind of a
messed up situation. So if you're using a multiprocessor IRIX
box then you should rebuild your webserver with
<code>-DUSE_USLOCK_SERIALIZED_ACCEPT</code> on the
<code>EXTRA_CFLAGS</code>.</p>
</dd>
<dt><code>USE_PTHREAD_SERIALIZED_ACCEPT</code></dt>
<dd> <dd>
<p>(1.3 or later) This method uses POSIX mutexes and should <p>(1.3 or later) This method uses POSIX mutexes and should
@@ -735,11 +718,21 @@
hanging and not responding. Static content only servers may hanging and not responding. Static content only servers may
work just fine.</p> work just fine.</p>
</dd> </dd>
<dt><code>AcceptMutex posixsem</code></dt>
<dd>
<p>(2.0 or later) This method uses POSIX semaphores. The
semaphore ownership is not recovered if a thread in the process
holding the mutex segfaults, resulting in a hang of the web
server.</p>
</dd>
</dl> </dl>
<p>If your system has another method of serialization which <p>If your system has another method of serialization which
isn't in the above list then it may be worthwhile adding code isn't in the above list then it may be worthwhile adding code
for it (and submitting a patch back to Apache).</p> for it to APR.</p>
<p>Another solution that has been considered but never <p>Another solution that has been considered but never
implemented is to partially serialize the loop -- that is, let implemented is to partially serialize the loop -- that is, let

View File

@@ -689,10 +689,10 @@
<p>The directive <directive <p>The directive <directive
module="mpm_common">AcceptMutex</directive> can be used to module="mpm_common">AcceptMutex</directive> can be used to
change the selected mutuex implimentation at run-time.</p> change the selected mutex implementation at run-time.</p>
<dl> <dl>
<dt><code>USE_FLOCK_SERIALIZED_ACCEPT</code></dt> <dt><code>AcceptMutex flock</code></dt>
<dd> <dd>
<p>This method uses the <code>flock(2)</code> system call to <p>This method uses the <code>flock(2)</code> system call to
@@ -700,7 +700,7 @@
>LockFile</directive> directive).</p> >LockFile</directive> directive).</p>
</dd> </dd>
<dt><code>USE_FCNTL_SERIALIZED_ACCEPT</code></dt> <dt><code>AcceptMutex fcntl</code></dt>
<dd> <dd>
<p>This method uses the <code>fcntl(2)</code> system call to <p>This method uses the <code>fcntl(2)</code> system call to
@@ -708,7 +708,7 @@
>LockFile</directive> directive).</p> >LockFile</directive> directive).</p>
</dd> </dd>
<dt><code>USE_SYSVSEM_SERIALIZED_ACCEPT</code></dt> <dt><code>AcceptMutex sysvsem</code></dt>
<dd> <dd>
<p>(1.3 or later) This method uses SysV-style semaphores to <p>(1.3 or later) This method uses SysV-style semaphores to
@@ -725,24 +725,7 @@
on most IRIX boxes).</p> on most IRIX boxes).</p>
</dd> </dd>
<dt><code>USE_USLOCK_SERIALIZED_ACCEPT</code></dt> <dt><code>AcceptMutex pthread</code></dt>
<dd>
<p>(1.3 or later) This method is only available on IRIX, and
uses <code>usconfig(2)</code> to create a mutex. While this
method avoids the hassles of SysV-style semaphores, it is not
the default for IRIX. This is because on single processor
IRIX boxes (5.3 or 6.2) the uslock code is two orders of
magnitude slower than the SysV-semaphore code. On
multi-processor IRIX boxes the uslock code is an order of
magnitude faster than the SysV-semaphore code. Kind of a
messed up situation. So if you're using a multiprocessor IRIX
box then you should rebuild your webserver with
<code>-DUSE_USLOCK_SERIALIZED_ACCEPT</code> on the
<code>EXTRA_CFLAGS</code>.</p>
</dd>
<dt><code>USE_PTHREAD_SERIALIZED_ACCEPT</code></dt>
<dd> <dd>
<p>(1.3 or later) This method uses POSIX mutexes and should <p>(1.3 or later) This method uses POSIX mutexes and should
@@ -753,11 +736,21 @@
hanging and not responding. Static content only servers may hanging and not responding. Static content only servers may
work just fine.</p> work just fine.</p>
</dd> </dd>
<dt><code>AcceptMutex posixsem</code></dt>
<dd>
<p>(2.0 or later) This method uses POSIX semaphores. The
semaphore ownership is not recovered if a thread in the process
holding the mutex segfaults, resulting in a hang of the web
server.</p>
</dd>
</dl> </dl>
<p>If your system has another method of serialization which <p>If your system has another method of serialization which
isn't in the above list then it may be worthwhile adding code isn't in the above list then it may be worthwhile adding code
for it (and submitting a patch back to Apache).</p> for it to APR.</p>
<p>Another solution that has been considered but never <p>Another solution that has been considered but never
implemented is to partially serialize the loop -- that is, let implemented is to partially serialize the loop -- that is, let