passenger 2.2.2 → 2.2.3

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 (254) hide show
  1. data/DEVELOPERS.TXT +13 -3
  2. data/Rakefile +42 -33
  3. data/bin/passenger-install-apache2-module +1 -2
  4. data/bin/passenger-install-nginx-module +7 -19
  5. data/bin/passenger-status +64 -15
  6. data/bin/passenger-stress-test +2 -2
  7. data/doc/ApplicationPool algorithm.txt +26 -22
  8. data/doc/Users guide Apache.html +374 -149
  9. data/doc/Users guide Apache.txt +318 -51
  10. data/doc/Users guide Nginx.html +13 -13
  11. data/doc/Users guide Nginx.txt +7 -2
  12. data/doc/cxxapi/Bucket_8h-source.html +62 -25
  13. data/doc/cxxapi/Configuration_8h-source.html +343 -326
  14. data/doc/cxxapi/DirectoryMapper_8h-source.html +12 -12
  15. data/doc/cxxapi/Hooks_8h-source.html +1 -1
  16. data/doc/cxxapi/annotated.html +1 -1
  17. data/doc/cxxapi/classHooks-members.html +1 -1
  18. data/doc/cxxapi/classHooks.html +1 -1
  19. data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +2 -2
  20. data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +9 -9
  21. data/doc/cxxapi/classes.html +1 -1
  22. data/doc/cxxapi/definitions_8h-source.html +1 -1
  23. data/doc/cxxapi/files.html +1 -1
  24. data/doc/cxxapi/functions.html +2 -2
  25. data/doc/cxxapi/functions_func.html +2 -2
  26. data/doc/cxxapi/graph_legend.html +1 -1
  27. data/doc/cxxapi/group__Configuration.html +1 -1
  28. data/doc/cxxapi/group__Core.html +1 -1
  29. data/doc/cxxapi/group__Hooks.html +1 -1
  30. data/doc/cxxapi/group__Support.html +1 -1
  31. data/doc/cxxapi/main.html +1 -1
  32. data/doc/cxxapi/modules.html +1 -1
  33. data/doc/rdoc/classes/ConditionVariable.html +194 -0
  34. data/doc/rdoc/classes/Exception.html +120 -0
  35. data/doc/rdoc/classes/GC.html +113 -0
  36. data/doc/rdoc/classes/IO.html +169 -0
  37. data/doc/rdoc/classes/PhusionPassenger.html +238 -0
  38. data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +153 -0
  39. data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +517 -0
  40. data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +719 -0
  41. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +97 -0
  42. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +96 -0
  43. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +97 -0
  44. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +96 -0
  45. data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +598 -0
  46. data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +140 -0
  47. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess.html +317 -0
  48. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess/Instance.html +138 -0
  49. data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +154 -0
  50. data/doc/rdoc/classes/PhusionPassenger/Application.html +283 -0
  51. data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +172 -0
  52. data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +145 -0
  53. data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +175 -0
  54. data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +141 -0
  55. data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +92 -0
  56. data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +489 -0
  57. data/doc/rdoc/classes/PhusionPassenger/NativeSupport.html +350 -0
  58. data/doc/rdoc/classes/PhusionPassenger/Rack.html +91 -0
  59. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +188 -0
  60. data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +194 -0
  61. data/doc/rdoc/classes/PhusionPassenger/Railz.html +95 -0
  62. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner.html +442 -0
  63. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner/Error.html +98 -0
  64. data/doc/rdoc/classes/PhusionPassenger/Railz/CGIFixed.html +200 -0
  65. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner.html +436 -0
  66. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner/Error.html +98 -0
  67. data/doc/rdoc/classes/PhusionPassenger/Railz/RequestHandler.html +155 -0
  68. data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +402 -0
  69. data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +125 -0
  70. data/doc/rdoc/classes/PhusionPassenger/Utils.html +805 -0
  71. data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +140 -0
  72. data/doc/rdoc/classes/PhusionPassenger/WSGI.html +89 -0
  73. data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +188 -0
  74. data/doc/rdoc/classes/PlatformInfo.html +831 -0
  75. data/doc/rdoc/classes/RakeExtensions.html +197 -0
  76. data/doc/rdoc/classes/Signal.html +131 -0
  77. data/doc/rdoc/created.rid +1 -0
  78. data/doc/rdoc/files/DEVELOPERS_TXT.html +255 -0
  79. data/doc/rdoc/files/README.html +157 -0
  80. data/doc/rdoc/files/ext/phusion_passenger/native_support_c.html +92 -0
  81. data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +129 -0
  82. data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +131 -0
  83. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +126 -0
  84. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +130 -0
  85. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/control_process_rb.html +130 -0
  86. data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +122 -0
  87. data/doc/rdoc/files/lib/phusion_passenger/application_rb.html +127 -0
  88. data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +126 -0
  89. data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +122 -0
  90. data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +134 -0
  91. data/doc/rdoc/files/lib/phusion_passenger/events_rb.html +122 -0
  92. data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +122 -0
  93. data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +126 -0
  94. data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +122 -0
  95. data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +122 -0
  96. data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +127 -0
  97. data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +133 -0
  98. data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +127 -0
  99. data/doc/rdoc/files/lib/phusion_passenger/railz/application_spawner_rb.html +143 -0
  100. data/doc/rdoc/files/lib/phusion_passenger/railz/cgi_fixed_rb.html +126 -0
  101. data/doc/rdoc/files/lib/phusion_passenger/railz/framework_spawner_rb.html +145 -0
  102. data/doc/rdoc/files/lib/phusion_passenger/railz/request_handler_rb.html +127 -0
  103. data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +122 -0
  104. data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +161 -0
  105. data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +175 -0
  106. data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +129 -0
  107. data/doc/rdoc/files/misc/rake/extensions_rb.html +130 -0
  108. data/doc/rdoc/fr_class_index.html +90 -0
  109. data/doc/rdoc/fr_file_index.html +76 -0
  110. data/doc/rdoc/fr_method_index.html +200 -0
  111. data/doc/rdoc/index.html +26 -0
  112. data/doc/rdoc/rdoc-style.css +187 -0
  113. data/doc/users_guide_snippets/rackup_specifications.txt +2 -8
  114. data/ext/apache2/Bucket.cpp +71 -38
  115. data/ext/apache2/Bucket.h +53 -16
  116. data/ext/apache2/Configuration.cpp +15 -0
  117. data/ext/apache2/Configuration.h +19 -2
  118. data/ext/apache2/DirectoryMapper.h +10 -10
  119. data/ext/apache2/Hooks.cpp +334 -74
  120. data/ext/boost/mpl/apply.hpp +5 -1
  121. data/ext/boost/mpl/apply_wrap.hpp +5 -2
  122. data/ext/boost/mpl/aux_/full_lambda.hpp +5 -1
  123. data/ext/boost/mpl/bind.hpp +5 -1
  124. data/ext/common/Application.h +11 -31
  125. data/ext/common/ApplicationPool.h +2 -1
  126. data/ext/common/ApplicationPoolServer.h +61 -20
  127. data/ext/common/ApplicationPoolServerExecutable.cpp +132 -4
  128. data/ext/common/ApplicationPoolStatusReporter.h +189 -65
  129. data/ext/common/Base64.cpp +143 -0
  130. data/ext/common/Base64.h +57 -0
  131. data/ext/common/CachedFileStat.cpp +25 -82
  132. data/ext/common/CachedFileStat.h +11 -125
  133. data/ext/common/CachedFileStat.hpp +243 -0
  134. data/ext/common/Exceptions.h +13 -0
  135. data/ext/common/FileChangeChecker.h +209 -0
  136. data/ext/common/Logging.h +3 -2
  137. data/ext/common/MessageChannel.h +10 -10
  138. data/ext/common/PoolOptions.h +72 -5
  139. data/ext/common/SpawnManager.h +11 -8
  140. data/ext/common/StandardApplicationPool.h +38 -39
  141. data/ext/common/StaticString.h +1 -0
  142. data/ext/common/StringListCreator.h +83 -0
  143. data/ext/common/SystemTime.h +3 -2
  144. data/ext/common/Timer.h +88 -0
  145. data/ext/common/Utils.cpp +161 -42
  146. data/ext/common/Utils.h +62 -31
  147. data/ext/common/Version.h +1 -1
  148. data/ext/nginx/Configuration.c +0 -4
  149. data/ext/nginx/ContentHandler.c +8 -6
  150. data/ext/nginx/HelperServer.cpp +45 -55
  151. data/ext/nginx/HttpStatusExtractor.h +4 -0
  152. data/ext/nginx/StaticContentHandler.c +25 -5
  153. data/ext/nginx/config +3 -0
  154. data/ext/nginx/ngx_http_passenger_module.c +72 -17
  155. data/ext/nginx/ngx_http_passenger_module.h +2 -2
  156. data/lib/phusion_passenger/abstract_request_handler.rb +15 -7
  157. data/lib/phusion_passenger/abstract_server.rb +16 -2
  158. data/lib/phusion_passenger/admin_tools/control_process.rb +36 -25
  159. data/lib/phusion_passenger/constants.rb +1 -1
  160. data/lib/phusion_passenger/dependencies.rb +10 -0
  161. data/lib/phusion_passenger/platform_info.rb +1 -1
  162. data/lib/phusion_passenger/rack/application_spawner.rb +21 -2
  163. data/lib/phusion_passenger/rack/request_handler.rb +10 -0
  164. data/lib/phusion_passenger/railz/application_spawner.rb +38 -2
  165. data/lib/phusion_passenger/railz/framework_spawner.rb +26 -28
  166. data/lib/phusion_passenger/railz/request_handler.rb +5 -1
  167. data/lib/phusion_passenger/spawn_manager.rb +6 -2
  168. data/lib/phusion_passenger/utils.rb +79 -27
  169. data/misc/rake/cplusplus.rb +5 -5
  170. data/test/ApplicationPoolServerTest.cpp +42 -0
  171. data/test/ApplicationPoolTest.cpp +255 -267
  172. data/test/Base64Test.cpp +48 -0
  173. data/test/CachedFileStatTest.cpp +243 -103
  174. data/test/FileChangeCheckerTest.cpp +331 -0
  175. data/test/PoolOptionsTest.cpp +80 -0
  176. data/test/UtilsTest.cpp +5 -17
  177. data/test/integration_tests/apache2_tests.rb +15 -4
  178. data/test/integration_tests/mycook_spec.rb +3 -4
  179. data/test/oxt/syscall_interruption_test.cpp +2 -14
  180. data/test/ruby/abstract_server_collection_spec.rb +1 -1
  181. data/test/ruby/abstract_server_spec.rb +35 -1
  182. data/test/ruby/rack/application_spawner_spec.rb +23 -6
  183. data/test/ruby/rails/application_spawner_spec.rb +6 -6
  184. data/test/ruby/rails/framework_spawner_spec.rb +6 -5
  185. data/test/ruby/rails/minimal_spawner_spec.rb +19 -0
  186. data/test/ruby/rails/spawner_error_handling_spec.rb +62 -7
  187. data/test/ruby/spawn_manager_spec.rb +10 -7
  188. data/test/ruby/spawn_server_spec.rb +1 -1
  189. data/test/ruby/utils_spec.rb +193 -20
  190. data/test/ruby/wsgi/application_spawner_spec.rb +3 -1
  191. data/test/stub/apache2/httpd.conf.erb +3 -0
  192. data/test/stub/rack/config.ru +1 -1
  193. data/test/stub/rails_apps/mycook/app/controllers/welcome_controller.rb +8 -0
  194. data/test/support/Support.cpp +84 -0
  195. data/test/support/Support.h +66 -8
  196. data/test/support/config.rb +14 -2
  197. data/test/support/test_helper.rb +5 -0
  198. data/vendor/rack-1.0.0-git/lib/rack/auth/openid.rb +123 -116
  199. data/vendor/rack-1.0.0-git/lib/rack/cascade.rb +17 -12
  200. data/vendor/rack-1.0.0-git/lib/rack/commonlogger.rb +34 -43
  201. data/vendor/rack-1.0.0-git/lib/rack/handler/cgi.rb +1 -1
  202. data/vendor/rack-1.0.0-git/lib/rack/handler/fastcgi.rb +1 -1
  203. data/vendor/rack-1.0.0-git/lib/rack/handler/lsws.rb +1 -1
  204. data/vendor/rack-1.0.0-git/lib/rack/handler/mongrel.rb +1 -1
  205. data/vendor/rack-1.0.0-git/lib/rack/handler/scgi.rb +1 -1
  206. data/vendor/rack-1.0.0-git/lib/rack/handler/webrick.rb +1 -1
  207. data/vendor/rack-1.0.0-git/lib/rack/mock.rb +4 -17
  208. data/vendor/rack-1.0.0-git/lib/rack/request.rb +3 -9
  209. data/vendor/rack-1.0.0-git/lib/rack/rewindable_input.rb +2 -0
  210. data/vendor/rack-1.0.0-git/lib/rack/utils.rb +38 -12
  211. metadata +231 -186
  212. data/ext/common/FileChecker.h +0 -112
  213. data/test/FileCheckerTest.cpp +0 -79
  214. data/test/stub/minimal-railsapp/README +0 -3
  215. data/test/stub/minimal-railsapp/config/application.rb +0 -0
  216. data/test/stub/minimal-railsapp/config/environment.rb +0 -3
  217. data/test/stub/minimal-railsapp/vendor/rails/actionmailer/lib/action_mailer.rb +0 -0
  218. data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_controller.rb +0 -10
  219. data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_pack.rb +0 -0
  220. data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_view.rb +0 -0
  221. data/test/stub/minimal-railsapp/vendor/rails/activerecord/lib/active_record.rb +0 -7
  222. data/test/stub/minimal-railsapp/vendor/rails/activeresource/lib/active_resource.rb +0 -0
  223. data/test/stub/minimal-railsapp/vendor/rails/activesupport/lib/active_support.rb +0 -17
  224. data/test/stub/minimal-railsapp/vendor/rails/activesupport/lib/active_support/whiny_nil.rb +0 -0
  225. data/test/stub/minimal-railsapp/vendor/rails/railties/lib/dispatcher.rb +0 -0
  226. data/test/stub/minimal-railsapp/vendor/rails/railties/lib/initializer.rb +0 -8
  227. data/test/stub/minimal-railsapp/vendor/rails/railties/lib/ruby_version_check.rb +0 -1
  228. data/test/stub/railsapp/app/controllers/application.rb +0 -12
  229. data/test/stub/railsapp/app/controllers/bar_controller.rb +0 -5
  230. data/test/stub/railsapp/app/controllers/bar_controller_1.txt +0 -5
  231. data/test/stub/railsapp/app/controllers/bar_controller_2.txt +0 -5
  232. data/test/stub/railsapp/app/controllers/foo_controller.rb +0 -9
  233. data/test/stub/railsapp/app/helpers/application_helper.rb +0 -3
  234. data/test/stub/railsapp/config/boot.rb +0 -108
  235. data/test/stub/railsapp/config/database.yml +0 -19
  236. data/test/stub/railsapp/config/environment.rb +0 -59
  237. data/test/stub/railsapp/config/environments/development.rb +0 -18
  238. data/test/stub/railsapp/config/environments/production.rb +0 -19
  239. data/test/stub/railsapp/config/initializers/inflections.rb +0 -10
  240. data/test/stub/railsapp/config/initializers/mime_types.rb +0 -5
  241. data/test/stub/railsapp/config/routes.rb +0 -35
  242. data/test/stub/railsapp/public/useless.txt +0 -1
  243. data/test/stub/railsapp2/app/controllers/application.rb +0 -12
  244. data/test/stub/railsapp2/app/controllers/foo_controller.rb +0 -5
  245. data/test/stub/railsapp2/app/helpers/application_helper.rb +0 -3
  246. data/test/stub/railsapp2/config/boot.rb +0 -108
  247. data/test/stub/railsapp2/config/database.yml +0 -19
  248. data/test/stub/railsapp2/config/environment.rb +0 -59
  249. data/test/stub/railsapp2/config/environments/development.rb +0 -18
  250. data/test/stub/railsapp2/config/environments/production.rb +0 -19
  251. data/test/stub/railsapp2/config/initializers/inflections.rb +0 -10
  252. data/test/stub/railsapp2/config/initializers/mime_types.rb +0 -5
  253. data/test/stub/railsapp2/config/routes.rb +0 -35
  254. data/test/stub/railsapp2/public/useless.txt +0 -1
