passenger 2.2.5 → 2.2.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of passenger might be problematic. Click here for more details.

Files changed (100) hide show
  1. data/NEWS +31 -1
  2. data/bin/passenger-install-apache2-module +7 -1
  3. data/bin/passenger-install-nginx-module +1 -1
  4. data/bin/passenger-memory-stats +3 -3
  5. data/doc/Users guide Apache.html +112 -13
  6. data/doc/Users guide Apache.txt +70 -9
  7. data/doc/Users guide Nginx.html +1 -1
  8. data/doc/cxxapi/Bucket_8h-source.html +1 -1
  9. data/doc/cxxapi/Configuration_8h-source.html +1 -1
  10. data/doc/cxxapi/DirectoryMapper_8h-source.html +7 -7
  11. data/doc/cxxapi/Hooks_8h-source.html +1 -1
  12. data/doc/cxxapi/annotated.html +1 -1
  13. data/doc/cxxapi/classHooks-members.html +1 -1
  14. data/doc/cxxapi/classHooks.html +1 -1
  15. data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +1 -1
  16. data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +1 -1
  17. data/doc/cxxapi/classes.html +1 -1
  18. data/doc/cxxapi/definitions_8h-source.html +1 -1
  19. data/doc/cxxapi/files.html +1 -1
  20. data/doc/cxxapi/functions.html +1 -1
  21. data/doc/cxxapi/functions_func.html +1 -1
  22. data/doc/cxxapi/graph_legend.html +1 -1
  23. data/doc/cxxapi/group__Configuration.html +1 -1
  24. data/doc/cxxapi/group__Core.html +1 -1
  25. data/doc/cxxapi/group__Hooks.html +1 -1
  26. data/doc/cxxapi/group__Support.html +1 -1
  27. data/doc/cxxapi/main.html +1 -1
  28. data/doc/cxxapi/modules.html +1 -1
  29. data/doc/rdoc/classes/ConditionVariable.html +59 -59
  30. data/doc/rdoc/classes/Exception.html +11 -11
  31. data/doc/rdoc/classes/GC.html +4 -4
  32. data/doc/rdoc/classes/IO.html +14 -14
  33. data/doc/rdoc/classes/PhusionPassenger.html +13 -13
  34. data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +8 -8
  35. data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +26 -26
  36. data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +98 -98
  37. data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +61 -61
  38. data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +8 -8
  39. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess.html +32 -32
  40. data/doc/rdoc/classes/PhusionPassenger/Application.html +14 -14
  41. data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +12 -12
  42. data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +4 -4
  43. data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +12 -12
  44. data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +5 -5
  45. data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +42 -42
  46. data/doc/rdoc/classes/PhusionPassenger/NativeSupport.html +24 -24
  47. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +8 -8
  48. data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +8 -8
  49. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner.html +62 -66
  50. data/doc/rdoc/classes/PhusionPassenger/Railz/CGIFixed.html +23 -23
  51. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner.html +30 -30
  52. data/doc/rdoc/classes/PhusionPassenger/Railz/RequestHandler.html +8 -8
  53. data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +23 -23
  54. data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +4 -4
  55. data/doc/rdoc/classes/PhusionPassenger/Utils.html +384 -384
  56. data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +36 -36
  57. data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +4 -4
  58. data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +7 -7
  59. data/doc/rdoc/classes/PlatformInfo.html +234 -200
  60. data/doc/rdoc/classes/RakeExtensions.html +4 -4
  61. data/doc/rdoc/classes/Signal.html +27 -27
  62. data/doc/rdoc/created.rid +1 -1
  63. data/doc/rdoc/files/DEVELOPERS_TXT.html +1 -1
  64. data/doc/rdoc/files/ext/phusion_passenger/native_support_c.html +1 -1
  65. data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +1 -1
  66. data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +1 -1
  67. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +1 -1
  68. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/control_process_rb.html +1 -1
  69. data/doc/rdoc/files/lib/phusion_passenger/application_rb.html +1 -1
  70. data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +1 -1
  71. data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +1 -1
  72. data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +1 -1
  73. data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +1 -1
  74. data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +1 -1
  75. data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +1 -1
  76. data/doc/rdoc/files/lib/phusion_passenger/railz/application_spawner_rb.html +1 -3
  77. data/doc/rdoc/files/lib/phusion_passenger/railz/framework_spawner_rb.html +1 -1
  78. data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +1 -1
  79. data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +10 -9
  80. data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +1 -1
  81. data/doc/rdoc/fr_method_index.html +148 -147
  82. data/ext/apache2/DirectoryMapper.h +6 -6
  83. data/ext/common/Utils.cpp +31 -5
  84. data/ext/common/Version.h +1 -1
  85. data/ext/nginx/Configuration.c +4 -8
  86. data/ext/nginx/Configuration.h +2 -2
  87. data/ext/nginx/ContentHandler.c +11 -7
  88. data/ext/oxt/thread.hpp +12 -11
  89. data/lib/phusion_passenger/constants.rb +1 -1
  90. data/lib/phusion_passenger/dependencies.rb +40 -25
  91. data/lib/phusion_passenger/platform_info.rb +28 -11
  92. data/lib/phusion_passenger/railz/application_spawner.rb +3 -7
  93. data/lib/phusion_passenger/templates/apache2/deployment_example.txt.erb +7 -4
  94. data/lib/phusion_passenger/utils.rb +1 -0
  95. data/test/integration_tests/apache2_tests.rb +16 -0
  96. data/test/integration_tests/nginx_tests.rb +46 -0
  97. data/test/stub/MessageServer.dSYM/Contents/Info.plist +25 -0
  98. data/test/stub/MessageServer.dSYM/Contents/Resources/DWARF/MessageServer +0 -0
  99. data/test/stub/wsgi/passenger_wsgi.pyc +0 -0
  100. metadata +4 -2
