passenger 2.0.3 → 2.0.4

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 (275) hide show
  1. data/Rakefile +8 -5
  2. data/bin/passenger-install-apache2-module +6 -1
  3. data/doc/ApplicationPool algorithm.txt +23 -5
  4. data/doc/Architectural overview.html +778 -0
  5. data/doc/Security of user switching support.html +1 -1
  6. data/doc/Users guide.html +113 -31
  7. data/doc/Users guide.txt +104 -10
  8. data/doc/cxxapi/ApplicationPoolServer_8h-source.html +683 -0
  9. data/doc/cxxapi/ApplicationPool_8h-source.html +224 -0
  10. data/doc/cxxapi/Application_8h-source.html +448 -0
  11. data/doc/cxxapi/Bucket_8h-source.html +61 -0
  12. data/doc/cxxapi/Configuration_8h-source.html +195 -0
  13. data/doc/cxxapi/DummySpawnManager_8h-source.html +126 -0
  14. data/doc/cxxapi/Exceptions_8h-source.html +244 -0
  15. data/doc/cxxapi/Hooks_8h-source.html +63 -0
  16. data/doc/cxxapi/Logging_8h-source.html +136 -0
  17. data/doc/cxxapi/MessageChannel_8h-source.html +524 -0
  18. data/doc/cxxapi/SpawnManager_8h-source.html +593 -0
  19. data/doc/cxxapi/StandardApplicationPool_8h-source.html +732 -0
  20. data/doc/cxxapi/System_8h-source.html +251 -0
  21. data/doc/cxxapi/Utils_8h-source.html +283 -0
  22. data/doc/cxxapi/annotated.html +59 -0
  23. data/doc/cxxapi/classClient-members.html +35 -0
  24. data/doc/cxxapi/classClient.html +117 -0
  25. data/doc/cxxapi/classDirectoryMapper-members.html +38 -0
  26. data/doc/cxxapi/classDirectoryMapper.html +203 -0
  27. data/doc/cxxapi/classHooks-members.html +33 -0
  28. data/doc/cxxapi/classHooks.html +43 -0
  29. data/doc/cxxapi/classPassenger_1_1Application-members.html +38 -0
  30. data/doc/cxxapi/classPassenger_1_1Application.html +229 -0
  31. data/doc/cxxapi/classPassenger_1_1ApplicationPool-members.html +41 -0
  32. data/doc/cxxapi/classPassenger_1_1ApplicationPool.html +359 -0
  33. data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer-members.html +36 -0
  34. data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer.html +225 -0
  35. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.map +1 -0
  36. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.md5 +1 -0
  37. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.png +0 -0
  38. data/doc/cxxapi/classPassenger_1_1Application_1_1Session-members.html +43 -0
  39. data/doc/cxxapi/classPassenger_1_1Application_1_1Session.html +329 -0
  40. data/doc/cxxapi/classPassenger_1_1BusyException-members.html +33 -0
  41. data/doc/cxxapi/classPassenger_1_1BusyException.html +47 -0
  42. data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +33 -0
  43. data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +44 -0
  44. data/doc/cxxapi/classPassenger_1_1DummySpawnManager-members.html +33 -0
  45. data/doc/cxxapi/classPassenger_1_1DummySpawnManager.html +51 -0
  46. data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +33 -0
  47. data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +51 -0
  48. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.map +1 -0
  49. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.md5 +1 -0
  50. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
  51. data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +38 -0
  52. data/doc/cxxapi/classPassenger_1_1FileSystemException.html +61 -0
  53. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.map +1 -0
  54. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.md5 +1 -0
  55. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.png +0 -0
  56. data/doc/cxxapi/classPassenger_1_1IOException-members.html +33 -0
  57. data/doc/cxxapi/classPassenger_1_1IOException.html +54 -0
  58. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +1 -0
  59. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +1 -0
  60. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
  61. data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +47 -0
  62. data/doc/cxxapi/classPassenger_1_1MessageChannel.html +591 -0
  63. data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +35 -0
  64. data/doc/cxxapi/classPassenger_1_1SpawnException.html +77 -0
  65. data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +37 -0
  66. data/doc/cxxapi/classPassenger_1_1SpawnManager.html +255 -0
  67. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool-members.html +43 -0
  68. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool.html +400 -0
  69. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.map +1 -0
  70. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.md5 +1 -0
  71. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.png +0 -0
  72. data/doc/cxxapi/classPassenger_1_1SystemException-members.html +37 -0
  73. data/doc/cxxapi/classPassenger_1_1SystemException.html +154 -0
  74. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map +1 -0
  75. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5 +1 -0
  76. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
  77. data/doc/cxxapi/classPassenger_1_1TempFile-members.html +36 -0
  78. data/doc/cxxapi/classPassenger_1_1TempFile.html +128 -0
  79. data/doc/cxxapi/classPassenger_1_1Thread-members.html +35 -0
  80. data/doc/cxxapi/classPassenger_1_1Thread.html +100 -0
  81. data/doc/cxxapi/classboost_1_1this__thread_1_1disable__syscall__interruption-members.html +33 -0
  82. data/doc/cxxapi/classboost_1_1this__thread_1_1disable__syscall__interruption.html +46 -0
  83. data/doc/cxxapi/classboost_1_1this__thread_1_1enable__syscall__interruption-members.html +33 -0
  84. data/doc/cxxapi/classboost_1_1this__thread_1_1enable__syscall__interruption.html +44 -0
  85. data/doc/cxxapi/classboost_1_1this__thread_1_1restore__syscall__interruption-members.html +33 -0
  86. data/doc/cxxapi/classboost_1_1this__thread_1_1restore__syscall__interruption.html +44 -0
  87. data/doc/cxxapi/definitions_8h-source.html +28 -0
  88. data/doc/cxxapi/doxygen.css +433 -0
  89. data/doc/cxxapi/doxygen.png +0 -0
  90. data/doc/cxxapi/files.html +42 -0
  91. data/doc/cxxapi/ftv2blank.png +0 -0
  92. data/doc/cxxapi/ftv2doc.png +0 -0
  93. data/doc/cxxapi/ftv2folderclosed.png +0 -0
  94. data/doc/cxxapi/ftv2folderopen.png +0 -0
  95. data/doc/cxxapi/ftv2lastnode.png +0 -0
  96. data/doc/cxxapi/ftv2link.png +0 -0
  97. data/doc/cxxapi/ftv2mlastnode.png +0 -0
  98. data/doc/cxxapi/ftv2mnode.png +0 -0
  99. data/doc/cxxapi/ftv2node.png +0 -0
  100. data/doc/cxxapi/ftv2plastnode.png +0 -0
  101. data/doc/cxxapi/ftv2pnode.png +0 -0
  102. data/doc/cxxapi/ftv2vertline.png +0 -0
  103. data/doc/cxxapi/functions.html +215 -0
  104. data/doc/cxxapi/functions_func.html +210 -0
  105. data/doc/cxxapi/functions_type.html +46 -0
  106. data/doc/cxxapi/functions_vars.html +48 -0
  107. data/doc/cxxapi/graph_legend.dot +22 -0
  108. data/doc/cxxapi/graph_legend.html +87 -0
  109. data/doc/cxxapi/graph_legend.png +0 -0
  110. data/doc/cxxapi/group__Configuration.html +236 -0
  111. data/doc/cxxapi/group__Configuration.png +0 -0
  112. data/doc/cxxapi/group__Core.html +51 -0
  113. data/doc/cxxapi/group__Core.png +0 -0
  114. data/doc/cxxapi/group__Exceptions.html +43 -0
  115. data/doc/cxxapi/group__Hooks.html +46 -0
  116. data/doc/cxxapi/group__Hooks.png +0 -0
  117. data/doc/cxxapi/group__Support.html +406 -0
  118. data/doc/cxxapi/hierarchy.html +67 -0
  119. data/doc/cxxapi/index.html +11 -0
  120. data/doc/cxxapi/inherit__graph__0.map +1 -0
  121. data/doc/cxxapi/inherit__graph__0.md5 +1 -0
  122. data/doc/cxxapi/inherit__graph__0.png +0 -0
  123. data/doc/cxxapi/inherit__graph__1.map +1 -0
  124. data/doc/cxxapi/inherit__graph__1.md5 +1 -0
  125. data/doc/cxxapi/inherit__graph__1.png +0 -0
  126. data/doc/cxxapi/inherit__graph__10.map +1 -0
  127. data/doc/cxxapi/inherit__graph__10.md5 +1 -0
  128. data/doc/cxxapi/inherit__graph__10.png +0 -0
  129. data/doc/cxxapi/inherit__graph__11.map +1 -0
  130. data/doc/cxxapi/inherit__graph__11.md5 +1 -0
  131. data/doc/cxxapi/inherit__graph__11.png +0 -0
  132. data/doc/cxxapi/inherit__graph__12.map +1 -0
  133. data/doc/cxxapi/inherit__graph__12.md5 +1 -0
  134. data/doc/cxxapi/inherit__graph__12.png +0 -0
  135. data/doc/cxxapi/inherit__graph__13.map +1 -0
  136. data/doc/cxxapi/inherit__graph__13.md5 +1 -0
  137. data/doc/cxxapi/inherit__graph__13.png +0 -0
  138. data/doc/cxxapi/inherit__graph__14.map +2 -0
  139. data/doc/cxxapi/inherit__graph__14.md5 +1 -0
  140. data/doc/cxxapi/inherit__graph__14.png +0 -0
  141. data/doc/cxxapi/inherit__graph__15.map +1 -0
  142. data/doc/cxxapi/inherit__graph__15.md5 +1 -0
  143. data/doc/cxxapi/inherit__graph__15.png +0 -0
  144. data/doc/cxxapi/inherit__graph__16.map +1 -0
  145. data/doc/cxxapi/inherit__graph__16.md5 +1 -0
  146. data/doc/cxxapi/inherit__graph__16.png +0 -0
  147. data/doc/cxxapi/inherit__graph__17.map +1 -0
  148. data/doc/cxxapi/inherit__graph__17.md5 +1 -0
  149. data/doc/cxxapi/inherit__graph__17.png +0 -0
  150. data/doc/cxxapi/inherit__graph__18.map +1 -0
  151. data/doc/cxxapi/inherit__graph__18.md5 +1 -0
  152. data/doc/cxxapi/inherit__graph__18.png +0 -0
  153. data/doc/cxxapi/inherit__graph__19.map +2 -0
  154. data/doc/cxxapi/inherit__graph__19.md5 +1 -0
  155. data/doc/cxxapi/inherit__graph__19.png +0 -0
  156. data/doc/cxxapi/inherit__graph__2.map +1 -0
  157. data/doc/cxxapi/inherit__graph__2.md5 +1 -0
  158. data/doc/cxxapi/inherit__graph__2.png +0 -0
  159. data/doc/cxxapi/inherit__graph__20.map +1 -0
  160. data/doc/cxxapi/inherit__graph__20.md5 +1 -0
  161. data/doc/cxxapi/inherit__graph__20.png +0 -0
  162. data/doc/cxxapi/inherit__graph__21.map +1 -0
  163. data/doc/cxxapi/inherit__graph__21.md5 +1 -0
  164. data/doc/cxxapi/inherit__graph__21.png +0 -0
  165. data/doc/cxxapi/inherit__graph__3.map +1 -0
  166. data/doc/cxxapi/inherit__graph__3.md5 +1 -0
  167. data/doc/cxxapi/inherit__graph__3.png +0 -0
  168. data/doc/cxxapi/inherit__graph__4.map +1 -0
  169. data/doc/cxxapi/inherit__graph__4.md5 +1 -0
  170. data/doc/cxxapi/inherit__graph__4.png +0 -0
  171. data/doc/cxxapi/inherit__graph__5.map +1 -0
  172. data/doc/cxxapi/inherit__graph__5.md5 +1 -0
  173. data/doc/cxxapi/inherit__graph__5.png +0 -0
  174. data/doc/cxxapi/inherit__graph__6.map +1 -0
  175. data/doc/cxxapi/inherit__graph__6.md5 +1 -0
  176. data/doc/cxxapi/inherit__graph__6.png +0 -0
  177. data/doc/cxxapi/inherit__graph__7.map +1 -0
  178. data/doc/cxxapi/inherit__graph__7.md5 +1 -0
  179. data/doc/cxxapi/inherit__graph__7.png +0 -0
  180. data/doc/cxxapi/inherit__graph__8.map +1 -0
  181. data/doc/cxxapi/inherit__graph__8.md5 +1 -0
  182. data/doc/cxxapi/inherit__graph__8.png +0 -0
  183. data/doc/cxxapi/inherit__graph__9.map +2 -0
  184. data/doc/cxxapi/inherit__graph__9.md5 +1 -0
  185. data/doc/cxxapi/inherit__graph__9.png +0 -0
  186. data/doc/cxxapi/inherits.html +102 -0
  187. data/doc/cxxapi/main.html +27 -0
  188. data/doc/cxxapi/modules.html +34 -0
  189. data/doc/cxxapi/namespacePassenger.html +208 -0
  190. data/doc/cxxapi/namespacePassenger_1_1InterruptableCalls.html +43 -0
  191. data/doc/cxxapi/namespacemembers.html +70 -0
  192. data/doc/cxxapi/namespacemembers_func.html +66 -0
  193. data/doc/cxxapi/namespacemembers_type.html +46 -0
  194. data/doc/cxxapi/namespaces.html +35 -0
  195. data/doc/cxxapi/structPassenger_1_1AnythingToString-members.html +33 -0
  196. data/doc/cxxapi/structPassenger_1_1AnythingToString.html +49 -0
  197. data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4-members.html +33 -0
  198. data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html +49 -0
  199. data/doc/cxxapi/tab_b.gif +0 -0
  200. data/doc/cxxapi/tab_l.gif +0 -0
  201. data/doc/cxxapi/tab_r.gif +0 -0
  202. data/doc/cxxapi/tabs.css +102 -0
  203. data/doc/cxxapi/tree.html +167 -0
  204. data/doc/rdoc/classes/ConditionVariable.html +160 -0
  205. data/doc/rdoc/classes/Exception.html +120 -0
  206. data/doc/rdoc/classes/GC.html +113 -0
  207. data/doc/rdoc/classes/IO.html +150 -0
  208. data/doc/rdoc/classes/Passenger.html +136 -0
  209. data/doc/rdoc/classes/Passenger/AbstractRequestHandler.html +402 -0
  210. data/doc/rdoc/classes/Passenger/AbstractServer.html +649 -0
  211. data/doc/rdoc/classes/Passenger/AbstractServer/ServerAlreadyStarted.html +97 -0
  212. data/doc/rdoc/classes/Passenger/AbstractServer/ServerError.html +96 -0
  213. data/doc/rdoc/classes/Passenger/AbstractServer/ServerNotStarted.html +97 -0
  214. data/doc/rdoc/classes/Passenger/AbstractServer/UnknownMessage.html +96 -0
  215. data/doc/rdoc/classes/Passenger/AppInitError.html +137 -0
  216. data/doc/rdoc/classes/Passenger/Application.html +298 -0
  217. data/doc/rdoc/classes/Passenger/ConsoleTextTemplate.html +172 -0
  218. data/doc/rdoc/classes/Passenger/FrameworkInitError.html +143 -0
  219. data/doc/rdoc/classes/Passenger/HTMLTemplate.html +175 -0
  220. data/doc/rdoc/classes/Passenger/InitializationError.html +141 -0
  221. data/doc/rdoc/classes/Passenger/MessageChannel.html +488 -0
  222. data/doc/rdoc/classes/Passenger/NativeSupport.html +320 -0
  223. data/doc/rdoc/classes/Passenger/SpawnManager.html +375 -0
  224. data/doc/rdoc/classes/Passenger/UnknownError.html +125 -0
  225. data/doc/rdoc/classes/Passenger/Utils.html +578 -0
  226. data/doc/rdoc/classes/Passenger/VersionNotFound.html +140 -0
  227. data/doc/rdoc/classes/PlatformInfo.html +302 -0
  228. data/doc/rdoc/classes/RakeExtensions.html +197 -0
  229. data/doc/rdoc/created.rid +1 -0
  230. data/doc/rdoc/files/DEVELOPERS_TXT.html +230 -0
  231. data/doc/rdoc/files/README.html +150 -0
  232. data/doc/rdoc/files/ext/passenger/native_support_c.html +92 -0
  233. data/doc/rdoc/files/lib/passenger/abstract_request_handler_rb.html +126 -0
  234. data/doc/rdoc/files/lib/passenger/abstract_server_rb.html +127 -0
  235. data/doc/rdoc/files/lib/passenger/application_rb.html +123 -0
  236. data/doc/rdoc/files/lib/passenger/console_text_template_rb.html +122 -0
  237. data/doc/rdoc/files/lib/passenger/constants_rb.html +114 -0
  238. data/doc/rdoc/files/lib/passenger/dependencies_rb.html +130 -0
  239. data/doc/rdoc/files/lib/passenger/exceptions_rb.html +118 -0
  240. data/doc/rdoc/files/lib/passenger/html_template_rb.html +122 -0
  241. data/doc/rdoc/files/lib/passenger/message_channel_rb.html +118 -0
  242. data/doc/rdoc/files/lib/passenger/platform_info_rb.html +122 -0
  243. data/doc/rdoc/files/lib/passenger/simple_benchmarking_rb.html +118 -0
  244. data/doc/rdoc/files/lib/passenger/spawn_manager_rb.html +139 -0
  245. data/doc/rdoc/files/lib/passenger/utils_rb.html +130 -0
  246. data/doc/rdoc/files/lib/rake/extensions_rb.html +122 -0
  247. data/doc/rdoc/fr_class_index.html +71 -0
  248. data/doc/rdoc/fr_file_index.html +63 -0
  249. data/doc/rdoc/fr_method_index.html +120 -0
  250. data/doc/rdoc/index.html +26 -0
  251. data/doc/rdoc/rdoc-style.css +187 -0
  252. data/ext/apache2/ApplicationPool.h +12 -0
  253. data/ext/apache2/ApplicationPoolServer.h +6 -0
  254. data/ext/apache2/ApplicationPoolServerExecutable.cpp +6 -0
  255. data/ext/apache2/Bucket.cpp +63 -69
  256. data/ext/apache2/Bucket.h +2 -0
  257. data/ext/apache2/Configuration.cpp +24 -0
  258. data/ext/apache2/Configuration.h +16 -1
  259. data/ext/apache2/Hooks.cpp +5 -3
  260. data/ext/apache2/StandardApplicationPool.h +30 -11
  261. data/lib/passenger/abstract_request_handler.rb +3 -0
  262. data/lib/passenger/abstract_server.rb +3 -3
  263. data/lib/passenger/application.rb +4 -2
  264. data/lib/passenger/dependencies.rb +10 -1
  265. data/lib/passenger/platform_info.rb +40 -1
  266. data/lib/passenger/rack/request_handler.rb +4 -2
  267. data/lib/passenger/railz/application_spawner.rb +7 -1
  268. data/lib/passenger/utils.rb +6 -8
  269. data/lib/rake/gempackagetask.rb +0 -6
  270. data/lib/rake/rdoctask.rb +84 -23
  271. data/test/ApplicationPoolTest.cpp +36 -0
  272. data/test/ruby/rails/minimal_spawner_spec.rb +8 -0
  273. data/test/ruby/utils_spec.rb +33 -0
  274. data/test/stub/rails_apps/foobar/config/environments/production.rb +0 -1
  275. metadata +262 -5