@@ -0,0 +1,138 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html>
6
+ <head>
7
+ <title>Class: PhusionPassenger::AdminTools::ControlProcess::Instance</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "show source"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "hide source"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />PhusionPassenger::AdminTools::ControlProcess::Instance</td>
55
+ <td align="right">
56
+ <table cellspacing="0" cellpadding="2">
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../../../../files/lib/phusion_passenger/admin_tools/control_process_rb.html">lib/phusion_passenger/admin_tools/control_process.rb</a>
61
+ </td>
62
+ </tr>
63
+ <tr>
64
+ <td>Parent:</td>
65
+ <td>
66
+ Object
67
+ </td>
68
+ </tr>
69
+ </table>
70
+ </td>
71
+ </tr>
72
+ </table>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+ <div id="content">
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+ <div class="sectiontitle">Constants</div>
86
+ <table border='0' cellpadding='5'>
87
+ <tr valign='top'>
88
+ <td class="attr-name">INT_PROPERTIES</td>
89
+ <td>=</td>
90
+ <td class="attr-value">[:pid, :sessions]</td>
91
+ </tr>
92
+ </table>
93
+
94
+ <div class="sectiontitle">Attributes</div>
95
+ <table border='0' cellpadding='5'>
96
+ <tr valign='top'>
97
+ <td class='attr-rw'>
98
+ [RW]
99
+ </td>
100
+ <td class='attr-name'>pid</td>
101
+ <td class='attr-desc'></td>
102
+ </tr>
103
+ <tr valign='top'>
104
+ <td class='attr-rw'>
105
+ [RW]
106
+ </td>
107
+ <td class='attr-name'>sessions</td>
108
+ <td class='attr-desc'></td>
109
+ </tr>
110
+ <tr valign='top'>
111
+ <td class='attr-rw'>
112
+ [RW]
113
+ </td>
114
+ <td class='attr-name'>socket_name</td>
115
+ <td class='attr-desc'></td>
116
+ </tr>
117
+ <tr valign='top'>
118
+ <td class='attr-rw'>
119
+ [RW]
120
+ </td>
121
+ <td class='attr-name'>socket_type</td>
122
+ <td class='attr-desc'></td>
123
+ </tr>
124
+ <tr valign='top'>
125
+ <td class='attr-rw'>
126
+ [RW]
127
+ </td>
128
+ <td class='attr-name'>uptime</td>
129
+ <td class='attr-desc'></td>
130
+ </tr>
131
+ </table>
132
+
133
+ </div>
134
+
135
+ </div>
136
+
137
+ </body>
138
+ </html>
@@ -0,0 +1,154 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html>
6
+ <head>
7
+ <title>Class: PhusionPassenger::AppInitError</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "show source"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "hide source"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />PhusionPassenger::AppInitError</td>
55
+ <td align="right">
56
+ <table cellspacing="0" cellpadding="2">
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../../files/lib/phusion_passenger/exceptions_rb.html">lib/phusion_passenger/exceptions.rb</a>
61
+ </td>
62
+ </tr>
63
+ <tr>
64
+ <td>Parent:</td>
65
+ <td>
66
+ <a href="InitializationError.html">
67
+ InitializationError
68
+ </a>
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </td>
73
+ </tr>
74
+ </table>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+ <div id="content">
79
+
80
+ <div class="description"><p>
81
+ Raised when <a
82
+ href="Rack/ApplicationSpawner.html">Rack::ApplicationSpawner</a>, <a
83
+ href="Railz/ApplicationSpawner.html">Railz::ApplicationSpawner</a>, <a
84
+ href="Railz/FrameworkSpawner.html">Railz::FrameworkSpawner</a> or <a
85
+ href="SpawnManager.html">SpawnManager</a> was unable to spawn an
86
+ application, because the application either threw an exception or called
87
+ exit.
88
+ </p>
89
+ <p>
90
+ If the application called exit, then <tt>child_exception</tt> is an
91
+ instance of <tt>SystemExit</tt>.
92
+ </p>
93
+ </div>
94
+
95
+
96
+
97
+ <div class="sectiontitle">Methods</div>
98
+ <ul>
99
+ <li><a href="#M000095">new</a></li>
100
+ </ul>
101
+
102
+
103
+
104
+
105
+
106
+ <div class="sectiontitle">Attributes</div>
107
+ <table border='0' cellpadding='5'>
108
+ <tr valign='top'>
109
+ <td class='attr-rw'>
110
+ [RW]
111
+ </td>
112
+ <td class='attr-name'>app_type</td>
113
+ <td class='attr-desc'>
114
+ The application type, e.g. &quot;rails&quot; or &quot;rack&quot;.
115
+
116
+ </td>
117
+ </tr>
118
+ <tr valign='top'>
119
+ <td class='attr-rw'>
120
+ [RW]
121
+ </td>
122
+ <td class='attr-name'>stderr</td>
123
+ <td class='attr-desc'>
124
+ Any messages printed to stderr before the failure. May be nil.
125
+
126
+ </td>
127
+ </tr>
128
+ </table>
129
+
130
+ <div class="sectiontitle">Public Class methods</div>
131
+ <div class="method">
132
+ <div class="title">
133
+ <a name="M000095"></a><b>new</b>(message, child_exception = nil, app_type = &quot;rails&quot;, stderr = nil)
134
+ </div>
135
+ <div class="sourcecode">
136
+ <p class="source-link">[ <a href="javascript:toggleSource('M000095_source')" id="l_M000095_source">show source</a> ]</p>
137
+ <div id="M000095_source" class="dyn-source">
138
+ <pre>
139
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/exceptions.rb, line 66</span>
140
+ 66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">message</span>, <span class="ruby-identifier">child_exception</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">app_type</span> = <span class="ruby-value str">&quot;rails&quot;</span>, <span class="ruby-identifier">stderr</span> = <span class="ruby-keyword kw">nil</span>)
141
+ 67: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">message</span>, <span class="ruby-identifier">child_exception</span>)
142
+ 68: <span class="ruby-ivar">@app_type</span> = <span class="ruby-identifier">app_type</span>
143
+ 69: <span class="ruby-ivar">@stderr</span> = <span class="ruby-identifier">stderr</span>
144
+ 70: <span class="ruby-keyword kw">end</span>
145
+ </pre>
146
+ </div>
147
+ </div>
148
+ </div>
149
+ </div>
150
+
151
+ </div>
152
+
153
+ </body>
154
+ </html>
@@ -0,0 +1,283 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html>
6
+ <head>
7
+ <title>Class: PhusionPassenger::Application</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "show source"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "hide source"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />PhusionPassenger::Application</td>
55
+ <td align="right">
56
+ <table cellspacing="0" cellpadding="2">
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../../files/lib/phusion_passenger/application_rb.html">lib/phusion_passenger/application.rb</a>
61
+ </td>
62
+ </tr>
63
+ <tr>
64
+ <td>Parent:</td>
65
+ <td>
66
+ Object
67
+ </td>
68
+ </tr>
69
+ </table>
70
+ </td>
71
+ </tr>
72
+ </table>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+ <div id="content">
77
+
78
+ <div class="description"><p>
79
+ Represents a single application instance.
80
+ </p>
81
+ </div>
82
+
83
+
84
+
85
+ <div class="sectiontitle">Methods</div>
86
+ <ul>
87
+ <li><a href="#M000115">close</a></li>
88
+ <li><a href="#M000113">detect_framework_version</a></li>
89
+ <li><a href="#M000114">new</a></li>
90
+ </ul>
91
+
92
+
93
+
94
+
95
+
96
+ <div class="sectiontitle">Attributes</div>
97
+ <table border='0' cellpadding='5'>
98
+ <tr valign='top'>
99
+ <td class='attr-rw'>
100
+ [R]
101
+ </td>
102
+ <td class='attr-name'>app_root</td>
103
+ <td class='attr-desc'>
104
+ The root directory of this application, i.e. the directory that contains
105
+ &#8216;app/&#8217;, &#8216;public/&#8217;, etc.
106
+
107
+ </td>
108
+ </tr>
109
+ <tr valign='top'>
110
+ <td class='attr-rw'>
111
+ [R]
112
+ </td>
113
+ <td class='attr-name'>listen_socket_name</td>
114
+ <td class='attr-desc'>
115
+ The name of the socket on which the application instance will accept <a
116
+ href="Application.html#M000114">new</a> connections. See
117
+ #listen_socket_type on how one should interpret this value.
118
+
119
+ </td>
120
+ </tr>
121
+ <tr valign='top'>
122
+ <td class='attr-rw'>
123
+ [R]
124
+ </td>
125
+ <td class='attr-name'>listen_socket_type</td>
126
+ <td class='attr-desc'>
127
+ The type of socket that #listen_socket_name refers to. Currently this is
128
+ always &#8216;unix&#8217;, which means that #listen_socket_name refers to
129
+ the filename of a Unix domain socket.
130
+
131
+ </td>
132
+ </tr>
133
+ <tr valign='top'>
134
+ <td class='attr-rw'>
135
+ [R]
136
+ </td>
137
+ <td class='attr-name'>owner_pipe</td>
138
+ <td class='attr-desc'>
139
+ The owner pipe of the application instance (an <a href="../IO.html">IO</a>
140
+ object). Please see RequestHandler for a description of the owner pipe.
141
+
142
+ </td>
143
+ </tr>
144
+ <tr valign='top'>
145
+ <td class='attr-rw'>
146
+ [R]
147
+ </td>
148
+ <td class='attr-name'>pid</td>
149
+ <td class='attr-desc'>
150
+ The process ID of this application instance.
151
+
152
+ </td>
153
+ </tr>
154
+ </table>
155
+
156
+ <div class="sectiontitle">Public Class methods</div>
157
+ <div class="method">
158
+ <div class="title">
159
+ <a name="M000113"></a><b>detect_framework_version</b>(app_root)
160
+ </div>
161
+ <div class="description">
162
+ <ul>
163
+ <li>Returns the Ruby on Rails version that the application requires.
164
+
165
+ </li>
166
+ <li>Returns <tt>:vendor</tt> if the application has a vendored Rails.
167
+
168
+ </li>
169
+ <li>Returns nil if the application doesn&#8216;t specify a particular version.
170
+
171
+ </li>
172
+ </ul>
173
+ <p>
174
+ Raises <a href="VersionNotFound.html">VersionNotFound</a> if the required
175
+ Rails version is not installed.
176
+ </p>
177
+ </div>
178
+ <div class="sourcecode">
179
+ <p class="source-link">[ <a href="javascript:toggleSource('M000113_source')" id="l_M000113_source">show source</a> ]</p>
180
+ <div id="M000113_source" class="dyn-source">
181
+ <pre>
182
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/application.rb, line 55</span>
183
+ 55: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">detect_framework_version</span>(<span class="ruby-identifier">app_root</span>)
184
+ 56: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-node">&quot;#{app_root}/vendor/rails/railties&quot;</span>)
185
+ 57: <span class="ruby-comment cmt"># NOTE: We must check for 'rails/railties' and not just 'rails'.</span>
186
+ 58: <span class="ruby-comment cmt"># Typo's vendor directory contains an empty 'rails' directory.</span>
187
+ 59: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">:vendor</span>
188
+ 60: <span class="ruby-keyword kw">end</span>
189
+ 61:
190
+ 62: <span class="ruby-identifier">environment_rb</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-node">&quot;#{app_root}/config/environment.rb&quot;</span>)
191
+ 63: <span class="ruby-identifier">environment_rb</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^[^#]*RAILS_GEM_VERSION\s*=\s*[&quot;']([!~&lt;&gt;=]*\s*[\d.]+)[&quot;']/</span>
192
+ 64: <span class="ruby-identifier">gem_version_spec</span> = <span class="ruby-identifier">$1</span>
193
+ 65: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">gem_version_spec</span>.<span class="ruby-identifier">nil?</span>
194
+ 66: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
195
+ 67: <span class="ruby-keyword kw">end</span>
196
+ 68:
197
+ 69: <span class="ruby-identifier">search_results</span> = <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">cache</span>.<span class="ruby-identifier">search</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'rails'</span>, <span class="ruby-identifier">gem_version_spec</span>), <span class="ruby-keyword kw">true</span>)
198
+ 70: <span class="ruby-identifier">found_version</span> = <span class="ruby-identifier">search_results</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span>
199
+ 71: <span class="ruby-identifier">x</span>.<span class="ruby-identifier">version</span>.<span class="ruby-identifier">version</span>
200
+ 72: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">last</span>
201
+ 73: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">found_version</span>.<span class="ruby-identifier">nil?</span>
202
+ 74: <span class="ruby-comment cmt"># If this error was reported before, then the cache might be out of</span>
203
+ 75: <span class="ruby-comment cmt"># date because the Rails version may have been installed now.</span>
204
+ 76: <span class="ruby-comment cmt"># So we reload the RubyGems cache and try again.</span>
205
+ 77: <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">clear_paths</span>
206
+ 78: <span class="ruby-identifier">search_results</span> = <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">cache</span>.<span class="ruby-identifier">search</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'rails'</span>, <span class="ruby-identifier">gem_version_spec</span>), <span class="ruby-keyword kw">true</span>)
207
+ 79: <span class="ruby-identifier">found_version</span> = <span class="ruby-identifier">search_results</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span>
208
+ 80: <span class="ruby-identifier">x</span>.<span class="ruby-identifier">version</span>.<span class="ruby-identifier">version</span>
209
+ 81: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">last</span>
210
+ 82: <span class="ruby-keyword kw">end</span>
211
+ 83:
212
+ 84: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">found_version</span>.<span class="ruby-identifier">nil?</span>
213
+ 85: <span class="ruby-identifier">raise</span> <span class="ruby-constant">VersionNotFound</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;There is no Ruby on Rails version &quot;</span> <span class="ruby-operator">&lt;&lt;</span>
214
+ 86: <span class="ruby-node">&quot;installed that matches version \&quot;#{gem_version_spec}\&quot;&quot;</span>,
215
+ 87: <span class="ruby-identifier">gem_version_spec</span>)
216
+ 88: <span class="ruby-keyword kw">else</span>
217
+ 89: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">found_version</span>
218
+ 90: <span class="ruby-keyword kw">end</span>
219
+ 91: <span class="ruby-keyword kw">end</span>
220
+ </pre>
221
+ </div>
222
+ </div>
223
+ </div>
224
+ <div class="method">
225
+ <div class="title">
226
+ <a name="M000114"></a><b>new</b>(app_root, pid, listen_socket_name, listen_socket_type, owner_pipe)
227
+ </div>
228
+ <div class="description">
229
+ <p>
230
+ Creates a <a href="Application.html#M000114">new</a> instance of <a
231
+ href="Application.html">Application</a>. The parameters correspond with the
232
+ attributes of the same names. No exceptions will be thrown.
233
+ </p>
234
+ </div>
235
+ <div class="sourcecode">
236
+ <p class="source-link">[ <a href="javascript:toggleSource('M000114_source')" id="l_M000114_source">show source</a> ]</p>
237
+ <div id="M000114_source" class="dyn-source">
238
+ <pre>
239
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/application.rb, line 95</span>
240
+ 95: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">app_root</span>, <span class="ruby-identifier">pid</span>, <span class="ruby-identifier">listen_socket_name</span>, <span class="ruby-identifier">listen_socket_type</span>, <span class="ruby-identifier">owner_pipe</span>)
241
+ 96: <span class="ruby-ivar">@app_root</span> = <span class="ruby-identifier">app_root</span>
242
+ 97: <span class="ruby-ivar">@pid</span> = <span class="ruby-identifier">pid</span>
243
+ 98: <span class="ruby-ivar">@listen_socket_name</span> = <span class="ruby-identifier">listen_socket_name</span>
244
+ 99: <span class="ruby-ivar">@listen_socket_type</span> = <span class="ruby-identifier">listen_socket_type</span>
245
+ 100: <span class="ruby-ivar">@owner_pipe</span> = <span class="ruby-identifier">owner_pipe</span>
246
+ 101: <span class="ruby-keyword kw">end</span>
247
+ </pre>
248
+ </div>
249
+ </div>
250
+ </div>
251
+ <div class="sectiontitle">Public Instance methods</div>
252
+ <div class="method">
253
+ <div class="title">
254
+ <a name="M000115"></a><b>close</b>()
255
+ </div>
256
+ <div class="description">
257
+ <p>
258
+ Close the connection with the application instance. If there are no other
259
+ processes that have connections to this application instance, then it will
260
+ shutdown as soon as possible.
261
+ </p>
262
+ <p>
263
+ See also AbstractRequestHandler#owner_pipe.
264
+ </p>
265
+ </div>
266
+ <div class="sourcecode">
267
+ <p class="source-link">[ <a href="javascript:toggleSource('M000115_source')" id="l_M000115_source">show source</a> ]</p>
268
+ <div id="M000115_source" class="dyn-source">
269
+ <pre>
270
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/application.rb, line 108</span>
271
+ 108: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
272
+ 109: <span class="ruby-ivar">@owner_pipe</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
273
+ 110: <span class="ruby-keyword kw">end</span>
274
+ </pre>
275
+ </div>
276
+ </div>
277
+ </div>
278
+ </div>
279
+
280
+ </div>
281
+
282
+ </body>
283
+ </html>