@@ -2259,7 +2259,7 @@ has no effect.</p></div>
2259
2259
  </div>
2260
2260
  <div id="footer">
2261
2261
  <div id="footer-text">
2262
- Last updated 2009-06-30 12:47:58 CEST
2262
+ Last updated 2009-11-18 14:52:26 CEST
2263
2263
  </div>
2264
2264
  </div>
2265
2265
  </body>
@@ -107,7 +107,7 @@
107
107
  <a name="l00086"></a>00086
108
108
  <a name="l00087"></a>00087 <span class="preprocessor">#endif </span><span class="comment">/* _PASSENGER_BUCKET_H_ */</span>
109
109
  </pre></div></div>
110
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:09 2009 for Passenger by&nbsp;
110
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:13 2009 for Passenger by&nbsp;
111
111
  <a href="http://www.doxygen.org/index.html">
112
112
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
113
113
  </body>
@@ -425,7 +425,7 @@
425
425
  <a name="l00404"></a>00404
426
426
  <a name="l00405"></a>00405 <span class="preprocessor">#endif </span><span class="comment">/* _PASSENGER_CONFIGURATION_H_ */</span>
427
427
  </pre></div></div>
428
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:09 2009 for Passenger by&nbsp;
428
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:13 2009 for Passenger by&nbsp;
429
429
  <a href="http://www.doxygen.org/index.html">
430
430
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
431
431
  </body>
@@ -191,20 +191,20 @@
191
191
  <a name="l00170"></a>00170 }
192
192
  <a name="l00171"></a>00171
193
193
  <a name="l00172"></a>00172 UPDATE_TRACE_POINT();
