passenger 2.2.7 → 2.2.8

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 (160) hide show
  1. data/NEWS +40 -0
  2. data/Rakefile +1 -1
  3. data/bin/passenger-install-apache2-module +1 -0
  4. data/bin/passenger-install-nginx-module +2 -0
  5. data/doc/Architectural overview.html +173 -138
  6. data/doc/Security of user switching support.html +147 -109
  7. data/doc/Users guide Apache.html +4 -43
  8. data/doc/Users guide Nginx.html +4 -43
  9. data/doc/cxxapi/Bucket_8h-source.html +1 -1
  10. data/doc/cxxapi/Configuration_8h-source.html +1 -1
  11. data/doc/cxxapi/DirectoryMapper_8h-source.html +1 -1
  12. data/doc/cxxapi/Hooks_8h-source.html +1 -1
  13. data/doc/cxxapi/annotated.html +1 -1
  14. data/doc/cxxapi/classHooks-members.html +1 -1
  15. data/doc/cxxapi/classHooks.html +1 -1
  16. data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +1 -1
  17. data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +1 -1
  18. data/doc/cxxapi/classes.html +1 -1
  19. data/doc/cxxapi/definitions_8h-source.html +1 -1
  20. data/doc/cxxapi/files.html +1 -1
  21. data/doc/cxxapi/functions.html +1 -1
  22. data/doc/cxxapi/functions_func.html +1 -1
  23. data/doc/cxxapi/graph_legend.html +1 -1
  24. data/doc/cxxapi/group__Configuration.html +1 -1
  25. data/doc/cxxapi/group__Core.html +1 -1
  26. data/doc/cxxapi/group__Hooks.html +1 -1
  27. data/doc/cxxapi/group__Support.html +1 -1
  28. data/doc/cxxapi/main.html +1 -1
  29. data/doc/cxxapi/modules.html +1 -1
  30. data/doc/rdoc/classes/GC.html +4 -4
  31. data/doc/rdoc/classes/PhusionPassenger.html +2 -1
  32. data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +8 -8
  33. data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +26 -26
  34. data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +98 -98
  35. data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +61 -61
  36. data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +4 -4
  37. data/doc/rdoc/classes/PhusionPassenger/Application.html +14 -14
  38. data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +12 -12
  39. data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +4 -4
  40. data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +12 -12
  41. data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +5 -5
  42. data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +42 -42
  43. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +33 -33
  44. data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +59 -59
  45. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner.html +3 -3
  46. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner.html +7 -7
  47. data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +23 -23
  48. data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +4 -4
  49. data/doc/rdoc/classes/PhusionPassenger/Utils.html +2 -0
  50. data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +16 -16
  51. data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +4 -4
  52. data/doc/rdoc/classes/PlatformInfo.html +1 -1
  53. data/doc/rdoc/classes/Signal.html +23 -15
  54. data/doc/rdoc/created.rid +1 -1
  55. data/doc/rdoc/files/DEVELOPERS_TXT.html +1 -1
  56. data/doc/rdoc/files/README.html +1 -1
  57. data/doc/rdoc/files/ext/phusion_passenger/native_support_c.html +1 -1
  58. data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +1 -1
  59. data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +1 -1
  60. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +1 -1
  61. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +1 -1
  62. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/control_process_rb.html +1 -1
  63. data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +1 -1
  64. data/doc/rdoc/files/lib/phusion_passenger/application_rb.html +1 -1
  65. data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +1 -1
  66. data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +1 -1
  67. data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +1 -1
  68. data/doc/rdoc/files/lib/phusion_passenger/events_rb.html +1 -1
  69. data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +1 -1
  70. data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +1 -1
  71. data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +1 -1
  72. data/doc/rdoc/files/lib/phusion_passenger/packaging_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 +2 -2
  75. data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +2 -2
  76. data/doc/rdoc/files/lib/phusion_passenger/railz/application_spawner_rb.html +1 -1
  77. data/doc/rdoc/files/lib/phusion_passenger/railz/cgi_fixed_rb.html +1 -1
  78. data/doc/rdoc/files/lib/phusion_passenger/railz/framework_spawner_rb.html +1 -1
  79. data/doc/rdoc/files/lib/phusion_passenger/railz/request_handler_rb.html +1 -1
  80. data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +1 -1
  81. data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +1 -1
  82. data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +9 -9
  83. data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +1 -1
  84. data/doc/rdoc/files/misc/rake/extensions_rb.html +1 -1
  85. data/doc/rdoc/fr_class_index.html +2 -0
  86. data/doc/rdoc/fr_file_index.html +1 -0
  87. data/doc/rdoc/fr_method_index.html +79 -72
  88. data/ext/apache2/Hooks.cpp +4 -2
  89. data/ext/common/StandardApplicationPool.h +4 -2
  90. data/ext/common/Version.h +1 -1
  91. data/ext/nginx/Configuration.c +1 -1
  92. data/ext/oxt/system_calls.cpp +11 -0
  93. data/ext/oxt/system_calls.hpp +2 -1
  94. data/ext/oxt/thread.hpp +97 -1
  95. data/lib/phusion_passenger/constants.rb +1 -1
  96. data/lib/phusion_passenger/dependencies.rb +32 -0
  97. data/lib/phusion_passenger/platform_info.rb +1 -1
  98. data/lib/phusion_passenger/rack/application_spawner.rb +4 -4
  99. data/lib/phusion_passenger/rack/request_handler.rb +2 -5
  100. data/lib/phusion_passenger/railz/application_spawner.rb +13 -2
  101. data/lib/phusion_passenger/utils.rb +12 -4
  102. data/{vendor/rack-1.0.0-git/lib/rack → lib/phusion_passenger/utils}/rewindable_input.rb +19 -3
  103. data/test/ApplicationPoolTest.cpp +1 -1
  104. metadata +13 -59
  105. data/vendor/README +0 -13
  106. data/vendor/README_FOR_PACKAGERS +0 -1
  107. data/vendor/rack-1.0.0-git/COPYING +0 -18
  108. data/vendor/rack-1.0.0-git/KNOWN-ISSUES +0 -18
  109. data/vendor/rack-1.0.0-git/README +0 -353
  110. data/vendor/rack-1.0.0-git/Rakefile +0 -164
  111. data/vendor/rack-1.0.0-git/lib/rack.rb +0 -90
  112. data/vendor/rack-1.0.0-git/lib/rack/adapter/camping.rb +0 -22
  113. data/vendor/rack-1.0.0-git/lib/rack/auth/abstract/handler.rb +0 -37
  114. data/vendor/rack-1.0.0-git/lib/rack/auth/abstract/request.rb +0 -37
  115. data/vendor/rack-1.0.0-git/lib/rack/auth/basic.rb +0 -58
  116. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/md5.rb +0 -124
  117. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/nonce.rb +0 -51
  118. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/params.rb +0 -55
  119. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/request.rb +0 -40
  120. data/vendor/rack-1.0.0-git/lib/rack/auth/openid.rb +0 -487
  121. data/vendor/rack-1.0.0-git/lib/rack/builder.rb +0 -63
  122. data/vendor/rack-1.0.0-git/lib/rack/cascade.rb +0 -41
  123. data/vendor/rack-1.0.0-git/lib/rack/chunked.rb +0 -49
  124. data/vendor/rack-1.0.0-git/lib/rack/commonlogger.rb +0 -52
  125. data/vendor/rack-1.0.0-git/lib/rack/conditionalget.rb +0 -47
  126. data/vendor/rack-1.0.0-git/lib/rack/content_length.rb +0 -29
  127. data/vendor/rack-1.0.0-git/lib/rack/content_type.rb +0 -23
  128. data/vendor/rack-1.0.0-git/lib/rack/deflater.rb +0 -96
  129. data/vendor/rack-1.0.0-git/lib/rack/directory.rb +0 -153
  130. data/vendor/rack-1.0.0-git/lib/rack/file.rb +0 -88
  131. data/vendor/rack-1.0.0-git/lib/rack/handler.rb +0 -69
  132. data/vendor/rack-1.0.0-git/lib/rack/handler/cgi.rb +0 -61
  133. data/vendor/rack-1.0.0-git/lib/rack/handler/evented_mongrel.rb +0 -8
  134. data/vendor/rack-1.0.0-git/lib/rack/handler/fastcgi.rb +0 -88
  135. data/vendor/rack-1.0.0-git/lib/rack/handler/lsws.rb +0 -55
  136. data/vendor/rack-1.0.0-git/lib/rack/handler/mongrel.rb +0 -84
  137. data/vendor/rack-1.0.0-git/lib/rack/handler/scgi.rb +0 -59
  138. data/vendor/rack-1.0.0-git/lib/rack/handler/swiftiplied_mongrel.rb +0 -8
  139. data/vendor/rack-1.0.0-git/lib/rack/handler/thin.rb +0 -18
  140. data/vendor/rack-1.0.0-git/lib/rack/handler/webrick.rb +0 -67
  141. data/vendor/rack-1.0.0-git/lib/rack/head.rb +0 -19
  142. data/vendor/rack-1.0.0-git/lib/rack/lint.rb +0 -537
  143. data/vendor/rack-1.0.0-git/lib/rack/lobster.rb +0 -65
  144. data/vendor/rack-1.0.0-git/lib/rack/lock.rb +0 -16
  145. data/vendor/rack-1.0.0-git/lib/rack/methodoverride.rb +0 -27
  146. data/vendor/rack-1.0.0-git/lib/rack/mime.rb +0 -204
  147. data/vendor/rack-1.0.0-git/lib/rack/mock.rb +0 -184
  148. data/vendor/rack-1.0.0-git/lib/rack/recursive.rb +0 -57
  149. data/vendor/rack-1.0.0-git/lib/rack/reloader.rb +0 -106
  150. data/vendor/rack-1.0.0-git/lib/rack/request.rb +0 -248
  151. data/vendor/rack-1.0.0-git/lib/rack/response.rb +0 -183
  152. data/vendor/rack-1.0.0-git/lib/rack/session/abstract/id.rb +0 -142
  153. data/vendor/rack-1.0.0-git/lib/rack/session/cookie.rb +0 -91
  154. data/vendor/rack-1.0.0-git/lib/rack/session/memcache.rb +0 -109
  155. data/vendor/rack-1.0.0-git/lib/rack/session/pool.rb +0 -100
  156. data/vendor/rack-1.0.0-git/lib/rack/showexceptions.rb +0 -349
  157. data/vendor/rack-1.0.0-git/lib/rack/showstatus.rb +0 -106
  158. data/vendor/rack-1.0.0-git/lib/rack/static.rb +0 -38
  159. data/vendor/rack-1.0.0-git/lib/rack/urlmap.rb +0 -55
  160. data/vendor/rack-1.0.0-git/lib/rack/utils.rb +0 -522