@@ -356,5 +356,41 @@
356
356
  pool->setMaxPerApp(1);
357
357
  // TODO: how do we test this?
358
358
  }
359
+
360
+ struct SpawnRackAppFunction {
361
+ ApplicationPoolPtr pool;
362
+ bool *done;
363
+
364
+ void operator()() {
365
+ spawnRackApp(pool, "stub/rack");
366
+ *done = true;
367
+ }
368
+ };
369
+
370
+ TEST_METHOD(19) {
371
+ // If global queueing mode is enabled, then get() waits until
372
+ // there's at least one idle backend process for this application
373
+ // domain.
374
+ pool->setUseGlobalQueue(true);
375
+ pool->setMax(1);
376
+ Application::SessionPtr session = spawnRackApp(pool, "stub/rack");
377
+
378
+ bool done = false;
379
+ SpawnRackAppFunction func;
380
+ func.pool = pool2;
381
+ func.done = &done;
382
+ boost::thread thr(func);
383
+ usleep(100000);
384
+
385
+ // Previous session hasn't been closed yet, so pool should still
386
+ // be waiting.
387
+ ensure(!done);
388
+
389
+ // Close the previous session. The thread should now finish.
390
+ session.reset();
391
+ thr.join();
392
+ }
393
+
394
+ // TODO: test maxIdleTime == 0
359
395
 