194
- <a name="l00173"></a>00173 <span class="keywordflow">if</span> (shouldAutoDetectRails()
195
- <a name="l00174"></a>00174 &amp;&amp; verifyRailsDir(config-&gt;getAppRoot(ap_document_root(r)), cstat, throttleRate)) {
194
+ <a name="l00173"></a>00173 <span class="keywordflow">if</span> (shouldAutoDetectRack()
195
+ <a name="l00174"></a>00174 &amp;&amp; verifyRackDir(config-&gt;getAppRoot(ap_document_root(r)), cstat, throttleRate)) {
196
196
  <a name="l00175"></a>00175 baseURIKnown = <span class="keyword">true</span>;
197
197
  <a name="l00176"></a>00176 baseURI = <span class="stringliteral">"/"</span>;
198
- <a name="l00177"></a>00177 appType = RAILS;
198
+ <a name="l00177"></a>00177 appType = RACK;
199
199
  <a name="l00178"></a>00178 <span class="keywordflow">return</span> baseURI;
200
200
  <a name="l00179"></a>00179 }
201
201
  <a name="l00180"></a>00180
202
202
  <a name="l00181"></a>00181 UPDATE_TRACE_POINT();
203
- <a name="l00182"></a>00182 <span class="keywordflow">if</span> (shouldAutoDetectRack()
204
- <a name="l00183"></a>00183 &amp;&amp; verifyRackDir(config-&gt;getAppRoot(ap_document_root(r)), cstat, throttleRate)) {
203
+ <a name="l00182"></a>00182 <span class="keywordflow">if</span> (shouldAutoDetectRails()
204
+ <a name="l00183"></a>00183 &amp;&amp; verifyRailsDir(config-&gt;getAppRoot(ap_document_root(r)), cstat, throttleRate)) {
205
205
  <a name="l00184"></a>00184 baseURIKnown = <span class="keyword">true</span>;
206
206
  <a name="l00185"></a>00185 baseURI = <span class="stringliteral">"/"</span>;
207
- <a name="l00186"></a>00186 appType = RACK;
207
+ <a name="l00186"></a>00186 appType = RAILS;
208
208
  <a name="l00187"></a>00187 <span class="keywordflow">return</span> baseURI;
209
209
  <a name="l00188"></a>00188 }
210
210
  <a name="l00189"></a>00189
@@ -316,7 +316,7 @@
316
316
  <a name="l00295"></a>00295 <span class="preprocessor">#endif </span><span class="comment">/* _PASSENGER_DIRECTORY_MAPPER_H_ */</span>
317
317
  <a name="l00296"></a>00296
318
318
  </pre></div></div>
319
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:09 2009 for Passenger by&nbsp;
319
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:13 2009 for Passenger by&nbsp;
320
320
  <a href="http://www.doxygen.org/index.html">
321
321
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
322
322
  </body>
@@ -65,7 +65,7 @@
65
65
  <a name="l00044"></a>00044 <span class="preprocessor"></span>
66
66
  <a name="l00045"></a>00045 <span class="preprocessor">#endif </span><span class="comment">/* _PASSENGER_HOOKS_H_ */</span>
67
67
  </pre></div></div>
68
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:09 2009 for Passenger by&nbsp;
68
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:13 2009 for Passenger by&nbsp;
69
69
  <a href="http://www.doxygen.org/index.html">
70
70
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
71
71
  </body>
@@ -27,7 +27,7 @@
27
27
  <tr><td class="indexkey"><a class="el" href="classHooks.html">Hooks</a></td><td class="indexvalue">Apache hook functions, wrapped in a class </td></tr>
28
28
  </table>
29
29
  </div>
30
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:10 2009 for Passenger by&nbsp;
30
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:14 2009 for Passenger by&nbsp;
31
31
  <a href="http://www.doxygen.org/index.html">
32
32
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
33
33
  </body>
@@ -28,7 +28,7 @@
28
28
  <tr class="memlist"><td><a class="el" href="classHooks.html#d6cca64be8a9075b4b92efdb4d9020a5">startBlockingModAutoIndex</a>(request_rec *r)</td><td><a class="el" href="classHooks.html">Hooks</a></td><td><code> [inline]</code></td></tr>
29
29
  <tr class="memlist"><td><a class="el" href="classHooks.html#e3091c57c95b2f8269f566099802f0ec">startBlockingModDir</a>(request_rec *r)</td><td><a class="el" href="classHooks.html">Hooks</a></td><td><code> [inline]</code></td></tr>
30
30
  </table></div>
31
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:10 2009 for Passenger by&nbsp;
31
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:14 2009 for Passenger by&nbsp;
32
32
  <a href="http://www.doxygen.org/index.html">
33
33
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
34
34
  </body>
@@ -148,7 +148,7 @@ So in <a class="el" href="classHooks.html#e3091c57c95b2f8269f566099802f0ec" titl
148
148
  <hr>The documentation for this class was generated from the following file:<ul>
149
149
  <li>Hooks.cpp</ul>
150
150
  </div>
151
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:10 2009 for Passenger by&nbsp;
151
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:14 2009 for Passenger by&nbsp;
152
152
  <a href="http://www.doxygen.org/index.html">
153
153
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
154
154
  </body>
@@ -30,7 +30,7 @@
30
30
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1DirectoryMapper.html#f5091e3cef3878e160e5d3b2181d82fb">getEnvironment</a>()</td><td><a class="el" href="classPassenger_1_1DirectoryMapper.html">Passenger::DirectoryMapper</a></td><td><code> [inline]</code></td></tr>
31
31
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1DirectoryMapper.html#ef969f27622fb215990a870076648aa1">getPublicDirectory</a>()</td><td><a class="el" href="classPassenger_1_1DirectoryMapper.html">Passenger::DirectoryMapper</a></td><td><code> [inline]</code></td></tr>
32
32
  </table></div>
33
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:10 2009 for Passenger by&nbsp;
33
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:14 2009 for Passenger by&nbsp;
34
34
  <a href="http://www.doxygen.org/index.html">
35
35
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
36
36
  </body>
@@ -251,7 +251,7 @@ Returns an empty string if the document root of the HTTP request cannot be deter
251
251
  <hr>The documentation for this class was generated from the following file:<ul>
252
252
  <li><a class="el" href="DirectoryMapper_8h-source.html">DirectoryMapper.h</a></ul>
253
253
  </div>
254
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:10 2009 for Passenger by&nbsp;
254
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:14 2009 for Passenger by&nbsp;
255
255
  <a href="http://www.doxygen.org/index.html">
256
256
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
257
257
  </body>
@@ -28,7 +28,7 @@
28
28
  </td><td><a class="el" href="classPassenger_1_1DirectoryMapper.html">DirectoryMapper</a> (Passenger)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;H&nbsp;&nbsp;</div></td></tr></table>
29
29
  </td><td><a class="el" href="classHooks.html">Hooks</a>&nbsp;&nbsp;&nbsp;</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_H">H</a></div><p>
30
30
  </div>
31
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:10 2009 for Passenger by&nbsp;
31
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:14 2009 for Passenger by&nbsp;
32
32
  <a href="http://www.doxygen.org/index.html">
33
33
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
34
34
  </body>
@@ -25,7 +25,7 @@
25
25
  <a name="l00004"></a>00004 <span class="comment">@defgroup Support Apache-independent support classes and function</span>
26
26
  <a name="l00005"></a>00005 <span class="comment">*/</span>
27
27
  </pre></div></div>
28
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:09 2009 for Passenger by&nbsp;
28
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:13 2009 for Passenger by&nbsp;
29
29
  <a href="http://www.doxygen.org/index.html">
30
30
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
31
31
  </body>
@@ -29,7 +29,7 @@
29
29
  <tr><td class="indexkey"><b>Hooks.h</b> <a href="Hooks_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
30
30
  </table>
31
31
  </div>
32
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:10 2009 for Passenger by&nbsp;
32
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:14 2009 for Passenger by&nbsp;
33
33
  <a href="http://www.doxygen.org/index.html">
34
34
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
35
35
  </body>
@@ -53,7 +53,7 @@ Here is a list of all documented class members with links to the class documenta
53
53
  : <a class="el" href="classHooks.html#e3091c57c95b2f8269f566099802f0ec">Hooks</a>
54
54
  </ul>
55
55
  </div>
56
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:10 2009 for Passenger by&nbsp;
56
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:14 2009 for Passenger by&nbsp;
57
57
  <a href="http://www.doxygen.org/index.html">
58
58
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
59
59
  </body>
@@ -53,7 +53,7 @@
53
53
  : <a class="el" href="classHooks.html#e3091c57c95b2f8269f566099802f0ec">Hooks</a>
54
54
  </ul>
55
55
  </div>
56
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:10 2009 for Passenger by&nbsp;
56
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:14 2009 for Passenger by&nbsp;
57
57
  <a href="http://www.doxygen.org/index.html">
58
58
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
59
59
  </body>
@@ -79,7 +79,7 @@ A purple dashed arrow is used if a class is contained or used by another class.
79
79
  A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li>
80
80
  </ul>
81
81
  </div>
82
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:10 2009 for Passenger by&nbsp;
82
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:14 2009 for Passenger by&nbsp;
83
83
  <a href="http://www.doxygen.org/index.html">
84
84
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
85
85
  </body>
@@ -204,7 +204,7 @@ Apache module commands array.
204
204
  </div>
205
205
  </div><p>
206
206
  </div>
207
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:09 2009 for Passenger by&nbsp;
207
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:13 2009 for Passenger by&nbsp;
208
208
  <a href="http://www.doxygen.org/index.html">
209
209
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
210
210
  </body>
@@ -41,7 +41,7 @@ Collaboration diagram for Core Apache-related classes and functions:</div>
41
41
 
42
42
  </table>
43
43
  </div>
44
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:09 2009 for Passenger by&nbsp;
44
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:13 2009 for Passenger by&nbsp;
45
45
  <a href="http://www.doxygen.org/index.html">
46
46
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
47
47
  </body>
@@ -32,7 +32,7 @@ Collaboration diagram for Apache hooks:</div>
32
32
  <tr><td></td></tr>
33
33
  </table>
34
34
  </div>
35
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:10 2009 for Passenger by&nbsp;
35
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:14 2009 for Passenger by&nbsp;
36
36
  <a href="http://www.doxygen.org/index.html">
37
37
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
38
38
  </body>
@@ -20,7 +20,7 @@
20
20
  <tr><td></td></tr>
21
21
  </table>
22
22
  </div>
23
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:09 2009 for Passenger by&nbsp;
23
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:13 2009 for Passenger by&nbsp;
24
24
  <a href="http://www.doxygen.org/index.html">
25
25
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
26
26
  </body>
@@ -19,7 +19,7 @@
19
19
  <h1>Passenger Documentation</h1>
20
20
  <p>
21
21
  </div>
22
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:09 2009 for Passenger by&nbsp;
22
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:13 2009 for Passenger by&nbsp;
23
23
  <a href="http://www.doxygen.org/index.html">
24
24
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
25
25
  </body>
@@ -25,7 +25,7 @@
25
25
  <li><a class="el" href="group__Support.html">Apache-independent support classes and function</a>
26
26
  </ul>
27
27
  </div>
28
- <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 1 11:23:10 2009 for Passenger by&nbsp;
28
+ <hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 18 14:53:14 2009 for Passenger by&nbsp;
29
29
  <a href="http://www.doxygen.org/index.html">
30
30
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
31
31
  </body>
@@ -105,39 +105,39 @@ timeout occurred.
105
105
  <p class="source-link">[ <a href="javascript:toggleSource('M000003_source')" id="l_M000003_source">show source</a> ]</p>
106
106
  <div id="M000003_source" class="dyn-source">
107
107
  <pre>
108
- <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 464</span>
109
- 464: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timed_wait</span>(<span class="ruby-identifier">mutex</span>, <span class="ruby-identifier">secs</span>)
110
- 465: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">100000000</span>
111
- 466: <span class="ruby-comment cmt"># NOTE: If one calls timeout() on FreeBSD 5 with an</span>
112
- 467: <span class="ruby-comment cmt"># argument of more than 100000000, then MRI will become</span>
113
- 468: <span class="ruby-comment cmt"># stuck in an infite loop, blocking all threads. It seems</span>
114
- 469: <span class="ruby-comment cmt"># that MRI uses select() to implement sleeping.</span>
115
- 470: <span class="ruby-comment cmt"># I think that a value of more than 100000000 overflows</span>
116
- 471: <span class="ruby-comment cmt"># select()'s data structures, causing it to behave incorrectly.</span>
117
- 472: <span class="ruby-comment cmt"># So we just make sure we can't sleep more than 100000000</span>
118
- 473: <span class="ruby-comment cmt"># seconds.</span>
119
- 474: <span class="ruby-identifier">secs</span> = <span class="ruby-value">100000000</span>
120
- 475: <span class="ruby-keyword kw">end</span>
121
- 476: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">RUBY_ENGINE</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_ENGINE</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;jruby&quot;</span>
122
- 477: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
123
- 478: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>, <span class="ruby-identifier">secs</span>)
124
- 479: <span class="ruby-keyword kw">else</span>
125
- 480: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
126
- 481: <span class="ruby-keyword kw">end</span>
127
- 482: <span class="ruby-keyword kw">else</span>
128
- 483: <span class="ruby-identifier">require</span> <span class="ruby-value str">'timeout'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">Timeout</span>)
129
- 484: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
130
- 485: <span class="ruby-constant">Timeout</span>.<span class="ruby-identifier">timeout</span>(<span class="ruby-identifier">secs</span>) <span class="ruby-keyword kw">do</span>
131
- 486: <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
132
- 487: <span class="ruby-keyword kw">end</span>
133
- 488: <span class="ruby-keyword kw">else</span>
134
- 489: <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
135
- 490: <span class="ruby-keyword kw">end</span>
136
- 491: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
137
- 492: <span class="ruby-keyword kw">end</span>
138
- 493: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Timeout</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span>
139
- 494: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
140
- 495: <span class="ruby-keyword kw">end</span>
108
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 465</span>
109
+ 465: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timed_wait</span>(<span class="ruby-identifier">mutex</span>, <span class="ruby-identifier">secs</span>)
110
+ 466: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">100000000</span>
111
+ 467: <span class="ruby-comment cmt"># NOTE: If one calls timeout() on FreeBSD 5 with an</span>
112
+ 468: <span class="ruby-comment cmt"># argument of more than 100000000, then MRI will become</span>
113
+ 469: <span class="ruby-comment cmt"># stuck in an infite loop, blocking all threads. It seems</span>
114
+ 470: <span class="ruby-comment cmt"># that MRI uses select() to implement sleeping.</span>
115
+ 471: <span class="ruby-comment cmt"># I think that a value of more than 100000000 overflows</span>
116
+ 472: <span class="ruby-comment cmt"># select()'s data structures, causing it to behave incorrectly.</span>
117
+ 473: <span class="ruby-comment cmt"># So we just make sure we can't sleep more than 100000000</span>
118
+ 474: <span class="ruby-comment cmt"># seconds.</span>
119
+ 475: <span class="ruby-identifier">secs</span> = <span class="ruby-value">100000000</span>
120
+ 476: <span class="ruby-keyword kw">end</span>
121
+ 477: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">RUBY_ENGINE</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_ENGINE</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;jruby&quot;</span>
122
+ 478: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
123
+ 479: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>, <span class="ruby-identifier">secs</span>)
124
+ 480: <span class="ruby-keyword kw">else</span>
125
+ 481: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
126
+ 482: <span class="ruby-keyword kw">end</span>
127
+ 483: <span class="ruby-keyword kw">else</span>
128
+ 484: <span class="ruby-identifier">require</span> <span class="ruby-value str">'timeout'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">Timeout</span>)
129
+ 485: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
130
+ 486: <span class="ruby-constant">Timeout</span>.<span class="ruby-identifier">timeout</span>(<span class="ruby-identifier">secs</span>) <span class="ruby-keyword kw">do</span>
131
+ 487: <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
132
+ 488: <span class="ruby-keyword kw">end</span>
133
+ 489: <span class="ruby-keyword kw">else</span>
134
+ 490: <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
135
+ 491: <span class="ruby-keyword kw">end</span>
136
+ 492: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
137
+ 493: <span class="ruby-keyword kw">end</span>
138
+ 494: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Timeout</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span>
139
+ 495: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
140
+ 496: <span class="ruby-keyword kw">end</span>
141
141
  </pre>