@@ -3425,20 +3425,7 @@ Passenger is creating a new worker process. Phusion Passenger provides the API
3425
3425
  call <tt>PhusionPassenger.on_event(:starting_worker_process)</tt> to do so. So you
3426
3426
  could insert the following code in your <em>environment.rb</em>:</p></div>
3427
3427
  <div class="listingblock">
3428
- <div class="content"><!-- Generator: GNU source-highlight 2.11.1
3429
- by Lorenzo Bettini
3430
- http://www.lorenzobettini.it
3431
- http://www.gnu.org/software/src-highlite -->
3432
- <pre><tt><span style="font-weight: bold"><span style="color: #0000FF">if</span></span> <span style="font-weight: bold"><span style="color: #0000FF">defined</span></span><span style="color: #990000">?(</span>PhusionPassenger<span style="color: #990000">)</span>
3433
- PhusionPassenger<span style="color: #990000">.</span>on_event<span style="color: #990000">(:</span>starting_worker_process<span style="color: #990000">)</span> <span style="font-weight: bold"><span style="color: #0000FF">do</span></span> <span style="color: #990000">|</span>forked<span style="color: #990000">|</span>
3434
- <span style="font-weight: bold"><span style="color: #0000FF">if</span></span> forked
3435
- <span style="font-style: italic"><span style="color: #9A1900"># We're in smart spawning mode.</span></span>
3436
- <span style="color: #990000">...</span> code to reestablish socket connections here <span style="color: #990000">...</span>
3437
- <span style="font-weight: bold"><span style="color: #0000FF">else</span></span>
3438
- <span style="font-style: italic"><span style="color: #9A1900"># We're in conservative spawning mode. We don't need to do anything.</span></span>
3439
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span>
3440
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span>
3441
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span></tt></pre></div></div>
3428
+ <div class="content"></div></div>
3442
3429
  <div class="paragraph"><p>Note that Phusion Passenger automatically reestablishes the connection to the
