<li><a href="mod_vhost_alias.html#virtualscriptalias">VirtualScriptAlias</a></li>
<li><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP</a></li>
<li><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></li>
+<li><a href="mpm_common.html#workerstacksize">WorkerStackSize</a></li>
<li><a href="mod_include.html#xbithack" id="X" name="X">XBitHack</a></li>
</ul></div>
<div class="bottomlang">
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
+<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#workerstacksize">WorkerStackSize</a></li>
</ul>
</div>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>User</name>
</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>WorkerStackSize</name>
+</directivesynopsis>
</modulesynopsis>
<li><img alt="" src="../images/down.gif" /> <a href="#threadlimit">ThreadLimit</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#threadsperchild">ThreadsPerChild</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#user">User</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#workerstacksize">WorkerStackSize</a></li>
</ul>
</div>
reasons.</p>
</div>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="WorkerStackSize" id="WorkerStackSize">WorkerStackSize</a> <a name="workerstacksize" id="workerstacksize">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The size in bytes of the stack used by threads handling
+client connections</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>WorkerStackSize <var>size</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>varies by operating system</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.1 and later</td></tr>
+</table>
+ <p>The <code class="directive">WorkerStackSize</code> directive sets the
+ size of the stack (for autodata) of threads which handle client
+ connections and call modules to help process those connections.
+ In most cases the operating system default for stack size is
+ reasonable, but there are some conditions where it may need to be
+ adjusted:</p>
+
+ <ul>
+ <li>On platforms with a relatively small default thread stack size
+ (e.g., HP-UX), Apache may crash when using some third-party modules
+ which use a relatively large amount of autodata storage. Those
+ same modules may have worked fine on other platforms where the
+ default thread stack size is larger. This type of crash is
+ resolved by setting <code class="directive">WorkerStackSize</code> to a
+ value higher than the operating system default. This type of
+ adjustment is necessary only if the provider of the third-party
+ module specifies that it is required, or if diagnosis of an Apache
+ crash indicates that the thread stack size was too small.</li>
+
+ <li>On platforms where the default thread stack size is
+ significantly larger than necessary for the web server
+ configuration, a higher number of threads per child process
+ will be achievable if <code class="directive">WorkerStackSize</code> is
+ set to a value lower than the operating system default. This type
+ of adjustment should only be made in a test environment which allows
+ the full set of web server processing can be exercised, as there
+ may be infrequent requests which require more stack to process.
+ A change in the web server configuration can invalidate the
+ current <code class="directive">WorkerStackSize</code> setting.</li>
+ </ul>
+
</div>
</div>
<div class="bottomlang">
</usage>
</directivesynopsis>
+<directivesynopsis>
+<name>WorkerStackSize</name>
+<description>The size in bytes of the stack used by threads handling
+client connections</description>
+<syntax>WorkerStackSize <var>size</var></syntax>
+<default>varies by operating system</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>
+<compatibility>Available in Apache 2.1 and later</compatibility>
+
+<usage>
+ <p>The <directive>WorkerStackSize</directive> directive sets the
+ size of the stack (for autodata) of threads which handle client
+ connections and call modules to help process those connections.
+ In most cases the operating system default for stack size is
+ reasonable, but there are some conditions where it may need to be
+ adjusted:</p>
+
+ <ul>
+ <li>On platforms with a relatively small default thread stack size
+ (e.g., HP-UX), Apache may crash when using some third-party modules
+ which use a relatively large amount of autodata storage. Those
+ same modules may have worked fine on other platforms where the
+ default thread stack size is larger. This type of crash is
+ resolved by setting <directive>WorkerStackSize</directive> to a
+ value higher than the operating system default. This type of
+ adjustment is necessary only if the provider of the third-party
+ module specifies that it is required, or if diagnosis of an Apache
+ crash indicates that the thread stack size was too small.</li>
+
+ <li>On platforms where the default thread stack size is
+ significantly larger than necessary for the web server
+ configuration, a higher number of threads per child process
+ will be achievable if <directive>WorkerStackSize</directive> is
+ set to a value lower than the operating system default. This type
+ of adjustment should only be made in a test environment which allows
+ the full set of web server processing can be exercised, as there
+ may be infrequent requests which require more stack to process.
+ A change in the web server configuration can invalidate the
+ current <directive>WorkerStackSize</directive> setting.</li>
+ </ul>
+</usage>
+</directivesynopsis>
+
</modulesynopsis>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#win32disableacceptex">Win32DisableAcceptEx</a></li>
+<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#workerstacksize">WorkerStackSize</a></li>
</ul>
</div>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ThreadsPerChild</name>
</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>WorkerStackSize</name>
+</directivesynopsis>
<directivesynopsis>
<name>Win32DisableAcceptEx</name>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startthreads">StartThreads</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
+<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#workerstacksize">WorkerStackSize</a></li>
</ul>
<h3>Topics</h3>
<ul id="topics">
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>User</name>
</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>WorkerStackSize</name>
+</directivesynopsis>
<directivesynopsis>
<name>AssignUserID</name>
<tr><td><a href="mod_vhost_alias.html#virtualscriptaliasip">VirtualScriptAliasIP <em>interpolated-directory</em>|none</a></td><td> none </td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Dynamically configure the location of the cgi directory for
a given virtual host</td></tr>
<tr class="odd"><td><a href="mpm_winnt.html#win32disableacceptex" id="W" name="W">Win32DisableAcceptEx</a></td><td></td><td>s</td><td>M</td></tr><tr class="odd"><td class="descr" colspan="4">Use accept() rather than AcceptEx() to accept network connections</td></tr>
-<tr><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
+<tr><td><a href="mpm_common.html#workerstacksize">WorkerStackSize <var>size</var></a></td><td></td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">The size in bytes of the stack used by threads handling
+client connections</td></tr>
+<tr class="odd"><td><a href="mod_include.html#xbithack" id="X" name="X">XBitHack on|off|full</a></td><td> off </td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Parse SSI directives in files with the execute bit
set</td></tr>
</table></div>
<div class="bottomlang">
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
+<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#workerstacksize">WorkerStackSize</a></li>
</ul>
</div>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>User</name>
</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>WorkerStackSize</name>
+</directivesynopsis>
</modulesynopsis>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadlimit">ThreadLimit</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadsperchild">ThreadsPerChild</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
+<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#workerstacksize">WorkerStackSize</a></li>
</ul>
<h3>Topics</h3>
<ul id="topics">
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>User</name>
</directivesynopsis>
+<directivesynopsis location="mpm_common"><name>WorkerStackSize</name>
+</directivesynopsis>
</modulesynopsis>