142
142
  </div>
143
143
  </div>
@@ -156,32 +156,32 @@ amount of time. Raises Timeout::Error if the timeout has elapsed.
156
156
  <p class="source-link">[ <a href="javascript:toggleSource('M000004_source')" id="l_M000004_source">show source</a> ]</p>
157
157
  <div id="M000004_source" class="dyn-source">
158
158
  <pre>
159
- <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 499</span>
160
- 499: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timed_wait!</span>(<span class="ruby-identifier">mutex</span>, <span class="ruby-identifier">secs</span>)
161
- 500: <span class="ruby-identifier">require</span> <span class="ruby-value str">'timeout'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">Timeout</span>)
162
- 501: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">100000000</span>
163
- 502: <span class="ruby-comment cmt"># See the corresponding note for timed_wait().</span>
164
- 503: <span class="ruby-identifier">secs</span> = <span class="ruby-value">100000000</span>
165
- 504: <span class="ruby-keyword kw">end</span>
166
- 505: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">RUBY_ENGINE</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_ENGINE</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;jruby&quot;</span>
167
- 506: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
168
- 507: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>, <span class="ruby-identifier">secs</span>)
169
- 508: <span class="ruby-identifier">raise</span> <span class="ruby-constant">Timeout</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span>, <span class="ruby-value str">&quot;Timeout&quot;</span>
170
- 509: <span class="ruby-keyword kw">end</span>
171
- 510: <span class="ruby-keyword kw">else</span>
172
- 511: <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
173
- 512: <span class="ruby-keyword kw">end</span>
174
- 513: <span class="ruby-keyword kw">else</span>
175
- 514: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
176
- 515: <span class="ruby-constant">Timeout</span>.<span class="ruby-identifier">timeout</span>(<span class="ruby-identifier">secs</span>) <span class="ruby-keyword kw">do</span>
177
- 516: <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
178
- 517: <span class="ruby-keyword kw">end</span>
179
- 518: <span class="ruby-keyword kw">else</span>
180
- 519: <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
181
- 520: <span class="ruby-keyword kw">end</span>
182
- 521: <span class="ruby-keyword kw">end</span>
183
- 522: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
184
- 523: <span class="ruby-keyword kw">end</span>
159
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 500</span>
160
+ 500: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timed_wait!</span>(<span class="ruby-identifier">mutex</span>, <span class="ruby-identifier">secs</span>)
161
+ 501: <span class="ruby-identifier">require</span> <span class="ruby-value str">'timeout'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">Timeout</span>)
162
+ 502: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">100000000</span>
163
+ 503: <span class="ruby-comment cmt"># See the corresponding note for timed_wait().</span>
164
+ 504: <span class="ruby-identifier">secs</span> = <span class="ruby-value">100000000</span>
165
+ 505: <span class="ruby-keyword kw">end</span>
166
+ 506: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">RUBY_ENGINE</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_ENGINE</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;jruby&quot;</span>
167
+ 507: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
168
+ 508: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>, <span class="ruby-identifier">secs</span>)
169
+ 509: <span class="ruby-identifier">raise</span> <span class="ruby-constant">Timeout</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span>, <span class="ruby-value str">&quot;Timeout&quot;</span>
170
+ 510: <span class="ruby-keyword kw">end</span>
171
+ 511: <span class="ruby-keyword kw">else</span>
172
+ 512: <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
173
+ 513: <span class="ruby-keyword kw">end</span>
174
+ 514: <span class="ruby-keyword kw">else</span>
175
+ 515: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
176
+ 516: <span class="ruby-constant">Timeout</span>.<span class="ruby-identifier">timeout</span>(<span class="ruby-identifier">secs</span>) <span class="ruby-keyword kw">do</span>
177
+ 517: <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
178
+ 518: <span class="ruby-keyword kw">end</span>
179
+ 519: <span class="ruby-keyword kw">else</span>
180
+ 520: <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
181
+ 521: <span class="ruby-keyword kw">end</span>
182
+ 522: <span class="ruby-keyword kw">end</span>
183
+ 523: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
184
+ 524: <span class="ruby-keyword kw">end</span>
185
185
  </pre>