3443
3430
  database upon creating a new worker process, which is why you normally do not
3444
3431
  encounter any database issues when using smart spawning mode.</p></div>
@@ -3518,20 +3505,7 @@ Memcached is forced to handle this as an error.</p></div>
3518
3505
  <div class="paragraph"><p>Worker process 2 now has its own, separate communication channel with Memcached.
3519
3506
  The code in <em>environment.rb</em> looks like this:</p></div>
3520
3507
  <div class="listingblock">
3521
- <div class="content"><!-- Generator: GNU source-highlight 2.11.1
3522
- by Lorenzo Bettini
3523
- http://www.lorenzobettini.it
3524
- http://www.gnu.org/software/src-highlite -->
3525
- <pre><tt><span style="font-weight: bold"><span style="color: #0000FF">if</span></span> <span style="font-weight: bold"><span style="color: #0000FF">defined</span></span><span style="color: #990000">?(</span>PhusionPassenger<span style="color: #990000">)</span>
3526
- PhusionPassenger<span style="color: #990000">.</span>on_event<span style="color: #990000">(:</span>starting_worker_process<span style="color: #990000">)</span> <span style="font-weight: bold"><span style="color: #0000FF">do</span></span> <span style="color: #990000">|</span>forked<span style="color: #990000">|</span>
3527
- <span style="font-weight: bold"><span style="color: #0000FF">if</span></span> forked
3528
- <span style="font-style: italic"><span style="color: #9A1900"># We're in smart spawning mode.</span></span>
3529
- reestablish_connection_to_memcached
3530
- <span style="font-weight: bold"><span style="color: #0000FF">else</span></span>
3531
- <span style="font-style: italic"><span style="color: #9A1900"># We're in conservative spawning mode. We don't need to do anything.</span></span>
3532
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span>
3533
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span>
3534
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span></tt></pre></div></div>
3508
+ <div class="content"></div></div>
3535
3509
  <h4 id="_example_2_log_file_sharing_not_harmful">12.3.2. Example 2: Log file sharing (not harmful)</h4>