360
396
  #endif /* USE_TEMPLATE */
@@ -34,4 +34,12 @@ shared_examples_for "a minimal spawner" do
34
34
  environment.should == "development"
35
35
  end
36
36
  end
37
+
38
+ it "loads application_controller.rb instead of application.rb, if the former exists" do
39
+ use_rails_stub('foobar') do |stub|
40
+ File.rename("#{stub.app_root}/app/controllers/application.rb",
41
+ "#{stub.app_root}/app/controllers/application_controller.rb")
42
+ lambda { spawn_stub_application(stub).close }.should_not raise_error
43
+ end
44
+ end
37
45
  end
@@ -0,0 +1,33 @@
1
+ require 'support/config'
2
+
3
+ require 'tempfile'
4
+ require 'passenger/utils'
5
+
6
+ include Passenger
7
+
8
+ describe Utils do
9
+ include Utils
10
+
11
+ specify "#close_all_io_objects_for_fds closes all IO objects that are associated with the given file descriptors" do
12
+ filename = "#{Dir.tmpdir}/passenger_test.#{Process.pid}.txt"
13
+ begin
14
+ pid = fork do
15
+ begin
16
+ a, b = IO.pipe
17
+ close_all_io_objects_for_fds([0, 1, 2])
18
+ File.open(filename, "w") do |f|
19
+ f.write("#{a.closed?}, #{b.closed?}")
20
+ end
21
+ rescue Exception => e
22
+ print_exception("utils_spec", e)
23
+ ensure
24
+ exit!
25
+ end
26
+ end
27
+ Process.waitpid(pid) rescue nil
28
+ File.read(filename).should == "true, true"
29
+ ensure
30
+ File.unlink(filename) rescue nil
31
+ end
32
+ end
33
+ end
@@ -10,7 +10,6 @@ config.cache_classes = true
10
10
  # Full error reports are disabled and caching is turned on