186
186
  </div>
187
187
  </div>
@@ -97,17 +97,17 @@ Object
97
97
  <p class="source-link">[ <a href="javascript:toggleSource('M000008_source')" id="l_M000008_source">show source</a> ]</p>
98
98
  <div id="M000008_source" class="dyn-source">
99
99
  <pre>
100
- <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 448</span>
101
- 448: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">backtrace_string</span>(<span class="ruby-identifier">current_location</span> = <span class="ruby-keyword kw">nil</span>)
102
- 449: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current_location</span>.<span class="ruby-identifier">nil?</span>
103
- 450: <span class="ruby-identifier">location</span> = <span class="ruby-keyword kw">nil</span>
104
- 451: <span class="ruby-keyword kw">else</span>
105
- 452: <span class="ruby-identifier">location</span> = <span class="ruby-node">&quot;in #{current_location} &quot;</span>
106
- 453: <span class="ruby-keyword kw">end</span>
107
- 454: <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;*** Exception #{self.class} #{location}&quot;</span> <span class="ruby-operator">&lt;&lt;</span>
108
- 455: <span class="ruby-node">&quot;(#{self}) (process #{$$}):\n&quot;</span> <span class="ruby-operator">&lt;&lt;</span>
109
- 456: <span class="ruby-value str">&quot;\tfrom &quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">backtrace</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n\tfrom &quot;</span>)
110
- 457: <span class="ruby-keyword kw">end</span>
100
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 449</span>
101
+ 449: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">backtrace_string</span>(<span class="ruby-identifier">current_location</span> = <span class="ruby-keyword kw">nil</span>)
102
+ 450: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current_location</span>.<span class="ruby-identifier">nil?</span>
103
+ 451: <span class="ruby-identifier">location</span> = <span class="ruby-keyword kw">nil</span>
104
+ 452: <span class="ruby-keyword kw">else</span>
105
+ 453: <span class="ruby-identifier">location</span> = <span class="ruby-node">&quot;in #{current_location} &quot;</span>
106
+ 454: <span class="ruby-keyword kw">end</span>
107
+ 455: <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;*** Exception #{self.class} #{location}&quot;</span> <span class="ruby-operator">&lt;&lt;</span>
108
+ 456: <span class="ruby-node">&quot;(#{self}) (process #{$$}):\n&quot;</span> <span class="ruby-operator">&lt;&lt;</span>
109
+ 457: <span class="ruby-value str">&quot;\tfrom &quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">backtrace</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n\tfrom &quot;</span>)
110
+ 458: <span class="ruby-keyword kw">end</span>
111
111
  </pre>
112
112
  </div>
113
113
  </div>
@@ -97,10 +97,10 @@ copy-on-write friendly.
97
97
  <p class="source-link">[ <a href="javascript:toggleSource('M000033_source')" id="l_M000033_source">show source</a> ]</p>
98
98
  <div id="M000033_source" class="dyn-source">
99
99
  <pre>
100
- <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 598</span>
101
- 598: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">copy_on_write_friendly?</span>
102
- 599: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
103
- 600: <span class="ruby-keyword kw">end</span>
100
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 599</span>
101
+ 599: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">copy_on_write_friendly?</span>
102
+ 600: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
103
+ 601: <span class="ruby-keyword kw">end</span>
104
104
  </pre>
105
105
  </div>
106
106
  </div>
@@ -99,12 +99,12 @@ Object
99
99
  <p class="source-link">[ <a href="javascript:toggleSource('M000007_source')" id="l_M000007_source">show source</a> ]</p>
100
100
  <div id="M000007_source" class="dyn-source">
101
101
  <pre>
102
- <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 545</span>
103
- 545: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close_on_exec!</span>
104
- 546: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">Fcntl</span><span class="ruby-operator">::</span><span class="ruby-constant">F_SETFD</span>)
105
- 547: <span class="ruby-identifier">fcntl</span>(<span class="ruby-constant">Fcntl</span><span class="ruby-operator">::</span><span class="ruby-constant">F_SETFD</span>, <span class="ruby-constant">Fcntl</span><span class="ruby-operator">::</span><span class="ruby-constant">FD_CLOEXEC</span>)
106
- 548: <span class="ruby-keyword kw">end</span>
107
- 549: <span class="ruby-keyword kw">end</span>
102
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 546</span>
103
+ 546: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close_on_exec!</span>
104
+ 547: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">Fcntl</span><span class="ruby-operator">::</span><span class="ruby-constant">F_SETFD</span>)
105
+ 548: <span class="ruby-identifier">fcntl</span>(<span class="ruby-constant">Fcntl</span><span class="ruby-operator">::</span><span class="ruby-constant">F_SETFD</span>, <span class="ruby-constant">Fcntl</span><span class="ruby-operator">::</span><span class="ruby-constant">FD_CLOEXEC</span>)
106
+ 549: <span class="ruby-keyword kw">end</span>
107
+ 550: <span class="ruby-keyword kw">end</span>
108
108
  </pre>
109
109
  </div>
110
110
  </div>
@@ -127,10 +127,10 @@ Raises SystemCallError if something went wrong.
127
127
  <p class="source-link">[ <a href="javascript:toggleSource('M000006_source')" id="l_M000006_source">show source</a> ]</p>
128
128
  <div id="M000006_source" class="dyn-source">
129
129
  <pre>
130
- <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 540</span>
131
- 540: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">recv_io</span>
132
- 541: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">IO</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">PhusionPassenger</span><span class="ruby-operator">::</span><span class="ruby-constant">NativeSupport</span>.<span class="ruby-identifier">recv_fd</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">fileno</span>))
133
- 542: <span class="ruby-keyword kw">end</span>
130
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 541</span>
131
+ 541: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">recv_io</span>
132
+ 542: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">IO</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">PhusionPassenger</span><span class="ruby-operator">::</span><span class="ruby-constant">NativeSupport</span>.<span class="ruby-identifier">recv_fd</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">fileno</span>))
133
+ 543: <span class="ruby-keyword kw">end</span>
134
134
  </pre>
135
135
  </div>
136
136
  </div>
@@ -153,10 +153,10 @@ Raises SystemCallError if something went wrong.
153
153
  <p class="source-link">[ <a href="javascript:toggleSource('M000005_source')" id="l_M000005_source">show source</a> ]</p>
154
154
  <div id="M000005_source" class="dyn-source">
155
155
  <pre>
156
- <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 532</span>
157
- 532: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_io</span>(<span class="ruby-identifier">io</span>)
158
- 533: <span class="ruby-constant">PhusionPassenger</span><span class="ruby-operator">::</span><span class="ruby-constant">NativeSupport</span>.<span class="ruby-identifier">send_fd</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">fileno</span>, <span class="ruby-identifier">io</span>.<span class="ruby-identifier">fileno</span>)
159
- 534: <span class="ruby-keyword kw">end</span>
156
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 533</span>
157
+ 533: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_io</span>(<span class="ruby-identifier">io</span>)
158
+ 534: <span class="ruby-constant">PhusionPassenger</span><span class="ruby-operator">::</span><span class="ruby-constant">NativeSupport</span>.<span class="ruby-identifier">send_fd</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">fileno</span>, <span class="ruby-identifier">io</span>.<span class="ruby-identifier">fileno</span>)
159
+ 535: <span class="ruby-keyword kw">end</span>
160
160
  </pre>
161
161
  </div>
162
162
  </div>