3536
3510
  <div class="paragraph"><p>There are also cases in which unintential file descriptor sharing is not harmful.
3537
3511
  One such case is log file file descriptor sharing. Even if two processes write
@@ -3548,20 +3522,7 @@ then those threads will no longer be running in newly created worker process.
3548
3522
  You need to revive them when a new worker process is created. Use the
3549
3523
  <tt>:starting_worker_process</tt> event that Phusion Passenger provides, like this:</p></div>
3550
3524
  <div class="listingblock">
3551
- <div class="content"><!-- Generator: GNU source-highlight 2.11.1
3552
- by Lorenzo Bettini
3553
- http://www.lorenzobettini.it
3554
- http://www.gnu.org/software/src-highlite -->
3555
- <pre><tt><span style="font-weight: bold"><span style="color: #0000FF">if</span></span> <span style="font-weight: bold"><span style="color: #0000FF">defined</span></span><span style="color: #990000">?(</span>PhusionPassenger<span style="color: #990000">)</span>
3556
- PhusionPassenger<span style="color: #990000">.</span>on_event<span style="color: #990000">(:</span>starting_worker_process<span style="color: #990000">)</span> <span style="font-weight: bold"><span style="color: #0000FF">do</span></span> <span style="color: #990000">|</span>forked<span style="color: #990000">|</span>
3557
- <span style="font-weight: bold"><span style="color: #0000FF">if</span></span> forked
3558
- <span style="font-style: italic"><span style="color: #9A1900"># We're in smart spawning mode.</span></span>
3559
- <span style="color: #990000">...</span> code to revive threads here <span style="color: #990000">...</span>
3560
- <span style="font-weight: bold"><span style="color: #0000FF">else</span></span>
3561
- <span style="font-style: italic"><span style="color: #9A1900"># We're in conservative spawning mode. We don't need to do anything.</span></span>
3562
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span>
3563
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span>
3564
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span></tt></pre></div></div>
3525
+ <div class="content"></div></div>
3565
3526
  <h3 id="_smart_spawning_gotcha_3_code_load_order">12.5. Smart spawning gotcha #3: code load order</h3>
3566
3527
  <div class="paragraph"><p>This gotcha is only applicable to the <em>smart</em> spawn method, not the <em>smart-lv2</em>
3567
3528
  spawn method.</p></div>
@@ -3581,7 +3542,7 @@ has no effect.</p></div>
3581
3542
  </div>
3582
3543
  <div id="footer">
3583
3544
  <div id="footer-text">
3584
- Last updated 2009-11-18 17:54:42 CEST
3545
+ Last updated 2009-12-15 11:58:38 PDT
3585
3546
  </div>
3586
3547
  </div>
3587
3548
  </body>
@@ -2103,20 +2103,7 @@ Passenger is creating a new worker process. Phusion Passenger provides the API
2103
2103
  call <tt>PhusionPassenger.on_event(:starting_worker_process)</tt> to do so. So you
2104
2104
  could insert the following code in your <em>environment.rb</em>:</p></div>
2105
2105
  <div class="listingblock">
2106
- <div class="content"><!-- Generator: GNU source-highlight 2.11.1
2107
- by Lorenzo Bettini
2108
- http://www.lorenzobettini.it
2109
- http://www.gnu.org/software/src-highlite -->
2110
- <pre><tt><span style="font-weight: bold"><span style="color: #0000FF">if</span></span> <span style="font-weight: bold"><span style="color: #0000FF">defined</span></span><span style="color: #990000">?(</span>PhusionPassenger<span style="color: #990000">)</span>
2111
- PhusionPassenger<span style="color: #990000">.</span>on_event<span style="color: #990000">(:</span>starting_worker_process<span style="color: #990000">)</span> <span style="font-weight: bold"><span style="color: #0000FF">do</span></span> <span style="color: #990000">|</span>forked<span style="color: #990000">|</span>
2112
- <span style="font-weight: bold"><span style="color: #0000FF">if</span></span> forked
2113
- <span style="font-style: italic"><span style="color: #9A1900"># We're in smart spawning mode.</span></span>
2114
- <span style="color: #990000">...</span> code to reestablish socket connections here <span style="color: #990000">...</span>
2115
- <span style="font-weight: bold"><span style="color: #0000FF">else</span></span>
2116
- <span style="font-style: italic"><span style="color: #9A1900"># We're in conservative spawning mode. We don't need to do anything.</span></span>
2117
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span>
2118
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span>
2119
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span></tt></pre></div></div>
2106
+ <div class="content"></div></div>
2120
2107
  <div class="paragraph"><p>Note that Phusion Passenger automatically reestablishes the connection to the
