doc/cxxapi/Bucket_8h-source.html in passenger-2.0.6 vs doc/cxxapi/Bucket_8h-source.html in passenger-2.1.2

- old
+ new

@@ -8,11 +8,10 @@ <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="main.html"><span>Main&nbsp;Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <h1>Bucket.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> @@ -36,26 +35,33 @@ <a name="l00019"></a>00019 <span class="comment"> */</span> <a name="l00020"></a>00020 <span class="preprocessor">#ifndef _PASSENGER_BUCKET_H_</span> <a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define _PASSENGER_BUCKET_H_</span> <a name="l00022"></a>00022 <span class="preprocessor"></span><span class="comment"></span> <a name="l00023"></a>00023 <span class="comment">/**</span> -<a name="l00024"></a>00024 <span class="comment"> * apr_bucket_pipe closes a pipe's file descriptor when it has reached end-of-stream,</span> -<a name="l00025"></a>00025 <span class="comment"> * but not when an error has occurred. That behavior conflicts with Phusion Passenger's</span> -<a name="l00026"></a>00026 <span class="comment"> * file descriptor management code.</span> +<a name="l00024"></a>00024 <span class="comment"> * apr_bucket_pipe closes a pipe's file descriptor when it has reached</span> +<a name="l00025"></a>00025 <span class="comment"> * end-of-stream, but not when an error has occurred. This behavior is</span> +<a name="l00026"></a>00026 <span class="comment"> * undesirable because it can easily cause file descriptor leaks.</span> <a name="l00027"></a>00027 <span class="comment"> *</span> -<a name="l00028"></a>00028 <span class="comment"> * passenger_bucket is like apr_bucket_pipe, but never closes the pipe's file descriptor.</span> -<a name="l00029"></a>00029 <span class="comment"> * It also ignores the APR_NONBLOCK_READ because that's known to cause strange</span> -<a name="l00030"></a>00030 <span class="comment"> * I/O problems.</span> -<a name="l00031"></a>00031 <span class="comment"> */</span> -<a name="l00032"></a>00032 -<a name="l00033"></a>00033 <span class="preprocessor">#include "apr_buckets.h"</span> -<a name="l00034"></a>00034 -<a name="l00035"></a>00035 apr_bucket *passenger_bucket_create(apr_file_t *pipe, apr_bucket_alloc_t *list); +<a name="l00028"></a>00028 <span class="comment"> * passenger_bucket is like apr_bucket_pipe, but it also holds a reference to</span> +<a name="l00029"></a>00029 <span class="comment"> * a Session. When a read error has occured or when end-of-stream has been</span> +<a name="l00030"></a>00030 <span class="comment"> * reached, the Session will be dereferenced, so that the underlying file</span> +<a name="l00031"></a>00031 <span class="comment"> * descriptor is closed.</span> +<a name="l00032"></a>00032 <span class="comment"> *</span> +<a name="l00033"></a>00033 <span class="comment"> * passenger_bucket also ignores the APR_NONBLOCK_READ flag because that's</span> +<a name="l00034"></a>00034 <span class="comment"> * known to cause strange I/O problems.</span> +<a name="l00035"></a>00035 <span class="comment"> */</span> <a name="l00036"></a>00036 -<a name="l00037"></a>00037 <span class="preprocessor">#endif </span><span class="comment">/* _PASSENGER_BUCKET_H_ */</span> -<a name="l00038"></a>00038 +<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;apr_buckets.h&gt;</span> +<a name="l00038"></a>00038 <span class="preprocessor">#include "Application.h"</span> +<a name="l00039"></a>00039 +<a name="l00040"></a>00040 apr_bucket *passenger_bucket_create(<a class="code" href="classPassenger_1_1Application.html#d14f673494991460b16246a527ad8ad9" title="Convenient alias for Session smart pointer.">Passenger::Application::SessionPtr</a> session, +<a name="l00041"></a>00041 apr_file_t *pipe, +<a name="l00042"></a>00042 apr_bucket_alloc_t *list); +<a name="l00043"></a>00043 +<a name="l00044"></a>00044 <span class="preprocessor">#endif </span><span class="comment">/* _PASSENGER_BUCKET_H_ */</span> +<a name="l00045"></a>00045 </pre></div></div> -<hr size="1"><address style="text-align: right;"><small>Generated on Mon Dec 15 15:27:24 2008 for Passenger by&nbsp; +<hr size="1"><address style="text-align: right;"><small>Generated on Fri Mar 13 19:24:32 2009 for Passenger by&nbsp; <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address> </body> </html>