11
11
  config.action_controller.consider_all_requests_local = false
12
12
  config.action_controller.perform_caching = true
13
- config.action_view.cache_template_loading = true
14
13
 
15
14
  # Enable serving of images, stylesheets, and javascripts from an asset server
16
15
  # config.action_controller.asset_host = "http://assets.example.com"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: passenger
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Phusion - http://www.phusion.nl/
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-08-09 00:00:00 +02:00
12
+ date: 2008-12-01 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -113,15 +113,214 @@ files:
113
113
  - bin/passenger-status
114
114
  - bin/passenger-make-enterprisey
115
115
  - doc/Doxyfile
116
+ - doc/cxxapi
116
117
  - doc/definitions.h
117
118
  - doc/images
119
+ - doc/Users guide.html
118
120
  - doc/ApplicationPool algorithm.txt
119
121
  - doc/Architectural overview.txt
122
+ - doc/rdoc
120
123
  - doc/template
121
124
  - doc/Users guide.txt
122
- - doc/Security of user switching support.txt
123
- - doc/Users guide.html
125
+ - doc/Architectural overview.html
124
126
  - doc/Security of user switching support.html
127
+ - doc/Security of user switching support.txt
128
+ - doc/cxxapi/inherit__graph__15.png
129
+ - doc/cxxapi/inherit__graph__0.png
130
+ - doc/cxxapi/tree.html
131
+ - doc/cxxapi/inherit__graph__3.map
132
+ - doc/cxxapi/classPassenger_1_1Thread.html
133
+ - doc/cxxapi/inherit__graph__9.png
134
+ - doc/cxxapi/inherit__graph__18.md5
135
+ - doc/cxxapi/inherit__graph__5.png
136
+ - doc/cxxapi/inherit__graph__15.md5
137
+ - doc/cxxapi/graph_legend.dot
138
+ - doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png
139
+ - doc/cxxapi/inherit__graph__18.png
140
+ - doc/cxxapi/inherit__graph__12.png
141
+ - doc/cxxapi/ApplicationPoolServer_8h-source.html
142
+ - doc/cxxapi/inherit__graph__16.png
143
+ - doc/cxxapi/inherit__graph__15.map
144
+ - doc/cxxapi/inherit__graph__6.map
145
+ - doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map
146
+ - doc/cxxapi/inherit__graph__5.map
147
+ - doc/cxxapi/structPassenger_1_1AnythingToString-members.html
148
+ - doc/cxxapi/classPassenger_1_1TempFile-members.html
149
+ - doc/cxxapi/ftv2vertline.png
150
+ - doc/cxxapi/classPassenger_1_1SpawnManager.html
151
+ - doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map
152
+ - doc/cxxapi/group__Core.png
153
+ - doc/cxxapi/classboost_1_1this__thread_1_1enable__syscall__interruption-members.html
154
+ - doc/cxxapi/ftv2folderopen.png
155
+ - doc/cxxapi/graph_legend.png
156
+ - doc/cxxapi/inherit__graph__10.map
157
+ - doc/cxxapi/classPassenger_1_1FileSystemException-members.html
158
+ - doc/cxxapi/inherit__graph__16.map
159
+ - doc/cxxapi/namespacePassenger_1_1InterruptableCalls.html
160
+ - doc/cxxapi/group__Core.html
161
+ - doc/cxxapi/classPassenger_1_1SpawnException-members.html
162
+ - doc/cxxapi/inherit__graph__6.png
163
+ - doc/cxxapi/inherit__graph__3.png
164
+ - doc/cxxapi/classPassenger_1_1IOException-members.html
165
+ - doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5
166
+ - doc/cxxapi/index.html
167
+ - doc/cxxapi/inherit__graph__21.png
168
+ - doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png
169
+ - doc/cxxapi/inherit__graph__7.png
170
+ - doc/cxxapi/System_8h-source.html
171
+ - doc/cxxapi/inherit__graph__9.md5
172
+ - doc/cxxapi/inherit__graph__7.md5
173
+ - doc/cxxapi/classboost_1_1this__thread_1_1disable__syscall__interruption-members.html
174
+ - doc/cxxapi/inherit__graph__12.map
175
+ - doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5
176
+ - doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.md5
177
+ - doc/cxxapi/inherit__graph__19.map
178
+ - doc/cxxapi/namespaces.html
179
+ - doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.md5
180
+ - doc/cxxapi/classDirectoryMapper.html
181
+ - doc/cxxapi/classPassenger_1_1ApplicationPoolServer.html
182
+ - doc/cxxapi/inherit__graph__0.md5
183
+ - doc/cxxapi/inherit__graph__5.md5
184
+ - doc/cxxapi/inherit__graph__2.png
185
+ - doc/cxxapi/ApplicationPool_8h-source.html
186
+ - doc/cxxapi/inherit__graph__4.md5
187
+ - doc/cxxapi/group__Support.html
188
+ - doc/cxxapi/classPassenger_1_1SystemException.html
189
+ - doc/cxxapi/classboost_1_1this__thread_1_1enable__syscall__interruption.html
190
+ - doc/cxxapi/classDirectoryMapper-members.html
191
+ - doc/cxxapi/inherit__graph__13.map
192
+ - doc/cxxapi/definitions_8h-source.html
193
+ - doc/cxxapi/annotated.html
194
+ - doc/cxxapi/inherit__graph__6.md5
195
+ - doc/cxxapi/classPassenger_1_1TempFile.html
196
+ - doc/cxxapi/ftv2mlastnode.png
197
+ - doc/cxxapi/tab_r.gif
198
+ - doc/cxxapi/inherit__graph__12.md5
199
+ - doc/cxxapi/inherit__graph__11.md5
200
+ - doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.map
201
+ - doc/cxxapi/inherit__graph__17.md5
202
+ - doc/cxxapi/classPassenger_1_1BusyException.html
203
+ - doc/cxxapi/classPassenger_1_1StandardApplicationPool.html
204
+ - doc/cxxapi/classboost_1_1this__thread_1_1restore__syscall__interruption.html
205
+ - doc/cxxapi/Hooks_8h-source.html
206
+ - doc/cxxapi/inherit__graph__21.map
207
+ - doc/cxxapi/inherit__graph__18.map
208
+ - doc/cxxapi/classPassenger_1_1DummySpawnManager-members.html
209
+ - doc/cxxapi/inherit__graph__2.map
210
+ - doc/cxxapi/inherit__graph__21.md5
211
+ - doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.map
212
+ - doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html
213
+ - doc/cxxapi/ftv2plastnode.png
214
+ - doc/cxxapi/inherit__graph__3.md5
215
+ - doc/cxxapi/classPassenger_1_1ApplicationPool-members.html
216
+ - doc/cxxapi/doxygen.png
217
+ - doc/cxxapi/classPassenger_1_1MessageChannel-members.html
218
+ - doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.png
219
+ - doc/cxxapi/Configuration_8h-source.html
220
+ - doc/cxxapi/inherit__graph__8.md5
221
+ - doc/cxxapi/classPassenger_1_1ApplicationPoolServer-members.html
222
+ - doc/cxxapi/classPassenger_1_1SystemException-members.html
223
+ - doc/cxxapi/inherit__graph__4.map
224
+ - doc/cxxapi/classPassenger_1_1Application.html
225
+ - doc/cxxapi/functions.html
226
+ - doc/cxxapi/ftv2pnode.png
227
+ - doc/cxxapi/files.html
228
+ - doc/cxxapi/MessageChannel_8h-source.html
229
+ - doc/cxxapi/inherit__graph__17.png
230
+ - doc/cxxapi/classPassenger_1_1Application_1_1Session.html
231
+ - doc/cxxapi/functions_vars.html
232
+ - doc/cxxapi/inherit__graph__20.map
233
+ - doc/cxxapi/inherit__graph__8.png
234
+ - doc/cxxapi/namespacemembers.html
235
+ - doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.md5
236
+ - doc/cxxapi/inherit__graph__1.png
237
+ - doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.md5
238
+ - doc/cxxapi/classPassenger_1_1DummySpawnManager.html
239
+ - doc/cxxapi/group__Hooks.png
240
+ - doc/cxxapi/namespacemembers_type.html
241
+ - doc/cxxapi/inherit__graph__11.png
242
+ - doc/cxxapi/DummySpawnManager_8h-source.html
243
+ - doc/cxxapi/classPassenger_1_1SpawnManager-members.html
244
+ - doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4-members.html
245
+ - doc/cxxapi/namespacePassenger.html
246
+ - doc/cxxapi/classPassenger_1_1Application-members.html
247
+ - doc/cxxapi/group__Exceptions.html
248
+ - doc/cxxapi/classPassenger_1_1ConfigurationException-members.html
249
+ - doc/cxxapi/inherit__graph__0.map
250
+ - doc/cxxapi/ftv2doc.png
251
+ - doc/cxxapi/inherit__graph__17.map
252
+ - doc/cxxapi/tab_b.gif
253
+ - doc/cxxapi/classPassenger_1_1IOException.html
254
+ - doc/cxxapi/ftv2link.png
255
+ - doc/cxxapi/inherit__graph__1.md5
256
+ - doc/cxxapi/inherit__graph__4.png
257
+ - doc/cxxapi/tab_l.gif
258
+ - doc/cxxapi/functions_func.html
259
+ - doc/cxxapi/inherit__graph__13.md5
260
+ - doc/cxxapi/inherit__graph__8.map
261
+ - doc/cxxapi/inherit__graph__20.md5
262
+ - doc/cxxapi/classPassenger_1_1Application_1_1Session-members.html
263
+ - doc/cxxapi/graph_legend.html
264
+ - doc/cxxapi/Logging_8h-source.html
265
+ - doc/cxxapi/classboost_1_1this__thread_1_1restore__syscall__interruption-members.html
266
+ - doc/cxxapi/ftv2blank.png
267
+ - doc/cxxapi/classPassenger_1_1SpawnException.html
268
+ - doc/cxxapi/inherit__graph__7.map
269
+ - doc/cxxapi/group__Configuration.html
270
+ - doc/cxxapi/SpawnManager_8h-source.html
271
+ - doc/cxxapi/classPassenger_1_1BusyException-members.html
272
+ - doc/cxxapi/inherit__graph__1.map
273
+ - doc/cxxapi/inherit__graph__20.png
274
+ - doc/cxxapi/inherit__graph__14.png
275
+ - doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.png
276
+ - doc/cxxapi/group__Hooks.html
277
+ - doc/cxxapi/modules.html
278
+ - doc/cxxapi/inherit__graph__11.map
279
+ - doc/cxxapi/inherit__graph__19.md5
280
+ - doc/cxxapi/classPassenger_1_1ApplicationPool.html
281
+ - doc/cxxapi/main.html
282
+ - doc/cxxapi/StandardApplicationPool_8h-source.html
283
+ - doc/cxxapi/classPassenger_1_1FileSystemException.html
284
+ - doc/cxxapi/hierarchy.html
285
+ - doc/cxxapi/namespacemembers_func.html
286
+ - doc/cxxapi/Bucket_8h-source.html
287
+ - doc/cxxapi/classClient-members.html
288
+ - doc/cxxapi/classPassenger_1_1FileNotFoundException.html
289
+ - doc/cxxapi/inherit__graph__2.md5
290
+ - doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.map
291
+ - doc/cxxapi/ftv2folderclosed.png
292
+ - doc/cxxapi/classClient.html
293
+ - doc/cxxapi/inherit__graph__14.map
294
+ - doc/cxxapi/inherit__graph__9.map
295
+ - doc/cxxapi/ftv2node.png
296
+ - doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.png
297
+ - doc/cxxapi/classHooks.html
298
+ - doc/cxxapi/inherit__graph__19.png
299
+ - doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png
300
+ - doc/cxxapi/classPassenger_1_1ConfigurationException.html
301
+ - doc/cxxapi/structPassenger_1_1AnythingToString.html
302
+ - doc/cxxapi/classboost_1_1this__thread_1_1disable__syscall__interruption.html
303
+ - doc/cxxapi/Exceptions_8h-source.html
304
+ - doc/cxxapi/Application_8h-source.html
305
+ - doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html
306
+ - doc/cxxapi/classHooks-members.html
307
+ - doc/cxxapi/Utils_8h-source.html
308
+ - doc/cxxapi/doxygen.css
309
+ - doc/cxxapi/group__Configuration.png
310
+ - doc/cxxapi/classPassenger_1_1Thread-members.html
311
+ - doc/cxxapi/inherit__graph__10.md5
312
+ - doc/cxxapi/inherits.html
313
+ - doc/cxxapi/tabs.css
314
+ - doc/cxxapi/inherit__graph__16.md5
315
+ - doc/cxxapi/ftv2lastnode.png
316
+ - doc/cxxapi/ftv2mnode.png
317
+ - doc/cxxapi/classPassenger_1_1MessageChannel.html
318
+ - doc/cxxapi/inherit__graph__14.md5
319
+ - doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.map
320
+ - doc/cxxapi/classPassenger_1_1StandardApplicationPool-members.html
321
+ - doc/cxxapi/inherit__graph__13.png
322
+ - doc/cxxapi/functions_type.html
323
+ - doc/cxxapi/inherit__graph__10.png
125
324
  - doc/images/typical_isolated_web_application.svg