2121
2108
  database upon creating a new worker process, which is why you normally do not
2122
2109
  encounter any database issues when using smart spawning mode.</p></div>
@@ -2196,20 +2183,7 @@ Memcached is forced to handle this as an error.</p></div>
2196
2183
  <div class="paragraph"><p>Worker process 2 now has its own, separate communication channel with Memcached.
2197
2184
  The code in <em>environment.rb</em> looks like this:</p></div>
2198
2185
  <div class="listingblock">
2199
- <div class="content"><!-- Generator: GNU source-highlight 2.11.1
2200
- by Lorenzo Bettini
2201
- http://www.lorenzobettini.it
2202
- http://www.gnu.org/software/src-highlite -->
2203
- <pre><tt><span style="font-weight: bold"><span style="color: #0000FF">if</span></span> <span style="font-weight: bold"><span style="color: #0000FF">defined</span></span><span style="color: #990000">?(</span>PhusionPassenger<span style="color: #990000">)</span>
2204
- PhusionPassenger<span style="color: #990000">.</span>on_event<span style="color: #990000">(:</span>starting_worker_process<span style="color: #990000">)</span> <span style="font-weight: bold"><span style="color: #0000FF">do</span></span> <span style="color: #990000">|</span>forked<span style="color: #990000">|</span>
2205
- <span style="font-weight: bold"><span style="color: #0000FF">if</span></span> forked
2206
- <span style="font-style: italic"><span style="color: #9A1900"># We're in smart spawning mode.</span></span>
2207
- reestablish_connection_to_memcached
2208
- <span style="font-weight: bold"><span style="color: #0000FF">else</span></span>
2209
- <span style="font-style: italic"><span style="color: #9A1900"># We're in conservative spawning mode. We don't need to do anything.</span></span>
2210
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span>
2211
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span>
2212
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span></tt></pre></div></div>
2186
+ <div class="content"></div></div>
2213
2187
  <h4 id="_example_2_log_file_sharing_not_harmful">10.3.2. Example 2: Log file sharing (not harmful)</h4>
2214
2188
  <div class="paragraph"><p>There are also cases in which unintential file descriptor sharing is not harmful.
2215
2189
  One such case is log file file descriptor sharing. Even if two processes write
@@ -2226,20 +2200,7 @@ then those threads will no longer be running in newly created worker process.
2226
2200
  You need to revive them when a new worker process is created. Use the
2227
2201
  <tt>:starting_worker_process</tt> event that Phusion Passenger provides, like this:</p></div>
2228
2202
  <div class="listingblock">
2229
- <div class="content"><!-- Generator: GNU source-highlight 2.11.1
2230
- by Lorenzo Bettini
2231
- http://www.lorenzobettini.it
2232
- http://www.gnu.org/software/src-highlite -->
2233
- <pre><tt><span style="font-weight: bold"><span style="color: #0000FF">if</span></span> <span style="font-weight: bold"><span style="color: #0000FF">defined</span></span><span style="color: #990000">?(</span>PhusionPassenger<span style="color: #990000">)</span>
2234
- PhusionPassenger<span style="color: #990000">.</span>on_event<span style="color: #990000">(:</span>starting_worker_process<span style="color: #990000">)</span> <span style="font-weight: bold"><span style="color: #0000FF">do</span></span> <span style="color: #990000">|</span>forked<span style="color: #990000">|</span>
2235
- <span style="font-weight: bold"><span style="color: #0000FF">if</span></span> forked
2236
- <span style="font-style: italic"><span style="color: #9A1900"># We're in smart spawning mode.</span></span>
2237
- <span style="color: #990000">...</span> code to revive threads here <span style="color: #990000">...</span>
2238
- <span style="font-weight: bold"><span style="color: #0000FF">else</span></span>
2239
- <span style="font-style: italic"><span style="color: #9A1900"># We're in conservative spawning mode. We don't need to do anything.</span></span>
2240
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span>
2241
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span>
2242
- <span style="font-weight: bold"><span style="color: #0000FF">end</span></span></tt></pre></div></div>
2203
+ <div class="content"></div></div>
2243
2204
  <h3 id="_smart_spawning_gotcha_3_code_load_order">10.5. Smart spawning gotcha #3: code load order</h3>
2244
2205
  <div class="paragraph"><p>This gotcha is only applicable to the <em>smart</em> spawn method, not the <em>smart-lv2</em>
2245
2206
  spawn method.</p></div>
@@ -2259,7 +2220,7 @@ has no effect.</p></div>
2259
2220
  </div>
2260
2221
  <div id="footer">
2261
2222
  <div id="footer-text">
2262
- Last updated 2009-11-18 17:54:42 CEST
2223
+ Last updated 2009-12-15 11:58:38 PDT
2263
2224
  </div>
2264
2225
  </div>
2265
2226
  </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 Wed Nov 18 17:56:37 2009 for Passenger by&nbsp;
110
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:37 2009 for Passenger by&nbsp;
428
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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>
@@ -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 Wed Nov 18 17:56:37 2009 for Passenger by&nbsp;
319
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:37 2009 for Passenger by&nbsp;
68
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:38 2009 for Passenger by&nbsp;
30
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:38 2009 for Passenger by&nbsp;
31
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:38 2009 for Passenger by&nbsp;
151
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:38 2009 for Passenger by&nbsp;
33
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:38 2009 for Passenger by&nbsp;
254
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:38 2009 for Passenger by&nbsp;
31
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:37 2009 for Passenger by&nbsp;
28
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:38 2009 for Passenger by&nbsp;
32
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:38 2009 for Passenger by&nbsp;
56
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:38 2009 for Passenger by&nbsp;
56
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:38 2009 for Passenger by&nbsp;
82
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:38 2009 for Passenger by&nbsp;
207
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:38 2009 for Passenger by&nbsp;
44
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:38 2009 for Passenger by&nbsp;
35
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:38 2009 for Passenger by&nbsp;
23
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:37 2009 for Passenger by&nbsp;
22
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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 Wed Nov 18 17:56:38 2009 for Passenger by&nbsp;
28
+ <hr size="1"><address style="text-align: right;"><small>Generated on Tue Dec 15 17:41:30 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>
@@ -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 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>
100
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 607</span>
101
+ 607: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">copy_on_write_friendly?</span>
102
+ 608: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
103
+ 609: <span class="ruby-keyword kw">end</span>
104
104
  </pre>
105
105
  </div>
106
106
  </div>
@@ -80,6 +80,7 @@
80
80
  <a href="../files/lib/phusion_passenger/railz/cgi_fixed_rb.html">lib/phusion_passenger/railz/cgi_fixed.rb</a>
81
81
  <a href="../files/lib/phusion_passenger/railz/framework_spawner_rb.html">lib/phusion_passenger/railz/framework_spawner.rb</a>
82
82
  <a href="../files/lib/phusion_passenger/railz/request_handler_rb.html">lib/phusion_passenger/railz/request_handler.rb</a>
83
+ <a href="../files/lib/phusion_passenger/utils/rewindable_input_rb.html">lib/phusion_passenger/utils/rewindable_input.rb</a>
83
84
  <a href="../files/lib/phusion_passenger/wsgi/application_spawner_rb.html">lib/phusion_passenger/wsgi/application_spawner.rb</a>
84
85
  <a href="../files/ext/phusion_passenger/native_support_c.html">ext/phusion_passenger/native_support.c</a>
85
86
  </td>
@@ -134,7 +135,7 @@ Class <a href="PhusionPassenger/VersionNotFound.html" class="link">PhusionPassen
134
135
  <tr valign='top'>
135
136
  <td class="attr-name">VERSION_STRING</td>
136
137
  <td>=</td>
137
- <td class="attr-value">'2.2.7'</td>
138
+ <td class="attr-value">'2.2.8'</td>
138
139
  </tr>
139
140
  <tr valign='top'>
140
141
  <td>&nbsp;</td>
@@ -85,8 +85,8 @@ passenger-install-apache2-module and passenger-install-nginx-module.
85
85
 
86
86
  <div class="sectiontitle">Methods</div>
87
87
  <ul>
88
- <li><a href="#M000148">new</a></li>
89
- <li><a href="#M000149">start</a></li>
88
+ <li><a href="#M000155">new</a></li>
89
+ <li><a href="#M000156">start</a></li>
90
90
  </ul>
91
91
 
92
92
 
@@ -110,11 +110,11 @@ passenger-install-apache2-module and passenger-install-nginx-module.
110
110
  <div class="sectiontitle">Public Class methods</div>
111
111
  <div class="method">
112
112
  <div class="title">
113
- <a name="M000148"></a><b>new</b>(options = {})
113
+ <a name="M000155"></a><b>new</b>(options = {})
114
114
  </div>
115
115
  <div class="sourcecode">
116
- <p class="source-link">[ <a href="javascript:toggleSource('M000148_source')" id="l_M000148_source">show source</a> ]</p>
117
- <div id="M000148_source" class="dyn-source">
116
+ <p class="source-link">[ <a href="javascript:toggleSource('M000155_source')" id="l_M000155_source">show source</a> ]</p>
117
+ <div id="M000155_source" class="dyn-source">
118
118
  <pre>
119
119
  <span class="ruby-comment cmt"># File lib/phusion_passenger/abstract_installer.rb, line 36</span>