126
325
  - doc/images/icons
127
326
  - doc/images/typical_isolated_web_application.png
@@ -131,6 +330,14 @@ files:
131
330
  - doc/images/spawn_server_architecture.svg
132
331
  - doc/images/by_sa.png
133
332
  - doc/images/phusion_banner.png
333
+ - doc/rdoc/created.rid
334
+ - doc/rdoc/fr_class_index.html
335
+ - doc/rdoc/files
336
+ - doc/rdoc/index.html
337
+ - doc/rdoc/fr_file_index.html
338
+ - doc/rdoc/fr_method_index.html
339
+ - doc/rdoc/rdoc-style.css
340
+ - doc/rdoc/classes
134
341
  - doc/template/horo.rb
135
342
  - doc/images/icons/up.png
136
343
  - doc/images/icons/warning.png
@@ -144,6 +351,18 @@ files:
144
351
  - doc/images/icons/prev.png
145
352
  - doc/images/icons/callouts
146
353
  - doc/images/icons/example.png
354
+ - doc/rdoc/files/README.html
355
+ - doc/rdoc/files/DEVELOPERS_TXT.html
356
+ - doc/rdoc/files/ext
357
+ - doc/rdoc/files/lib
358
+ - doc/rdoc/classes/Passenger
359
+ - doc/rdoc/classes/Exception.html
360
+ - doc/rdoc/classes/ConditionVariable.html
361
+ - doc/rdoc/classes/RakeExtensions.html
362
+ - doc/rdoc/classes/GC.html
363
+ - doc/rdoc/classes/IO.html
364
+ - doc/rdoc/classes/Passenger.html
365
+ - doc/rdoc/classes/PlatformInfo.html
147
366
  - doc/images/icons/callouts/10.png
148
367
  - doc/images/icons/callouts/12.png
149
368
  - doc/images/icons/callouts/3.png
@@ -159,6 +378,43 @@ files:
159
378
  - doc/images/icons/callouts/13.png
160
379
  - doc/images/icons/callouts/15.png
161
380
  - doc/images/icons/callouts/14.png
381
+ - doc/rdoc/files/ext/passenger
382
+ - doc/rdoc/files/lib/rake
383
+ - doc/rdoc/files/lib/passenger
384
+ - doc/rdoc/classes/Passenger/InitializationError.html
385
+ - doc/rdoc/classes/Passenger/AbstractServer.html
386
+ - doc/rdoc/classes/Passenger/HTMLTemplate.html
387
+ - doc/rdoc/classes/Passenger/AbstractServer
388
+ - doc/rdoc/classes/Passenger/SpawnManager.html
389
+ - doc/rdoc/classes/Passenger/Application.html
390
+ - doc/rdoc/classes/Passenger/MessageChannel.html
391
+ - doc/rdoc/classes/Passenger/Utils.html
392
+ - doc/rdoc/classes/Passenger/NativeSupport.html
393
+ - doc/rdoc/classes/Passenger/AbstractRequestHandler.html
394
+ - doc/rdoc/classes/Passenger/AppInitError.html
395
+ - doc/rdoc/classes/Passenger/UnknownError.html
396
+ - doc/rdoc/classes/Passenger/FrameworkInitError.html
397
+ - doc/rdoc/classes/Passenger/ConsoleTextTemplate.html
398
+ - doc/rdoc/classes/Passenger/VersionNotFound.html
399
+ - doc/rdoc/files/ext/passenger/native_support_c.html
400
+ - doc/rdoc/files/lib/rake/extensions_rb.html
401
+ - doc/rdoc/files/lib/passenger/spawn_manager_rb.html
402
+ - doc/rdoc/files/lib/passenger/console_text_template_rb.html
403
+ - doc/rdoc/files/lib/passenger/exceptions_rb.html
404
+ - doc/rdoc/files/lib/passenger/abstract_server_rb.html
405
+ - doc/rdoc/files/lib/passenger/application_rb.html
406
+ - doc/rdoc/files/lib/passenger/message_channel_rb.html
407
+ - doc/rdoc/files/lib/passenger/dependencies_rb.html
408
+ - doc/rdoc/files/lib/passenger/constants_rb.html
409
+ - doc/rdoc/files/lib/passenger/platform_info_rb.html
410
+ - doc/rdoc/files/lib/passenger/utils_rb.html
411
+ - doc/rdoc/files/lib/passenger/simple_benchmarking_rb.html
412
+ - doc/rdoc/files/lib/passenger/html_template_rb.html
413
+ - doc/rdoc/files/lib/passenger/abstract_request_handler_rb.html
414
+ - doc/rdoc/classes/Passenger/AbstractServer/ServerAlreadyStarted.html
415
+ - doc/rdoc/classes/Passenger/AbstractServer/UnknownMessage.html
416
+ - doc/rdoc/classes/Passenger/AbstractServer/ServerNotStarted.html
417
+ - doc/rdoc/classes/Passenger/AbstractServer/ServerError.html
162
418
  - man/passenger-memory-stats.8
163
419
  - man/passenger-config.1
164
420
  - man/passenger-status.8
@@ -776,6 +1032,7 @@ files:
776
1032
  - test/ruby/spawn_server_spec.rb
777
1033
  - test/ruby/rails
778
1034
  - test/ruby/abstract_server_spec.rb
1035
+ - test/ruby/utils_spec.rb
779
1036
  - test/ruby/rack/application_spawner_spec.rb
780
1037
  - test/ruby/rails/framework_spawner_spec.rb
781
1038
  - test/ruby/rails/application_spawner_spec.rb
@@ -1077,7 +1334,7 @@ requirements:
1077
1334
  - fastthread
1078
1335
  - Apache 2 with development headers
1079
1336
  rubyforge_project: passenger
1080
- rubygems_version: 1.2.0
1337
+ rubygems_version: 1.3.1
1081
1338
  signing_key:
1082
1339
  specification_version: 2
1083
1340
  summary: Apache module for Ruby on Rails support.