120
120
  36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span> = {})
@@ -129,11 +129,11 @@ passenger-install-apache2-module and passenger-install-nginx-module.
129
129
  <div class="sectiontitle">Public Instance methods</div>
130
130
  <div class="method">
131
131
  <div class="title">
132
- <a name="M000149"></a><b>start</b>()
132
+ <a name="M000156"></a><b>start</b>()
133
133
  </div>
134
134
  <div class="sourcecode">
135
- <p class="source-link">[ <a href="javascript:toggleSource('M000149_source')" id="l_M000149_source">show source</a> ]</p>
136
- <div id="M000149_source" class="dyn-source">
135
+ <p class="source-link">[ <a href="javascript:toggleSource('M000156_source')" id="l_M000156_source">show source</a> ]</p>
136
+ <div id="M000156_source" class="dyn-source">
137
137
  <pre>
138
138
  <span class="ruby-comment cmt"># File lib/phusion_passenger/abstract_installer.rb, line 42</span>
139
139
  42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start</span>
@@ -161,11 +161,11 @@ and sends it to the request handler.
161
161
 
162
162
  <div class="sectiontitle">Methods</div>
163
163
  <ul>
164
- <li><a href="#M000135">cleanup</a></li>
165
- <li><a href="#M000137">main_loop</a></li>
166
- <li><a href="#M000136">main_loop_running?</a></li>
167
- <li><a href="#M000134">new</a></li>
168
- <li><a href="#M000138">start_main_loop_thread</a></li>
164
+ <li><a href="#M000142">cleanup</a></li>
165
+ <li><a href="#M000144">main_loop</a></li>
166
+ <li><a href="#M000143">main_loop_running?</a></li>
167
+ <li><a href="#M000141">new</a></li>
168
+ <li><a href="#M000145">start_main_loop_thread</a></li>
169
169
  </ul>
170
170
 
171
171
  <div class="sectiontitle">Included Modules</div>
@@ -268,7 +268,7 @@ exceptions.
268
268
  <td class='attr-name'>socket_name</td>
269
269
  <td class='attr-desc'>
270
270
  The name of the socket on which the request handler accepts <a
271
- href="AbstractRequestHandler.html#M000134">new</a> connections. At this
271
+ href="AbstractRequestHandler.html#M000141">new</a> connections. At this
272
272
  moment, this value is always the filename of a Unix domain socket.
273
273
 
274
274
  <p>
@@ -292,11 +292,11 @@ always &#8216;unix&#8217;, which indicates a Unix domain socket.
292
292
  <div class="sectiontitle">Public Class methods</div>
293
293
  <div class="method">
294
294
  <div class="title">
295
- <a name="M000134"></a><b>new</b>(owner_pipe, options = {})
295
+ <a name="M000141"></a><b>new</b>(owner_pipe, options = {})
296
296
  </div>
297
297
  <div class="description">
298
298
  <p>
299
- Create a <a href="AbstractRequestHandler.html#M000134">new</a>
299
+ Create a <a href="AbstractRequestHandler.html#M000141">new</a>
300
300
  RequestHandler with the given owner pipe. <tt>owner_pipe</tt> must be the
301
301
  readable part of a pipe <a href="../IO.html">IO</a> object.
302
302
  </p>
@@ -310,8 +310,8 @@ Additionally, the following options may be given:
310
310
  </ul>
311
311
  </div>
312
312
  <div class="sourcecode">
313
- <p class="source-link">[ <a href="javascript:toggleSource('M000134_source')" id="l_M000134_source">show source</a> ]</p>
314
- <div id="M000134_source" class="dyn-source">
313
+ <p class="source-link">[ <a href="javascript:toggleSource('M000141_source')" id="l_M000141_source">show source</a> ]</p>
314
+ <div id="M000141_source" class="dyn-source">
315
315
  <pre>
316
316
  <span class="ruby-comment cmt"># File lib/phusion_passenger/abstract_request_handler.rb, line 137</span>
317
317
  137: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">owner_pipe</span>, <span class="ruby-identifier">options</span> = {})
@@ -338,7 +338,7 @@ Additionally, the following options may be given:
338
338
  <div class="sectiontitle">Public Instance methods</div>
339
339
  <div class="method">
340
340
  <div class="title">
341
- <a name="M000135"></a><b>cleanup</b>()
341
+ <a name="M000142"></a><b>cleanup</b>()
342
342
  </div>
343
343
  <div class="description">
344
344
  <p>
@@ -346,19 +346,19 @@ Clean up temporary stuff created by the request handler.
346
346
  </p>
347
347
  <p>
348
348
  If the main loop was started by <a
349
- href="AbstractRequestHandler.html#M000137">#main_loop</a>, then this method
349
+ href="AbstractRequestHandler.html#M000144">#main_loop</a>, then this method
350
350
  may only be called after the main loop has exited.
351
351
  </p>
352
352
  <p>
353
353
  If the main loop was started by <a
354
- href="AbstractRequestHandler.html#M000138">#start_main_loop_thread</a>,
354
+ href="AbstractRequestHandler.html#M000145">#start_main_loop_thread</a>,
355
355
  then this method may be called at any time, and it will stop the main loop
356
356
  thread.
357
357
  </p>
358
358
  </div>
359
359
  <div class="sourcecode">
360
- <p class="source-link">[ <a href="javascript:toggleSource('M000135_source')" id="l_M000135_source">show source</a> ]</p>
361
- <div id="M000135_source" class="dyn-source">
360
+ <p class="source-link">[ <a href="javascript:toggleSource('M000142_source')" id="l_M000142_source">show source</a> ]</p>
361
+ <div id="M000142_source" class="dyn-source">
362
362
  <pre>
363
363
  <span class="ruby-comment cmt"># File lib/phusion_passenger/abstract_request_handler.rb, line 162</span>
364
364
  162: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cleanup</span>
@@ -378,7 +378,7 @@ thread.
378
378
  </div>
379
379
  <div class="method">
380
380
  <div class="title">
381
- <a name="M000137"></a><b>main_loop</b>()
381
+ <a name="M000144"></a><b>main_loop</b>()
382
382
  </div>
383
383
  <div class="description">
384
384
  <p>
@@ -386,8 +386,8 @@ Enter the request handler&#8216;s main loop.
386
386
  </p>
387
387
  </div>
388
388
  <div class="sourcecode">
389
- <p class="source-link">[ <a href="javascript:toggleSource('M000137_source')" id="l_M000137_source">show source</a> ]</p>
390
- <div id="M000137_source" class="dyn-source">
389
+ <p class="source-link">[ <a href="javascript:toggleSource('M000144_source')" id="l_M000144_source">show source</a> ]</p>
390
+ <div id="M000144_source" class="dyn-source">
391
391
  <pre>
392
392
  <span class="ruby-comment cmt"># File lib/phusion_passenger/abstract_request_handler.rb, line 180</span>
393
393
  180: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">main_loop</span>
@@ -459,7 +459,7 @@ Enter the request handler&#8216;s main loop.
459
459
  </div>
460
460
  <div class="method">
461
461
  <div class="title">
462
- <a name="M000136"></a><b>main_loop_running?</b>()
462
+ <a name="M000143"></a><b>main_loop_running?</b>()
463
463
  </div>
464
464
  <div class="description">
465
465
  <p>
@@ -467,8 +467,8 @@ Check whether the main loop&#8216;s currently running.
467
467
  </p>
468
468
  </div>
469
469
  <div class="sourcecode">
470
- <p class="source-link">[ <a href="javascript:toggleSource('M000136_source')" id="l_M000136_source">show source</a> ]</p>
471
- <div id="M000136_source" class="dyn-source">
470
+ <p class="source-link">[ <a href="javascript:toggleSource('M000143_source')" id="l_M000143_source">show source</a> ]</p>
471
+ <div id="M000143_source" class="dyn-source">
472
472
  <pre>
473
473
  <span class="ruby-comment cmt"># File lib/phusion_passenger/abstract_request_handler.rb, line 175</span>
474
474
  175: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">main_loop_running?</span>
@@ -480,18 +480,18 @@ Check whether the main loop&#8216;s currently running.
480
480
  </div>
481
481
  <div class="method">
482
482
  <div class="title">
483
- <a name="M000138"></a><b>start_main_loop_thread</b>()
483
+ <a name="M000145"></a><b>start_main_loop_thread</b>()
484
484
  </div>
485
485
  <div class="description">
486
486
  <p>
487
487
  Start the main loop in a <a
488
- href="AbstractRequestHandler.html#M000134">new</a> thread. This thread will
489
- be stopped by <a href="AbstractRequestHandler.html#M000135">#cleanup</a>.
488
+ href="AbstractRequestHandler.html#M000141">new</a> thread. This thread will
489
+ be stopped by <a href="AbstractRequestHandler.html#M000142">#cleanup</a>.
490
490
  </p>
491
491
  </div>
492
492
  <div class="sourcecode">
493
- <p class="source-link">[ <a href="javascript:toggleSource('M000138_source')" id="l_M000138_source">show source</a> ]</p>
494
- <div id="M000138_source" class="dyn-source">
493
+ <p class="source-link">[ <a href="javascript:toggleSource('M000145_source')" id="l_M000145_source">show source</a> ]</p>
494
+ <div id="M000145_source" class="dyn-source">
495
495
  <pre>
496
496
  <span class="ruby-comment cmt"># File lib/phusion_passenger/abstract_request_handler.rb, line 245</span>
497
497
  245: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start_main_loop_thread</span>