passenger 3.0.0 → 3.0.1

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 (538) hide show
  1. data/DEVELOPERS.TXT +9 -6
  2. data/NEWS +50 -0
  3. data/Rakefile +2 -1
  4. data/bin/passenger-install-apache2-module +4 -4
  5. data/bin/passenger-install-nginx-module +1 -1
  6. data/bin/passenger-make-enterprisey +1 -1
  7. data/build/agents.rb +26 -19
  8. data/build/apache2.rb +49 -46
  9. data/build/basics.rb +37 -13
  10. data/build/common_library.rb +134 -64
  11. data/build/config.rb +18 -11
  12. data/build/cplusplus_support.rb +4 -0
  13. data/build/cxx_tests.rb +26 -12
  14. data/build/documentation.rb +18 -11
  15. data/build/integration_tests.rb +18 -11
  16. data/build/misc.rb +18 -11
  17. data/build/nginx.rb +27 -19
  18. data/build/oxt_tests.rb +18 -11
  19. data/build/packaging.rb +45 -37
  20. data/build/rpm.rb +98 -0
  21. data/build/ruby_extension.rb +19 -13
  22. data/build/ruby_tests.rb +19 -12
  23. data/build/test_basics.rb +23 -11
  24. data/debian/README.Debian +15 -0
  25. data/debian/changelog +185 -0
  26. data/debian/control +47 -19
  27. data/debian/copyright +20 -0
  28. data/debian/libapache2-mod-passenger.install +1 -0
  29. data/debian/libapache2-mod-passenger.postinst +36 -0
  30. data/debian/libapache2-mod-passenger.prerm +15 -0
  31. data/debian/passenger-common.install +4 -0
  32. data/debian/passenger.conf +4 -0
  33. data/debian/passenger.load +1 -0
  34. data/debian/rules +37 -0
  35. data/debian/watch +3 -0
  36. data/{misc → dev}/copy_boost_headers.rb +3 -0
  37. data/{misc → dev}/find_owner_pipe_leaks.rb +0 -0
  38. data/{misc → dev}/render_error_pages.rb +0 -0
  39. data/doc/Users guide Apache.html +39 -1
  40. data/doc/Users guide Apache.txt +40 -0
  41. data/doc/Users guide Nginx.html +1 -1
  42. data/doc/Users guide Standalone.html +1 -1
  43. data/doc/cxxapi/Constants_8h_source.html +1 -1
  44. data/doc/cxxapi/DirectoryMapper_8h_source.html +6 -22
  45. data/doc/cxxapi/EventedClient_8h_source.html +572 -468
  46. data/doc/cxxapi/Exceptions_8h_source.html +142 -129
  47. data/doc/cxxapi/FileDescriptor_8h_source.html +263 -199
  48. data/doc/cxxapi/MessageChannel_8h_source.html +686 -770
  49. data/doc/cxxapi/MessageServer_8h_source.html +1 -1
  50. data/doc/cxxapi/PoolOptions_8h_source.html +79 -78
  51. data/doc/cxxapi/ResourceLocator_8h_source.html +105 -55
  52. data/doc/cxxapi/SafeLibev_8h_source.html +180 -0
  53. data/doc/cxxapi/ServerInstanceDir_8h_source.html +114 -110
  54. data/doc/cxxapi/Session_8h_source.html +1 -1
  55. data/doc/cxxapi/SpawnManager_8h_source.html +208 -208
  56. data/doc/cxxapi/StaticString_8h_source.html +258 -183
  57. data/doc/cxxapi/Utils_8h_source.html +71 -54
  58. data/doc/cxxapi/annotated.html +3 -0
  59. data/doc/cxxapi/classAgentWatcher.html +2 -2
  60. data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +0 -1
  61. data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +0 -27
  62. data/doc/cxxapi/classPassenger_1_1EventedClient-members.html +5 -0
  63. data/doc/cxxapi/classPassenger_1_1EventedClient.html +102 -7
  64. data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +2 -1
  65. data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +34 -8
  66. data/doc/cxxapi/classPassenger_1_1FileDescriptorPair-members.html +36 -0
  67. data/doc/cxxapi/classPassenger_1_1FileDescriptorPair.html +52 -0
  68. data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +0 -3
  69. data/doc/cxxapi/classPassenger_1_1MessageChannel.html +0 -120
  70. data/doc/cxxapi/classPassenger_1_1SafeLibev-members.html +36 -0
  71. data/doc/cxxapi/classPassenger_1_1SafeLibev.html +51 -0
  72. data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +1 -0
  73. data/doc/cxxapi/classPassenger_1_1SpawnException.html +22 -0
  74. data/doc/cxxapi/classes.html +14 -14
  75. data/doc/cxxapi/files.html +2 -0
  76. data/doc/cxxapi/functions_0x63.html +6 -3
  77. data/doc/cxxapi/functions_0x64.html +9 -2
  78. data/doc/cxxapi/functions_0x67.html +6 -9
  79. data/doc/cxxapi/functions_0x69.html +3 -0
  80. data/doc/cxxapi/functions_0x77.html +8 -8
  81. data/doc/cxxapi/functions_eval.html +6 -0
  82. data/doc/cxxapi/functions_func.html +18 -17
  83. data/doc/cxxapi/functions_vars.html +8 -0
  84. data/doc/cxxapi/graph_legend.png +0 -0
  85. data/doc/cxxapi/group__Core.png +0 -0
  86. data/doc/cxxapi/group__Hooks.png +0 -0
  87. data/doc/cxxapi/hierarchy.html +3 -0
  88. data/doc/cxxapi/inherit__graph__14.map +1 -1
  89. data/doc/cxxapi/inherit__graph__14.md5 +1 -1
  90. data/doc/cxxapi/inherit__graph__14.png +0 -0
  91. data/doc/cxxapi/inherit__graph__15.map +1 -3
  92. data/doc/cxxapi/inherit__graph__15.md5 +1 -1
  93. data/doc/cxxapi/inherit__graph__15.png +0 -0
  94. data/doc/cxxapi/inherit__graph__16.map +3 -1
  95. data/doc/cxxapi/inherit__graph__16.md5 +1 -1
  96. data/doc/cxxapi/inherit__graph__16.png +0 -0
  97. data/doc/cxxapi/inherit__graph__17.map +1 -1
  98. data/doc/cxxapi/inherit__graph__17.md5 +1 -1
  99. data/doc/cxxapi/inherit__graph__17.png +0 -0
  100. data/doc/cxxapi/inherit__graph__18.map +1 -2
  101. data/doc/cxxapi/inherit__graph__18.md5 +1 -1
  102. data/doc/cxxapi/inherit__graph__18.png +0 -0
  103. data/doc/cxxapi/inherit__graph__19.map +2 -1
  104. data/doc/cxxapi/inherit__graph__19.md5 +1 -1
  105. data/doc/cxxapi/inherit__graph__19.png +0 -0
  106. data/doc/cxxapi/inherit__graph__20.map +1 -1
  107. data/doc/cxxapi/inherit__graph__20.md5 +1 -1
  108. data/doc/cxxapi/inherit__graph__20.png +0 -0
  109. data/doc/cxxapi/inherit__graph__21.map +1 -1
  110. data/doc/cxxapi/inherit__graph__21.md5 +1 -1
  111. data/doc/cxxapi/inherit__graph__21.png +0 -0
  112. data/doc/cxxapi/inherit__graph__22.map +1 -1
  113. data/doc/cxxapi/inherit__graph__22.md5 +1 -1
  114. data/doc/cxxapi/inherit__graph__22.png +0 -0
  115. data/doc/cxxapi/inherit__graph__23.map +1 -1
  116. data/doc/cxxapi/inherit__graph__23.md5 +1 -1
  117. data/doc/cxxapi/inherit__graph__23.png +0 -0
  118. data/doc/cxxapi/inherit__graph__24.map +1 -1
  119. data/doc/cxxapi/inherit__graph__24.md5 +1 -1
  120. data/doc/cxxapi/inherit__graph__24.png +0 -0
  121. data/doc/cxxapi/inherit__graph__25.map +1 -1
  122. data/doc/cxxapi/inherit__graph__25.md5 +1 -1
  123. data/doc/cxxapi/inherit__graph__25.png +0 -0
  124. data/doc/cxxapi/inherit__graph__26.map +1 -1
  125. data/doc/cxxapi/inherit__graph__26.md5 +1 -1
  126. data/doc/cxxapi/inherit__graph__26.png +0 -0
  127. data/doc/cxxapi/inherit__graph__27.map +1 -1
  128. data/doc/cxxapi/inherit__graph__27.md5 +1 -1
  129. data/doc/cxxapi/inherit__graph__27.png +0 -0
  130. data/doc/cxxapi/inherit__graph__28.map +1 -2
  131. data/doc/cxxapi/inherit__graph__28.md5 +1 -1
  132. data/doc/cxxapi/inherit__graph__28.png +0 -0
  133. data/doc/cxxapi/inherit__graph__29.map +1 -1
  134. data/doc/cxxapi/inherit__graph__29.md5 +1 -1
  135. data/doc/cxxapi/inherit__graph__29.png +0 -0
  136. data/doc/cxxapi/inherit__graph__30.map +1 -1
  137. data/doc/cxxapi/inherit__graph__30.md5 +1 -1
  138. data/doc/cxxapi/inherit__graph__30.png +0 -0
  139. data/doc/cxxapi/inherit__graph__31.map +2 -1
  140. data/doc/cxxapi/inherit__graph__31.md5 +1 -1
  141. data/doc/cxxapi/inherit__graph__31.png +0 -0
  142. data/doc/cxxapi/inherit__graph__32.map +1 -3
  143. data/doc/cxxapi/inherit__graph__32.md5 +1 -1
  144. data/doc/cxxapi/inherit__graph__32.png +0 -0
  145. data/doc/cxxapi/inherit__graph__33.map +1 -1
  146. data/doc/cxxapi/inherit__graph__33.md5 +1 -1
  147. data/doc/cxxapi/inherit__graph__33.png +0 -0
  148. data/doc/cxxapi/inherit__graph__34.map +1 -1
  149. data/doc/cxxapi/inherit__graph__34.md5 +1 -1
  150. data/doc/cxxapi/inherit__graph__34.png +0 -0
  151. data/doc/cxxapi/inherit__graph__35.map +3 -1
  152. data/doc/cxxapi/inherit__graph__35.md5 +1 -1
  153. data/doc/cxxapi/inherit__graph__35.png +0 -0
  154. data/doc/cxxapi/inherit__graph__36.map +1 -1
  155. data/doc/cxxapi/inherit__graph__36.md5 +1 -1
  156. data/doc/cxxapi/inherit__graph__36.png +0 -0
  157. data/doc/cxxapi/inherit__graph__37.map +1 -1
  158. data/doc/cxxapi/inherit__graph__37.md5 +1 -1
  159. data/doc/cxxapi/inherit__graph__37.png +0 -0
  160. data/doc/cxxapi/inherit__graph__38.map +3 -1
  161. data/doc/cxxapi/inherit__graph__38.md5 +1 -1
  162. data/doc/cxxapi/inherit__graph__38.png +0 -0
  163. data/doc/cxxapi/inherit__graph__39.map +3 -1
  164. data/doc/cxxapi/inherit__graph__39.md5 +1 -1
  165. data/doc/cxxapi/inherit__graph__39.png +0 -0
  166. data/doc/cxxapi/inherits.html +33 -24
  167. data/doc/cxxapi/namespacePassenger.html +52 -0
  168. data/doc/cxxapi/namespacemembers.html +6 -0
  169. data/doc/cxxapi/namespacemembers_func.html +6 -0
  170. data/doc/cxxapi/tree.html +8 -0
  171. data/ext/apache2/Configuration.cpp +30 -8
  172. data/ext/apache2/Configuration.hpp +15 -14
  173. data/ext/apache2/DirectoryMapper.h +0 -16
  174. data/ext/apache2/Hooks.cpp +30 -29
  175. data/ext/boost/algorithm/string/detail/case_conv.hpp +6 -6
  176. data/ext/boost/algorithm/string/detail/find_format.hpp +14 -4
  177. data/ext/boost/algorithm/string/detail/find_format_all.hpp +13 -3
  178. data/ext/boost/algorithm/string/detail/find_format_store.hpp +11 -0
  179. data/ext/boost/algorithm/string/erase.hpp +2 -2
  180. data/ext/boost/bind/placeholders.hpp +2 -2
  181. data/ext/boost/concept/detail/backward_compatibility.hpp +16 -0
  182. data/ext/boost/concept/detail/general.hpp +15 -6
  183. data/ext/boost/concept/detail/has_constraints.hpp +5 -3
  184. data/ext/boost/concept/usage.hpp +5 -4
  185. data/ext/boost/concept_check.hpp +10 -1
  186. data/ext/boost/config/abi/borland_prefix.hpp +1 -1
  187. data/ext/boost/config/auto_link.hpp +68 -21
  188. data/ext/boost/config/compiler/borland.hpp +11 -3
  189. data/ext/boost/config/compiler/clang.hpp +62 -0
  190. data/ext/boost/config/compiler/codegear.hpp +21 -7
  191. data/ext/boost/config/compiler/common_edg.hpp +4 -2
  192. data/ext/boost/config/compiler/digitalmars.hpp +1 -1
  193. data/ext/boost/config/compiler/gcc.hpp +46 -7
  194. data/ext/boost/config/compiler/gcc_xml.hpp +25 -0
  195. data/ext/boost/config/compiler/intel.hpp +23 -0
  196. data/ext/boost/config/compiler/kai.hpp +1 -1
  197. data/ext/boost/config/compiler/metrowerks.hpp +1 -1
  198. data/ext/boost/config/compiler/nvcc.hpp +86 -0
  199. data/ext/boost/config/compiler/pgi.hpp +18 -3
  200. data/ext/boost/config/compiler/sunpro_cc.hpp +19 -5
  201. data/ext/boost/config/compiler/vacpp.hpp +8 -0
  202. data/ext/boost/config/compiler/visualc.hpp +27 -11
  203. data/ext/boost/config/platform/cygwin.hpp +0 -3
  204. data/ext/boost/config/platform/symbian.hpp +94 -0
  205. data/ext/boost/config/platform/win32.hpp +8 -1
  206. data/ext/boost/config/select_compiler_config.hpp +10 -0
  207. data/ext/boost/config/select_platform_config.hpp +4 -0
  208. data/ext/boost/config/stdlib/dinkumware.hpp +11 -1
  209. data/ext/boost/config/stdlib/libcomo.hpp +1 -0
  210. data/ext/boost/config/stdlib/libstdcpp3.hpp +1 -0
  211. data/ext/boost/config/stdlib/modena.hpp +1 -0
  212. data/ext/boost/config/stdlib/msl.hpp +1 -0
  213. data/ext/boost/config/stdlib/roguewave.hpp +1 -0
  214. data/ext/boost/config/stdlib/sgi.hpp +1 -0
  215. data/ext/boost/config/stdlib/stlport.hpp +1 -0
  216. data/ext/boost/config/stdlib/vacpp.hpp +1 -0
  217. data/ext/boost/config/suffix.hpp +40 -2
  218. data/ext/boost/cstdint.hpp +36 -7
  219. data/ext/boost/date_time/gregorian/conversion.hpp +4 -2
  220. data/ext/boost/date_time/microsec_time_clock.hpp +7 -7
  221. data/ext/boost/date_time/posix_time/conversion.hpp +4 -2
  222. data/ext/boost/date_time/time_facet.hpp +43 -4
  223. data/ext/boost/detail/endian.hpp +5 -2
  224. data/ext/boost/detail/lcast_precision.hpp +2 -2
  225. data/ext/boost/detail/sp_typeinfo.hpp +1 -1
  226. data/ext/boost/detail/workaround.hpp +5 -0
  227. data/ext/boost/exception/detail/error_info_impl.hpp +3 -3
  228. data/ext/boost/exception/detail/exception_ptr.hpp +76 -135
  229. data/ext/boost/exception/detail/is_output_streamable.hpp +15 -2
  230. data/ext/boost/exception/detail/type_info.hpp +9 -5
  231. data/ext/boost/exception/diagnostic_information.hpp +5 -3
  232. data/ext/boost/exception/exception.hpp +60 -46
  233. data/ext/boost/exception/info.hpp +47 -14
  234. data/ext/boost/function/function_base.hpp +4 -4
  235. data/ext/boost/integer.hpp +4 -0
  236. data/ext/boost/integer_fwd.hpp +9 -3
  237. data/ext/boost/iterator/iterator_concepts.hpp +284 -0
  238. data/ext/boost/iterator/transform_iterator.hpp +0 -1
  239. data/ext/boost/make_shared.hpp +17 -0
  240. data/ext/boost/mpl/aux_/config/has_xxx.hpp +4 -3
  241. data/ext/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +2 -6
  242. data/ext/boost/mpl/aux_/template_arity.hpp +4 -4
  243. data/ext/boost/mpl/eval_if.hpp +3 -3
  244. data/ext/boost/mpl/has_xxx.hpp +369 -3
  245. data/ext/boost/optional/optional.hpp +3 -1
  246. data/ext/boost/optional/optional_fwd.hpp +1 -1
  247. data/ext/boost/preprocessor/repetition/enum_trailing_params.hpp +38 -0
  248. data/ext/boost/range/algorithm/equal.hpp +188 -0
  249. data/ext/boost/range/as_literal.hpp +15 -15
  250. data/ext/boost/range/concepts.hpp +331 -0
  251. data/ext/boost/range/const_iterator.hpp +7 -4
  252. data/ext/boost/range/detail/extract_optional_type.hpp +52 -0
  253. data/ext/boost/range/detail/implementation_help.hpp +7 -7
  254. data/ext/boost/range/detail/misc_concept.hpp +33 -0
  255. data/ext/boost/range/iterator.hpp +32 -32
  256. data/ext/boost/range/iterator_range.hpp +8 -651
  257. data/ext/boost/range/iterator_range_core.hpp +542 -0
  258. data/ext/boost/range/iterator_range_io.hpp +93 -0
  259. data/ext/boost/range/mutable_iterator.hpp +7 -4
  260. data/ext/boost/range/size.hpp +1 -1
  261. data/ext/boost/range/size_type.hpp +2 -1
  262. data/ext/boost/shared_array.hpp +19 -0
  263. data/ext/boost/smart_ptr/detail/sp_convertible.hpp +2 -2
  264. data/ext/boost/smart_ptr/detail/yield_k.hpp +1 -1
  265. data/ext/boost/smart_ptr/make_shared.hpp +508 -0
  266. data/ext/boost/smart_ptr/shared_array.hpp +147 -0
  267. data/ext/boost/src/pthread/thread.cpp +16 -21
  268. data/ext/boost/src/pthread/timeconv.inl +7 -4
  269. data/ext/boost/thread/barrier.hpp +2 -1
  270. data/ext/boost/thread/detail/config.hpp +7 -1
  271. data/ext/boost/thread/detail/platform.hpp +1 -1
  272. data/ext/boost/thread/detail/thread.hpp +62 -18
  273. data/ext/boost/thread/detail/thread_group.hpp +5 -2
  274. data/ext/boost/thread/detail/tss_hooks.hpp +8 -25
  275. data/ext/boost/thread/future.hpp +45 -34
  276. data/ext/boost/thread/locks.hpp +184 -55
  277. data/ext/boost/thread/pthread/condition_variable.hpp +7 -7
  278. data/ext/boost/thread/pthread/condition_variable_fwd.hpp +4 -2
  279. data/ext/boost/thread/pthread/mutex.hpp +29 -17
  280. data/ext/boost/thread/pthread/once.hpp +5 -0
  281. data/ext/boost/thread/pthread/recursive_mutex.hpp +97 -18
  282. data/ext/boost/thread/pthread/shared_mutex.hpp +1 -1
  283. data/ext/boost/thread/pthread/thread_heap_alloc.hpp +1 -1
  284. data/ext/boost/thread/tss.hpp +2 -0
  285. data/ext/boost/throw_exception.hpp +21 -5
  286. data/ext/boost/token_functions.hpp +111 -91
  287. data/ext/boost/type_traits/add_reference.hpp +19 -1
  288. data/ext/boost/type_traits/function_traits.hpp +2 -2
  289. data/ext/boost/type_traits/is_const.hpp +24 -5
  290. data/ext/boost/type_traits/is_convertible.hpp +1 -1
  291. data/ext/boost/type_traits/is_function.hpp +3 -0
  292. data/ext/boost/type_traits/is_lvalue_reference.hpp +118 -0
  293. data/ext/boost/type_traits/is_reference.hpp +8 -81
  294. data/ext/boost/type_traits/is_rvalue_reference.hpp +29 -0
  295. data/ext/boost/type_traits/is_same.hpp +2 -2
  296. data/ext/boost/type_traits/is_volatile.hpp +26 -7
  297. data/ext/boost/type_traits/remove_const.hpp +12 -0
  298. data/ext/boost/type_traits/remove_cv.hpp +23 -1
  299. data/ext/boost/type_traits/remove_reference.hpp +21 -1
  300. data/ext/boost/type_traits/type_with_alignment.hpp +10 -10
  301. data/ext/boost/units/detail/utility.hpp +104 -0
  302. data/ext/boost/utility/compare_pointees.hpp +1 -1
  303. data/ext/common/AgentsStarter.hpp +151 -161
  304. data/ext/common/ApplicationPool/Pool.h +16 -4
  305. data/ext/common/Constants.h +1 -1
  306. data/ext/common/EventedClient.h +130 -26
  307. data/ext/common/Exceptions.h +15 -2
  308. data/ext/common/FileDescriptor.h +76 -12
  309. data/ext/common/IniFile.h +488 -0
  310. data/ext/common/LoggingAgent/LoggingServer.h +2 -2
  311. data/ext/common/LoggingAgent/RemoteSender.h +15 -6
  312. data/ext/common/MessageChannel.h +17 -101
  313. data/ext/common/PoolOptions.h +1 -0
  314. data/ext/common/ResourceLocator.h +78 -28
  315. data/ext/common/SafeLibev.h +149 -0
  316. data/ext/common/ServerInstanceDir.h +11 -7
  317. data/ext/common/Session.h +1 -1
  318. data/ext/common/SpawnManager.h +14 -14
  319. data/ext/common/StaticString.h +75 -0
  320. data/ext/common/Utils.cpp +304 -12
  321. data/ext/common/Utils.h +17 -0
  322. data/ext/common/Utils/BufferedIO.h +196 -0
  323. data/ext/common/Utils/IOUtils.cpp +159 -0
  324. data/ext/common/Utils/IOUtils.h +118 -1
  325. data/ext/common/Utils/ProcessMetricsCollector.h +184 -56
  326. data/ext/common/Utils/StrIntUtils.cpp +45 -11
  327. data/ext/common/Utils/StrIntUtils.h +8 -5
  328. data/ext/common/Utils/Timer.h +22 -0
  329. data/ext/common/Utils/utf8.h +35 -0
  330. data/ext/common/Utils/utf8/checked.h +324 -0
  331. data/ext/common/Utils/utf8/core.h +359 -0
  332. data/ext/common/Utils/utf8/unchecked.h +229 -0
  333. data/ext/common/Watchdog.cpp +52 -85
  334. data/ext/libev/config.h +122 -0
  335. data/ext/nginx/Configuration.c +7 -1
  336. data/ext/nginx/HelperAgent.cpp +16 -18
  337. data/ext/nginx/config +6 -4
  338. data/ext/oxt/system_calls.cpp +10 -0
  339. data/ext/oxt/system_calls.hpp +2 -0
  340. data/lib/phusion_passenger.rb +6 -11
  341. data/lib/phusion_passenger/dependencies.rb +2 -0
  342. data/lib/phusion_passenger/packaging.rb +5 -5
  343. data/lib/phusion_passenger/platform_info.rb +88 -0
  344. data/lib/phusion_passenger/platform_info/binary_compatibility.rb +3 -17
  345. data/lib/phusion_passenger/platform_info/compiler.rb +14 -32
  346. data/lib/phusion_passenger/platform_info/curl.rb +6 -1
  347. data/lib/phusion_passenger/platform_info/operating_system.rb +107 -0
  348. data/lib/phusion_passenger/public_api.rb +2 -2
  349. data/lib/phusion_passenger/rails3_extensions/init.rb +5 -2
  350. data/lib/phusion_passenger/standalone/command.rb +6 -2
  351. data/lib/phusion_passenger/standalone/package_runtime_command.rb +2 -2
  352. data/lib/phusion_passenger/standalone/runtime_installer.rb +17 -5
  353. data/lib/phusion_passenger/standalone/start_command.rb +12 -12
  354. data/lib/phusion_passenger/standalone/stop_command.rb +3 -3
  355. data/lib/phusion_passenger/standalone/utils.rb +6 -2
  356. data/lib/phusion_passenger/templates/standalone/config.erb +37 -5
  357. data/lib/phusion_passenger/utils.rb +4 -7
  358. data/resources/mime.types +73 -0
  359. data/{misc → resources}/union_station_gateway.crt +0 -0
  360. data/test/cxx/BufferedIOTest.cpp +364 -0
  361. data/test/cxx/EventedClientTest.cpp +150 -13
  362. data/test/cxx/IOUtilsTest.cpp +399 -1
  363. data/test/cxx/MessageChannelTest.cpp +5 -120
  364. data/test/cxx/ProcessMetricsCollectorTest.cpp +121 -0
  365. data/test/cxx/StaticStringTest.cpp +134 -0
  366. data/test/cxx/UtilsTest.cpp +16 -46
  367. data/test/stub/rails_apps/2.3/mycook/public/dispatch.cgi +2 -2
  368. data/test/stub/rails_apps/2.3/mycook/public/dispatch.fcgi +1 -1
  369. data/test/stub/rails_apps/2.3/mycook/public/dispatch.rb +1 -1
  370. data/test/stub/rails_apps/3.0/empty/Gemfile.lock +73 -0
  371. data/test/support/allocate_memory.c +14 -0
  372. data/test/support/test_helper.rb +3 -0
  373. metadata +57 -174
  374. data/bin/passenger-stress-test +0 -345
  375. data/debian/postinst +0 -24
  376. data/doc/rdoc/classes/ConditionVariable.html +0 -215
  377. data/doc/rdoc/classes/Exception.html +0 -120
  378. data/doc/rdoc/classes/GC.html +0 -113
  379. data/doc/rdoc/classes/IO.html +0 -221
  380. data/doc/rdoc/classes/PhusionPassenger.html +0 -397
  381. data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +0 -180
  382. data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +0 -647
  383. data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +0 -654
  384. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/InvalidPassword.html +0 -92
  385. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +0 -97
  386. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +0 -96
  387. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +0 -97
  388. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +0 -96
  389. data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +0 -619
  390. data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +0 -142
  391. data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats.html +0 -368
  392. data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats/Process.html +0 -231
  393. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance.html +0 -588
  394. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/CorruptedDirectoryError.html +0 -92
  395. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/GenerationsAbsentError.html +0 -92
  396. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Group.html +0 -147
  397. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Process.html +0 -279
  398. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/RoleDeniedError.html +0 -92
  399. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/StaleDirectoryError.html +0 -92
  400. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Stats.html +0 -123
  401. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/UnsupportedGenerationStructureVersionError.html +0 -92
  402. data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger.html +0 -341
  403. data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/Log.html +0 -294
  404. data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/SharedData.html +0 -199
  405. data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +0 -155
  406. data/doc/rdoc/classes/PhusionPassenger/AppProcess.html +0 -367
  407. data/doc/rdoc/classes/PhusionPassenger/ClassicRails.html +0 -95
  408. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner.html +0 -351
  409. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner/Error.html +0 -98
  410. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/CGIFixed.html +0 -200
  411. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner.html +0 -410
  412. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner/Error.html +0 -98
  413. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/RequestHandler.html +0 -156
  414. data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions.html +0 -115
  415. data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions/AnalyticsLogging.html +0 -202
  416. data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +0 -172
  417. data/doc/rdoc/classes/PhusionPassenger/DebugLogging.html +0 -273
  418. data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +0 -145
  419. data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +0 -162
  420. data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +0 -141
  421. data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +0 -92
  422. data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +0 -673
  423. data/doc/rdoc/classes/PhusionPassenger/MessageChannel/InvalidHashError.html +0 -92
  424. data/doc/rdoc/classes/PhusionPassenger/MessageClient.html +0 -415
  425. data/doc/rdoc/classes/PhusionPassenger/NativeSupportLoader.html +0 -134
  426. data/doc/rdoc/classes/PhusionPassenger/Packaging.html +0 -129
  427. data/doc/rdoc/classes/PhusionPassenger/PlatformInfo.html +0 -1809
  428. data/doc/rdoc/classes/PhusionPassenger/Plugin.html +0 -237
  429. data/doc/rdoc/classes/PhusionPassenger/Rack.html +0 -91
  430. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +0 -312
  431. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner/Error.html +0 -98
  432. data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +0 -218
  433. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions.html +0 -114
  434. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging.html +0 -256
  435. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ACExtension.html +0 -139
  436. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ASBenchmarkableExtension.html +0 -118
  437. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ExceptionLogger.html +0 -135
  438. data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +0 -378
  439. data/doc/rdoc/classes/PhusionPassenger/Standalone.html +0 -111
  440. data/doc/rdoc/classes/PhusionPassenger/Standalone/AppFinder.html +0 -252
  441. data/doc/rdoc/classes/PhusionPassenger/Standalone/Command.html +0 -161
  442. data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile.html +0 -368
  443. data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile/DisallowedContextError.html +0 -132
  444. data/doc/rdoc/classes/PhusionPassenger/Standalone/HelpCommand.html +0 -151
  445. data/doc/rdoc/classes/PhusionPassenger/Standalone/Main.html +0 -189
  446. data/doc/rdoc/classes/PhusionPassenger/Standalone/PackageRuntimeCommand.html +0 -177
  447. data/doc/rdoc/classes/PhusionPassenger/Standalone/RuntimeInstaller.html +0 -341
  448. data/doc/rdoc/classes/PhusionPassenger/Standalone/StartCommand.html +0 -203
  449. data/doc/rdoc/classes/PhusionPassenger/Standalone/StatusCommand.html +0 -156
  450. data/doc/rdoc/classes/PhusionPassenger/Standalone/StopCommand.html +0 -168
  451. data/doc/rdoc/classes/PhusionPassenger/Standalone/Utils.html +0 -86
  452. data/doc/rdoc/classes/PhusionPassenger/Standalone/VersionCommand.html +0 -135
  453. data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +0 -125
  454. data/doc/rdoc/classes/PhusionPassenger/Utils.html +0 -1550
  455. data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher.html +0 -204
  456. data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/DirInfo.html +0 -171
  457. data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/FileInfo.html +0 -140
  458. data/doc/rdoc/classes/PhusionPassenger/Utils/HostsFileParser.html +0 -260
  459. data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +0 -169
  460. data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput.html +0 -265
  461. data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput/Tempfile.html +0 -120
  462. data/doc/rdoc/classes/PhusionPassenger/Utils/UnseekableSocket.html +0 -561
  463. data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +0 -140
  464. data/doc/rdoc/classes/PhusionPassenger/WSGI.html +0 -89
  465. data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +0 -182
  466. data/doc/rdoc/classes/Process.html +0 -115
  467. data/doc/rdoc/classes/Signal.html +0 -139
  468. data/doc/rdoc/created.rid +0 -1
  469. data/doc/rdoc/files/DEVELOPERS_TXT.html +0 -276
  470. data/doc/rdoc/files/README.html +0 -157
  471. data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +0 -130
  472. data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +0 -135
  473. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +0 -126
  474. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +0 -128
  475. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/memory_stats_rb.html +0 -126
  476. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/server_instance_rb.html +0 -132
  477. data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +0 -122
  478. data/doc/rdoc/files/lib/phusion_passenger/analytics_logger_rb.html +0 -129
  479. data/doc/rdoc/files/lib/phusion_passenger/app_process_rb.html +0 -127
  480. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/application_spawner_rb.html +0 -141
  481. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/cgi_fixed_rb.html +0 -126
  482. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/framework_spawner_rb.html +0 -146
  483. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/request_handler_rb.html +0 -125
  484. data/doc/rdoc/files/lib/phusion_passenger/classic_rails_extensions/init_rb.html +0 -132
  485. data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +0 -126
  486. data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +0 -122
  487. data/doc/rdoc/files/lib/phusion_passenger/debug_logging_rb.html +0 -122
  488. data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +0 -147
  489. data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +0 -122
  490. data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +0 -127
  491. data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +0 -120
  492. data/doc/rdoc/files/lib/phusion_passenger/message_client_rb.html +0 -127
  493. data/doc/rdoc/files/lib/phusion_passenger/native_support_rb.html +0 -132
  494. data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +0 -122
  495. data/doc/rdoc/files/lib/phusion_passenger/platform_info/apache_rb.html +0 -127
  496. data/doc/rdoc/files/lib/phusion_passenger/platform_info/binary_compatibility_rb.html +0 -129
  497. data/doc/rdoc/files/lib/phusion_passenger/platform_info/compiler_rb.html +0 -126
  498. data/doc/rdoc/files/lib/phusion_passenger/platform_info/curl_rb.html +0 -126
  499. data/doc/rdoc/files/lib/phusion_passenger/platform_info/documentation_tools_rb.html +0 -126
  500. data/doc/rdoc/files/lib/phusion_passenger/platform_info/linux_rb.html +0 -126
  501. data/doc/rdoc/files/lib/phusion_passenger/platform_info/operating_system_rb.html +0 -127
  502. data/doc/rdoc/files/lib/phusion_passenger/platform_info/ruby_rb.html +0 -128
  503. data/doc/rdoc/files/lib/phusion_passenger/platform_info/zlib_rb.html +0 -126
  504. data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +0 -122
  505. data/doc/rdoc/files/lib/phusion_passenger/plugin_rb.html +0 -127
  506. data/doc/rdoc/files/lib/phusion_passenger/public_api_rb.html +0 -127
  507. data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +0 -137
  508. data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +0 -125
  509. data/doc/rdoc/files/lib/phusion_passenger/rails3_extensions/init_rb.html +0 -127
  510. data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +0 -122
  511. data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +0 -160
  512. data/doc/rdoc/files/lib/phusion_passenger/standalone/app_finder_rb.html +0 -127
  513. data/doc/rdoc/files/lib/phusion_passenger/standalone/command_rb.html +0 -135
  514. data/doc/rdoc/files/lib/phusion_passenger/standalone/config_file_rb.html +0 -126
  515. data/doc/rdoc/files/lib/phusion_passenger/standalone/help_command_rb.html +0 -126
  516. data/doc/rdoc/files/lib/phusion_passenger/standalone/main_rb.html +0 -126
  517. data/doc/rdoc/files/lib/phusion_passenger/standalone/package_runtime_command_rb.html +0 -127
  518. data/doc/rdoc/files/lib/phusion_passenger/standalone/runtime_installer_rb.html +0 -133
  519. data/doc/rdoc/files/lib/phusion_passenger/standalone/start_command_rb.html +0 -136
  520. data/doc/rdoc/files/lib/phusion_passenger/standalone/status_command_rb.html +0 -126
  521. data/doc/rdoc/files/lib/phusion_passenger/standalone/stop_command_rb.html +0 -126
  522. data/doc/rdoc/files/lib/phusion_passenger/standalone/utils_rb.html +0 -126
  523. data/doc/rdoc/files/lib/phusion_passenger/standalone/version_command_rb.html +0 -127
  524. data/doc/rdoc/files/lib/phusion_passenger/utils/file_system_watcher_rb.html +0 -126
  525. data/doc/rdoc/files/lib/phusion_passenger/utils/hosts_file_parser_rb.html +0 -120
  526. data/doc/rdoc/files/lib/phusion_passenger/utils/rewindable_input_rb.html +0 -100
  527. data/doc/rdoc/files/lib/phusion_passenger/utils/tmpdir_rb.html +0 -122
  528. data/doc/rdoc/files/lib/phusion_passenger/utils/unseekable_socket_rb.html +0 -126
  529. data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +0 -179
  530. data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +0 -132
  531. data/doc/rdoc/fr_class_index.html +0 -138
  532. data/doc/rdoc/fr_file_index.html +0 -108
  533. data/doc/rdoc/fr_method_index.html +0 -430
  534. data/doc/rdoc/index.html +0 -26
  535. data/doc/rdoc/rdoc-style.css +0 -187
  536. data/ext/apache2/LICENSE-CNRI.TXT +0 -79
  537. data/ext/common/Utils/BlockingScalar.h +0 -50
  538. data/ext/common/Utils/FileHandleGuard.h +0 -81
@@ -1,3 +1,3 @@
1
1
  <map id="G" name="G">
2
- <area shape="rect" id="node1" href="$classPassenger_1_1SpawnException.html" title="Thrown when SpawnManager or ApplicationPool fails to spawn an application instance..." alt="" coords="5,5,205,35"/>
2
+ <area shape="rect" id="node1" href="$classPassenger_1_1ScgiRequestParser.html" title="A parser for SCGI requests." alt="" coords="5,5,221,35"/>
3
3
  </map>
@@ -1 +1 @@
1
- addca4402f675f47f9f3f62e4f51de86
1
+ c811567720f8da79b1f587be59990802
@@ -1,3 +1,3 @@
1
1
  <map id="G" name="G">
2
- <area shape="rect" id="node1" href="$classPassenger_1_1StaticString.html" title="An immutable, static byte buffer." alt="" coords="7,5,177,35"/>
2
+ <area shape="rect" id="node1" href="$classPassenger_1_1SecurityException.html" title="Represents some kind of security error." alt="" coords="5,5,216,35"/>
3
3
  </map>
@@ -1 +1 @@
1
- 1599db2305d2a5afab533e74ee13ae7c
1
+ a30aec8b73c6ee386e251d2a0565e3b0
@@ -1,3 +1,4 @@
1
1
  <map id="G" name="G">
2
- <area shape="rect" id="node1" href="$structPassenger_1_1StaticString_1_1Hash.html" title="A hash function object for StaticString." alt="" coords="7,5,217,35"/>
2
+ <area shape="rect" id="node1" href="$classPassenger_1_1Session.html" title="Represents a single request/response pair of an application process." alt="" coords="5,5,152,35"/>
3
+ <area shape="rect" id="node3" href="$classPassenger_1_1StandardSession.html" title="A &quot;standard&quot; implementation of Session." alt="" coords="200,5,405,35"/>
3
4
  </map>
@@ -1 +1 @@
1
- ca2589e91690cdcd4599a12183031cbe
1
+ bf5acc7223718bf4ec0457df83296d9a
@@ -1,5 +1,3 @@
1
1
  <map id="G" name="G">
2
- <area shape="rect" id="node1" href="$classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call." alt="" coords="5,32,213,61"/>
3
- <area shape="rect" id="node3" href="$classPassenger_1_1FileSystemException.html" title="A filesystem error, as returned by the operating system." alt="" coords="271,5,497,35"/>
4
- <area shape="rect" id="node5" href="$classPassenger_1_1TimeRetrievalException.html" title="Unable to retrieve the system time using time()." alt="" coords="263,59,505,88"/>
2
+ <area shape="rect" id="node1" href="$classPassenger_1_1SpawnException.html" title="Thrown when SpawnManager or ApplicationPool fails to spawn an application instance..." alt="" coords="5,5,205,35"/>
5
3
  </map>
@@ -1 +1 @@
1
- 42770577cc354ad419416644abc40e70
1
+ addca4402f675f47f9f3f62e4f51de86
@@ -1,3 +1,3 @@
1
1
  <map id="G" name="G">
2
- <area shape="rect" id="node1" href="$classPassenger_1_1TimeoutException.html" title="An exception indicating that some timeout expired." alt="" coords="5,5,216,35"/>
2
+ <area shape="rect" id="node1" href="$classPassenger_1_1StaticString.html" title="An immutable, static byte buffer." alt="" coords="7,5,177,35"/>
3
3
  </map>
@@ -1 +1 @@
1
- e011e6aaa3322750aa4eb2b9038df83b
1
+ 1599db2305d2a5afab533e74ee13ae7c
@@ -1,3 +1,3 @@
1
1
  <map id="G" name="G">
2
- <area shape="rect" id="node1" href="$classPassenger_1_1Uint16Message.html" title="For 16&#45;bit big&#45;endian integers." alt="" coords="7,5,201,35"/>
2
+ <area shape="rect" id="node1" href="$structPassenger_1_1StaticString_1_1Hash.html" title="A hash function object for StaticString." alt="" coords="7,5,217,35"/>
3
3
  </map>
@@ -1 +1 @@
1
- f4e847cb129a1a1896a506f463bb7b63
1
+ ca2589e91690cdcd4599a12183031cbe
@@ -1,3 +1,5 @@
1
1
  <map id="G" name="G">
2
- <area shape="rect" id="node1" href="$classPassenger_1_1Uint32Message.html" title="For 32&#45;bit big&#45;endian integers." alt="" coords="7,5,201,35"/>
2
+ <area shape="rect" id="node1" href="$classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call." alt="" coords="5,32,213,61"/>
3
+ <area shape="rect" id="node3" href="$classPassenger_1_1FileSystemException.html" title="A filesystem error, as returned by the operating system." alt="" coords="271,5,497,35"/>
4
+ <area shape="rect" id="node5" href="$classPassenger_1_1TimeRetrievalException.html" title="Unable to retrieve the system time using time()." alt="" coords="263,59,505,88"/>
3
5
  </map>
@@ -1 +1 @@
1
- c443ee7bdc3e4ed0dd4bb3e420a207e8
1
+ 42770577cc354ad419416644abc40e70
@@ -1,3 +1,3 @@
1
1
  <map id="G" name="G">
2
- <area shape="rect" id="node1" href="$classServer.html" title="A representation of the Server responsible for handling Client instances." alt="" coords="5,5,69,35"/>
2
+ <area shape="rect" id="node1" href="$classPassenger_1_1TimeoutException.html" title="An exception indicating that some timeout expired." alt="" coords="5,5,216,35"/>
3
3
  </map>
@@ -1 +1 @@
1
- 49c26619ea57b6fab68bb69492ab64b3
1
+ e011e6aaa3322750aa4eb2b9038df83b
@@ -1,3 +1,3 @@
1
1
  <map id="G" name="G">
2
- <area shape="rect" id="node1" href="$classServerInstanceDirToucher.html" title="Touch all files in the server instance dir every 6 hours in order to prevent /tmp..." alt="" coords="7,5,191,35"/>
2
+ <area shape="rect" id="node1" href="$classPassenger_1_1Uint16Message.html" title="For 16&#45;bit big&#45;endian integers." alt="" coords="7,5,201,35"/>
3
3
  </map>
@@ -1 +1 @@
1
- 895fbb1cabd5da8622d5341648d91bb3
1
+ f4e847cb129a1a1896a506f463bb7b63
@@ -1 +1,3 @@
1
- <area shape="rect" href="$classServer.html" title="A representation of the Server responsible for handling Client instances." alt="" coords="7,5,68,32">
1
+ <map id="G" name="G">
2
+ <area shape="rect" id="node1" href="$classPassenger_1_1Uint32Message.html" title="For 32&#45;bit big&#45;endian integers." alt="" coords="7,5,201,35"/>
3
+ </map>
@@ -1 +1 @@
1
- 49c26619ea57b6fab68bb69492ab64b3
1
+ c443ee7bdc3e4ed0dd4bb3e420a207e8
@@ -1 +1,3 @@
1
- <area shape="rect" href="$classServerInstanceDirToucher.html" title="Touch all files in the server instance dir every 6 hours in order to prevent /tmp..." alt="" coords="5,5,187,32">
1
+ <map id="G" name="G">
2
+ <area shape="rect" id="node1" href="$classServer.html" title="A representation of the Server responsible for handling Client instances." alt="" coords="5,5,69,35"/>
3
+ </map>
@@ -1 +1 @@
1
- 895fbb1cabd5da8622d5341648d91bb3
1
+ 49c26619ea57b6fab68bb69492ab64b3
@@ -72,76 +72,85 @@
72
72
  <tr><td><img src="inherit__graph__13.png" border="0" alt="" usemap="#Passenger_1_1FileDescriptor_map"/>
73
73
  <map name="Passenger_1_1FileDescriptor_map" id="Passenger_1_1FileDescriptor">
74
74
  <area shape="rect" id="node1" href="classPassenger_1_1FileDescriptor.html" title="Wrapper class around a file descriptor integer, for RAII behavior." alt="" coords="5,5,189,35"/></map></td></tr>
75
- <tr><td><img src="inherit__graph__14.png" border="0" alt="" usemap="#Passenger_1_1HttpStatusExtractor_map"/>
75
+ <tr><td><img src="inherit__graph__14.png" border="0" alt="" usemap="#Passenger_1_1FileDescriptorPair_map"/>
76
+ <map name="Passenger_1_1FileDescriptorPair_map" id="Passenger_1_1FileDescriptorPair">
77
+ <area shape="rect" id="node1" href="classPassenger_1_1FileDescriptorPair.html" title="A structure containing two FileDescriptor objects." alt="" coords="5,5,213,35"/></map></td></tr>
78
+ <tr><td><img src="inherit__graph__15.png" border="0" alt="" usemap="#Passenger_1_1HttpStatusExtractor_map"/>
76
79
  <map name="Passenger_1_1HttpStatusExtractor_map" id="Passenger_1_1HttpStatusExtractor">
77
80
  <area shape="rect" id="node1" href="classPassenger_1_1HttpStatusExtractor.html" title="Utility class for extracting the HTTP status value from an HTTP response." alt="" coords="5,5,229,35"/></map></td></tr>
78
- <tr><td><img src="inherit__graph__15.png" border="0" alt="" usemap="#Passenger_1_1IOException_map"/>
81
+ <tr><td><img src="inherit__graph__16.png" border="0" alt="" usemap="#Passenger_1_1IOException_map"/>
79
82
  <map name="Passenger_1_1IOException_map" id="Passenger_1_1IOException">
80
83
  <area shape="rect" id="node1" href="classPassenger_1_1IOException.html" title="Represents an error that occured during an I/O operation." alt="" coords="7,32,177,61"/><area shape="rect" id="node3" href="classPassenger_1_1EOFException.html" title="An unexpected end&#45;of&#45;file I/O error." alt="" coords="256,5,440,35"/><area shape="rect" id="node5" href="classPassenger_1_1FileNotFoundException.html" title="Thrown when a certain file cannot be found." alt="" coords="228,59,468,88"/></map></td></tr>
81
- <tr><td><img src="inherit__graph__16.png" border="0" alt="" usemap="#Passenger_1_1MessageChannel_map"/>
84
+ <tr><td><img src="inherit__graph__17.png" border="0" alt="" usemap="#Passenger_1_1MessageChannel_map"/>
82
85
  <map name="Passenger_1_1MessageChannel_map" id="Passenger_1_1MessageChannel">
83
86
  <area shape="rect" id="node1" href="classPassenger_1_1MessageChannel.html" title="Convenience class for I/O operations on file descriptors." alt="" coords="5,5,211,35"/></map></td></tr>
84
- <tr><td><img src="inherit__graph__17.png" border="0" alt="" usemap="#Passenger_1_1MessageServer_map"/>
87
+ <tr><td><img src="inherit__graph__18.png" border="0" alt="" usemap="#Passenger_1_1MessageServer_map"/>
85
88
  <map name="Passenger_1_1MessageServer_map" id="Passenger_1_1MessageServer">
86
89
  <area shape="rect" id="node1" href="classPassenger_1_1MessageServer.html" title="Simple pluggable request/response messaging server framework." alt="" coords="7,5,201,35"/></map></td></tr>
87
- <tr><td><img src="inherit__graph__18.png" border="0" alt="" usemap="#Passenger_1_1MessageServer_1_1ClientContext_map"/>
90
+ <tr><td><img src="inherit__graph__19.png" border="0" alt="" usemap="#Passenger_1_1MessageServer_1_1ClientContext_map"/>
88
91
  <map name="Passenger_1_1MessageServer_1_1ClientContext_map" id="Passenger_1_1MessageServer_1_1ClientContext">
89
92
  <area shape="rect" id="node1" href="classPassenger_1_1MessageServer_1_1ClientContext.html" title="Interface for client context objects." alt="" coords="7,5,295,35"/><area shape="rect" id="node3" href="classPassenger_1_1MessageServer_1_1CommonClientContext.html" title="A common client context, containing client&#45;specific information used by MessageServer..." alt="" coords="345,5,692,35"/></map></td></tr>
90
- <tr><td><img src="inherit__graph__19.png" border="0" alt="" usemap="#Passenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard_map"/>
93
+ <tr><td><img src="inherit__graph__20.png" border="0" alt="" usemap="#Passenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard_map"/>
91
94
  <map name="Passenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard_map" id="Passenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard">
92
95
  <area shape="rect" id="node1" href="structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html" title="Calls clientDisconnected() on all handlers when destroyed." alt="" coords="7,5,420,35"/></map></td></tr>
93
- <tr><td><img src="inherit__graph__20.png" border="0" alt="" usemap="#Passenger_1_1MessageServer_1_1Handler_map"/>
96
+ <tr><td><img src="inherit__graph__21.png" border="0" alt="" usemap="#Passenger_1_1MessageServer_1_1Handler_map"/>
94
97
  <map name="Passenger_1_1MessageServer_1_1Handler_map" id="Passenger_1_1MessageServer_1_1Handler">
95
98
  <area shape="rect" id="node1" href="classPassenger_1_1MessageServer_1_1Handler.html" title="An abstract message handler class." alt="" coords="5,5,259,35"/></map></td></tr>
96
- <tr><td><img src="inherit__graph__21.png" border="0" alt="" usemap="#Passenger_1_1PoolOptions_map"/>
99
+ <tr><td><img src="inherit__graph__22.png" border="0" alt="" usemap="#Passenger_1_1PoolOptions_map"/>
97
100
  <map name="Passenger_1_1PoolOptions_map" id="Passenger_1_1PoolOptions">
98
101
  <area shape="rect" id="node1" href="structPassenger_1_1PoolOptions.html" title="This struct encapsulates information for ApplicationPool::get() and for SpawnManager::spawn()..." alt="" coords="7,5,177,35"/></map></td></tr>
99
- <tr><td><img src="inherit__graph__22.png" border="0" alt="" usemap="#Passenger_1_1Process_map"/>
102
+ <tr><td><img src="inherit__graph__23.png" border="0" alt="" usemap="#Passenger_1_1Process_map"/>
100
103
  <map name="Passenger_1_1Process_map" id="Passenger_1_1Process">
101
104
  <area shape="rect" id="node1" href="classPassenger_1_1Process.html" title="Represents a single application process, as spawned by SpawnManager or by ApplicationPool::Interface..." alt="" coords="5,5,152,35"/></map></td></tr>
102
- <tr><td><img src="inherit__graph__23.png" border="0" alt="" usemap="#Passenger_1_1RandomGenerator_map"/>
105
+ <tr><td><img src="inherit__graph__24.png" border="0" alt="" usemap="#Passenger_1_1RandomGenerator_map"/>
103
106
  <map name="Passenger_1_1RandomGenerator_map" id="Passenger_1_1RandomGenerator">
104
107
  <area shape="rect" id="node1" href="classPassenger_1_1RandomGenerator.html" title="A random data generator." alt="" coords="7,5,220,35"/></map></td></tr>
105
- <tr><td><img src="inherit__graph__24.png" border="0" alt="" usemap="#Passenger_1_1RuntimeException_map"/>
108
+ <tr><td><img src="inherit__graph__25.png" border="0" alt="" usemap="#Passenger_1_1ResourceLocator_map"/>
109
+ <map name="Passenger_1_1ResourceLocator_map" id="Passenger_1_1ResourceLocator">
110
+ <area shape="rect" id="node1" href="classPassenger_1_1ResourceLocator.html" title="Locates various Phusion Passenger resources on the filesystem." alt="" coords="7,5,209,35"/></map></td></tr>
111
+ <tr><td><img src="inherit__graph__26.png" border="0" alt="" usemap="#Passenger_1_1RuntimeException_map"/>
106
112
  <map name="Passenger_1_1RuntimeException_map" id="Passenger_1_1RuntimeException">
107
113
  <area shape="rect" id="node1" href="classPassenger_1_1RuntimeException.html" title="A generic runtime exception." alt="" coords="7,5,217,35"/></map></td></tr>
108
- <tr><td><img src="inherit__graph__25.png" border="0" alt="" usemap="#Passenger_1_1ScalarMessage_map"/>
114
+ <tr><td><img src="inherit__graph__27.png" border="0" alt="" usemap="#Passenger_1_1SafeLibev_map"/>
115
+ <map name="Passenger_1_1SafeLibev_map" id="Passenger_1_1SafeLibev">
116
+ <area shape="rect" id="node1" href="classPassenger_1_1SafeLibev.html" title="Class for thread&#45;safely using libev." alt="" coords="7,5,164,35"/></map></td></tr>
117
+ <tr><td><img src="inherit__graph__28.png" border="0" alt="" usemap="#Passenger_1_1ScalarMessage_map"/>
109
118
  <map name="Passenger_1_1ScalarMessage_map" id="Passenger_1_1ScalarMessage">
110
119
  <area shape="rect" id="node1" href="classPassenger_1_1ScalarMessage.html" title="Class for reading a scalar message." alt="" coords="7,5,199,35"/></map></td></tr>
111
- <tr><td><img src="inherit__graph__26.png" border="0" alt="" usemap="#Passenger_1_1ScgiRequestParser_map"/>
120
+ <tr><td><img src="inherit__graph__29.png" border="0" alt="" usemap="#Passenger_1_1ScgiRequestParser_map"/>
112
121
  <map name="Passenger_1_1ScgiRequestParser_map" id="Passenger_1_1ScgiRequestParser">
113
122
  <area shape="rect" id="node1" href="classPassenger_1_1ScgiRequestParser.html" title="A parser for SCGI requests." alt="" coords="5,5,221,35"/></map></td></tr>
114
- <tr><td><img src="inherit__graph__27.png" border="0" alt="" usemap="#Passenger_1_1SecurityException_map"/>
123
+ <tr><td><img src="inherit__graph__30.png" border="0" alt="" usemap="#Passenger_1_1SecurityException_map"/>
115
124
  <map name="Passenger_1_1SecurityException_map" id="Passenger_1_1SecurityException">
116
125
  <area shape="rect" id="node1" href="classPassenger_1_1SecurityException.html" title="Represents some kind of security error." alt="" coords="5,5,216,35"/></map></td></tr>
117
- <tr><td><img src="inherit__graph__28.png" border="0" alt="" usemap="#Passenger_1_1Session_map"/>
126
+ <tr><td><img src="inherit__graph__31.png" border="0" alt="" usemap="#Passenger_1_1Session_map"/>
118
127
  <map name="Passenger_1_1Session_map" id="Passenger_1_1Session">
119
128
  <area shape="rect" id="node1" href="classPassenger_1_1Session.html" title="Represents a single request/response pair of an application process." alt="" coords="5,5,152,35"/><area shape="rect" id="node3" href="classPassenger_1_1StandardSession.html" title="A &quot;standard&quot; implementation of Session." alt="" coords="200,5,405,35"/></map></td></tr>
120
- <tr><td><img src="inherit__graph__29.png" border="0" alt="" usemap="#Passenger_1_1SpawnException_map"/>
129
+ <tr><td><img src="inherit__graph__32.png" border="0" alt="" usemap="#Passenger_1_1SpawnException_map"/>
121
130
  <map name="Passenger_1_1SpawnException_map" id="Passenger_1_1SpawnException">
122
131
  <area shape="rect" id="node1" href="classPassenger_1_1SpawnException.html" title="Thrown when SpawnManager or ApplicationPool fails to spawn an application instance..." alt="" coords="5,5,205,35"/></map></td></tr>
123
- <tr><td><img src="inherit__graph__30.png" border="0" alt="" usemap="#Passenger_1_1StaticString_map"/>
132
+ <tr><td><img src="inherit__graph__33.png" border="0" alt="" usemap="#Passenger_1_1StaticString_map"/>
124
133
  <map name="Passenger_1_1StaticString_map" id="Passenger_1_1StaticString">
125
134
  <area shape="rect" id="node1" href="classPassenger_1_1StaticString.html" title="An immutable, static byte buffer." alt="" coords="7,5,177,35"/></map></td></tr>
126
- <tr><td><img src="inherit__graph__31.png" border="0" alt="" usemap="#Passenger_1_1StaticString_1_1Hash_map"/>
135
+ <tr><td><img src="inherit__graph__34.png" border="0" alt="" usemap="#Passenger_1_1StaticString_1_1Hash_map"/>
127
136
  <map name="Passenger_1_1StaticString_1_1Hash_map" id="Passenger_1_1StaticString_1_1Hash">
128
137
  <area shape="rect" id="node1" href="structPassenger_1_1StaticString_1_1Hash.html" title="A hash function object for StaticString." alt="" coords="7,5,217,35"/></map></td></tr>
129
- <tr><td><img src="inherit__graph__32.png" border="0" alt="" usemap="#Passenger_1_1SystemException_map"/>
138
+ <tr><td><img src="inherit__graph__35.png" border="0" alt="" usemap="#Passenger_1_1SystemException_map"/>
130
139
  <map name="Passenger_1_1SystemException_map" id="Passenger_1_1SystemException">
131
140
  <area shape="rect" id="node1" href="classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call." alt="" coords="5,32,213,61"/><area shape="rect" id="node3" href="classPassenger_1_1FileSystemException.html" title="A filesystem error, as returned by the operating system." alt="" coords="271,5,497,35"/><area shape="rect" id="node5" href="classPassenger_1_1TimeRetrievalException.html" title="Unable to retrieve the system time using time()." alt="" coords="263,59,505,88"/></map></td></tr>
132
- <tr><td><img src="inherit__graph__33.png" border="0" alt="" usemap="#Passenger_1_1TimeoutException_map"/>
141
+ <tr><td><img src="inherit__graph__36.png" border="0" alt="" usemap="#Passenger_1_1TimeoutException_map"/>
133
142
  <map name="Passenger_1_1TimeoutException_map" id="Passenger_1_1TimeoutException">
134
143
  <area shape="rect" id="node1" href="classPassenger_1_1TimeoutException.html" title="An exception indicating that some timeout expired." alt="" coords="5,5,216,35"/></map></td></tr>
135
- <tr><td><img src="inherit__graph__34.png" border="0" alt="" usemap="#Passenger_1_1Uint16Message_map"/>
144
+ <tr><td><img src="inherit__graph__37.png" border="0" alt="" usemap="#Passenger_1_1Uint16Message_map"/>
136
145
  <map name="Passenger_1_1Uint16Message_map" id="Passenger_1_1Uint16Message">
137
146
  <area shape="rect" id="node1" href="classPassenger_1_1Uint16Message.html" title="For 16&#45;bit big&#45;endian integers." alt="" coords="7,5,201,35"/></map></td></tr>
138
- <tr><td><img src="inherit__graph__35.png" border="0" alt="" usemap="#Passenger_1_1Uint32Message_map"/>
147
+ <tr><td><img src="inherit__graph__38.png" border="0" alt="" usemap="#Passenger_1_1Uint32Message_map"/>
139
148
  <map name="Passenger_1_1Uint32Message_map" id="Passenger_1_1Uint32Message">
140
149
  <area shape="rect" id="node1" href="classPassenger_1_1Uint32Message.html" title="For 32&#45;bit big&#45;endian integers." alt="" coords="7,5,201,35"/></map></td></tr>
141
- <tr><td><img src="inherit__graph__36.png" border="0" alt="" usemap="#Server_map"/>
150
+ <tr><td><img src="inherit__graph__39.png" border="0" alt="" usemap="#Server_map"/>
142
151
  <map name="Server_map" id="Server">
143
152
  <area shape="rect" id="node1" href="classServer.html" title="A representation of the Server responsible for handling Client instances." alt="" coords="5,5,69,35"/></map></td></tr>
144
- <tr><td><img src="inherit__graph__37.png" border="0" alt="" usemap="#ServerInstanceDirToucher_map"/>
153
+ <tr><td><img src="inherit__graph__40.png" border="0" alt="" usemap="#ServerInstanceDirToucher_map"/>
145
154
  <map name="ServerInstanceDirToucher_map" id="ServerInstanceDirToucher">
146
155
  <area shape="rect" id="node1" href="classServerInstanceDirToucher.html" title="Touch all files in the server instance dir every 6 hours in order to prevent /tmp..." alt="" coords="7,5,191,35"/></map></td></tr>
147
156
  </table>
@@ -69,6 +69,8 @@
69
69
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The application pool is too busy and cannot fulfill a get() request. <a href="classPassenger_1_1BusyException.html#_details">More...</a><br/></td></tr>
70
70
  <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1FileDescriptor.html">FileDescriptor</a></td></tr>
71
71
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wrapper class around a file descriptor integer, for RAII behavior. <a href="classPassenger_1_1FileDescriptor.html#_details">More...</a><br/></td></tr>
72
+ <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1FileDescriptorPair.html">FileDescriptorPair</a></td></tr>
73
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A structure containing two <a class="el" href="classPassenger_1_1FileDescriptor.html" title="Wrapper class around a file descriptor integer, for RAII behavior.">FileDescriptor</a> objects. <a href="classPassenger_1_1FileDescriptorPair.html#_details">More...</a><br/></td></tr>
72
74
  <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1EventFd.html">EventFd</a></td></tr>
73
75
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A synchronization mechanism that's implemented with file descriptors, and as such can be used in combination with select() and friends. <a href="classPassenger_1_1EventFd.html#_details">More...</a><br/></td></tr>
74
76
  <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1MessageChannel.html">MessageChannel</a></td></tr>
@@ -89,6 +91,10 @@
89
91
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represents a single application process, as spawned by <a class="el" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation.">SpawnManager</a> or by ApplicationPool::Interface::get(). <a href="classPassenger_1_1Process.html#_details">More...</a><br/></td></tr>
90
92
  <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1RandomGenerator.html">RandomGenerator</a></td></tr>
91
93
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A random data generator. <a href="classPassenger_1_1RandomGenerator.html#_details">More...</a><br/></td></tr>
94
+ <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ResourceLocator.html">ResourceLocator</a></td></tr>
95
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Locates various Phusion <a class="el" href="namespacePassenger.html" title="Common code for all agents.">Passenger</a> resources on the filesystem. <a href="classPassenger_1_1ResourceLocator.html#_details">More...</a><br/></td></tr>
96
+ <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SafeLibev.html">SafeLibev</a></td></tr>
97
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class for thread-safely using libev. <a href="classPassenger_1_1SafeLibev.html#_details">More...</a><br/></td></tr>
92
98
  <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1Session.html">Session</a></td></tr>
93
99
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represents a single request/response pair of an application process. <a href="classPassenger_1_1Session.html#_details">More...</a><br/></td></tr>
94
100
  <tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardSession.html">StandardSession</a></td></tr>
@@ -161,6 +167,10 @@ string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gr
161
167
  <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a979cb43cef743bf261c329b13e712366"></a><!-- doxytag: member="Passenger::getSignalName" ref="a979cb43cef743bf261c329b13e712366" args="(int sig)" -->
162
168
  string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#a979cb43cef743bf261c329b13e712366">getSignalName</a> (int sig)</td></tr>
163
169
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a signal number to its associated name. <br/></td></tr>
170
+ <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#a2029ad8cb57611ab161b20ef9df39c86">resetSignalHandlersAndMask</a> ()</td></tr>
171
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resets the current process's signal handler disposition and signal mask to default values. <a href="#a2029ad8cb57611ab161b20ef9df39c86"></a><br/></td></tr>
172
+ <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#af116b11276c90901729b6ce541dd2a07">closeAllFileDescriptors</a> (int lastToKeepOpen)</td></tr>
173
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close all file descriptors that are higher than <em>lastToKeepOpen</em>. <a href="#af116b11276c90901729b6ce541dd2a07"></a><br/></td></tr>
164
174
  <tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
165
175
  <tr><td class="memTemplItemLeft" align="right" valign="top">shared_ptr&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__Support.html#ga41b6c4a82fed72531a147de0505a8396">ptr</a> (T *pointer)</td></tr>
166
176
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience shortcut for creating a <code>shared_ptr</code>. <a href="group__Support.html#ga41b6c4a82fed72531a147de0505a8396"></a><br/></td></tr>
@@ -280,6 +290,27 @@ string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="na
280
290
  </div>
281
291
  </div>
282
292
  <hr/><h2>Function Documentation</h2>
293
+ <a class="anchor" id="af116b11276c90901729b6ce541dd2a07"></a><!-- doxytag: member="Passenger::closeAllFileDescriptors" ref="af116b11276c90901729b6ce541dd2a07" args="(int lastToKeepOpen)" -->
294
+ <div class="memitem">
295
+ <div class="memproto">
296
+ <table class="memname">
297
+ <tr>
298
+ <td class="memname">void Passenger::closeAllFileDescriptors </td>
299
+ <td>(</td>
300
+ <td class="paramtype">int&nbsp;</td>
301
+ <td class="paramname"> <em>lastToKeepOpen</em></td>
302
+ <td>&nbsp;)&nbsp;</td>
303
+ <td></td>
304
+ </tr>
305
+ </table>
306
+ </div>
307
+ <div class="memdoc">
308
+
309
+ <p>Close all file descriptors that are higher than <em>lastToKeepOpen</em>. </p>
310
+ <p>This function is async-signal safe. But make sure there are no other threads running that might open file descriptors! </p>
311
+
312
+ </div>
313
+ </div>
283
314
  <a class="anchor" id="a1d0a66b0e207c46dc6124ff3b2f331e6"></a><!-- doxytag: member="Passenger::getHostName" ref="a1d0a66b0e207c46dc6124ff3b2f331e6" args="()" -->
284
315
  <div class="memitem">
285
316
  <div class="memproto">
@@ -489,6 +520,27 @@ string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="na
489
520
  </dd>
490
521
  </dl>
491
522
 
523
+ </div>
524
+ </div>
525
+ <a class="anchor" id="a2029ad8cb57611ab161b20ef9df39c86"></a><!-- doxytag: member="Passenger::resetSignalHandlersAndMask" ref="a2029ad8cb57611ab161b20ef9df39c86" args="()" -->
526
+ <div class="memitem">
527
+ <div class="memproto">
528
+ <table class="memname">
529
+ <tr>
530
+ <td class="memname">void Passenger::resetSignalHandlersAndMask </td>
531
+ <td>(</td>
532
+ <td class="paramname"></td>
533
+ <td>&nbsp;)&nbsp;</td>
534
+ <td></td>
535
+ </tr>
536
+ </table>
537
+ </div>
538
+ <div class="memdoc">
539
+
540
+ <p>Resets the current process's signal handler disposition and signal mask to default values. </p>
541
+ <p>One should call this every time one forks a child process; non-default signal masks/handler dispositions can cause all kinds of weird quirks, like waitpid() malfunctioning on OS X.</p>
542
+ <p>This function is async-signal safe. </p>
543
+
492
544
  </div>
493
545
  </div>
494
546
  </div>
@@ -42,6 +42,9 @@ Here is a list of all documented namespace members with links to the namespaces
42
42
  <li>canonicalizePath()
43
43
  : <a class="el" href="group__Support.html#gaf3b0a483f0a252ae08d9de9f8b267d36">Passenger</a>
44
44
  </li>
45
+ <li>closeAllFileDescriptors()
46
+ : <a class="el" href="namespacePassenger.html#af116b11276c90901729b6ce541dd2a07">Passenger</a>
47
+ </li>
45
48
  <li>createFile()
46
49
  : <a class="el" href="group__Support.html#ga6f414070373465da2e12947463f69953">Passenger</a>
47
50
  </li>
@@ -105,6 +108,9 @@ Here is a list of all documented namespace members with links to the namespaces
105
108
  <li>removeDirTree()
106
109
  : <a class="el" href="namespacePassenger.html#a8422d210cbd2f62d21254415b5a7f747">Passenger</a>
107
110
  </li>
111
+ <li>resetSignalHandlersAndMask()
112
+ : <a class="el" href="namespacePassenger.html#a2029ad8cb57611ab161b20ef9df39c86">Passenger</a>
113
+ </li>
108
114
  <li>resolveSymlink()
109
115
  : <a class="el" href="group__Support.html#gac3d2b3d608188527d888e63d22c5163c">Passenger</a>
110
116
  </li>
@@ -39,6 +39,9 @@
39
39
  <li>canonicalizePath()
40
40
  : <a class="el" href="group__Support.html#gaf3b0a483f0a252ae08d9de9f8b267d36">Passenger</a>
41
41
  </li>
42
+ <li>closeAllFileDescriptors()
43
+ : <a class="el" href="namespacePassenger.html#af116b11276c90901729b6ce541dd2a07">Passenger</a>
44
+ </li>
42
45
  <li>createFile()
43
46
  : <a class="el" href="group__Support.html#ga6f414070373465da2e12947463f69953">Passenger</a>
44
47
  </li>
@@ -84,6 +87,9 @@
84
87
  <li>removeDirTree()
85
88
  : <a class="el" href="namespacePassenger.html#a8422d210cbd2f62d21254415b5a7f747">Passenger</a>
86
89
  </li>
90
+ <li>resetSignalHandlersAndMask()
91
+ : <a class="el" href="namespacePassenger.html#a2029ad8cb57611ab161b20ef9df39c86">Passenger</a>
92
+ </li>
87
93
  <li>resolveSymlink()
88
94
  : <a class="el" href="group__Support.html#gac3d2b3d608188527d888e63d22c5163c">Passenger</a>
89
95
  </li>
@@ -93,6 +93,7 @@
93
93
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1EventedServer.html" target="basefrm">Passenger::EventedServer</a></p>
94
94
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1EventFd.html" target="basefrm">Passenger::EventFd</a></p>
95
95
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1FileDescriptor.html" target="basefrm">Passenger::FileDescriptor</a></p>
96
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1FileDescriptorPair.html" target="basefrm">Passenger::FileDescriptorPair</a></p>
96
97
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1FileNotFoundException.html" target="basefrm">Passenger::FileNotFoundException</a></p>
97
98
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1FileSystemException.html" target="basefrm">Passenger::FileSystemException</a></p>
98
99
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1MessageServer_1_1Handler.html" target="basefrm">Passenger::MessageServer::Handler</a></p>
@@ -105,7 +106,9 @@
105
106
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structPassenger_1_1PoolOptions.html" target="basefrm">Passenger::PoolOptions</a></p>
106
107
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1Process.html" target="basefrm">Passenger::Process</a></p>
107
108
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1RandomGenerator.html" target="basefrm">Passenger::RandomGenerator</a></p>
109
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1ResourceLocator.html" target="basefrm">Passenger::ResourceLocator</a></p>
108
110
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1RuntimeException.html" target="basefrm">Passenger::RuntimeException</a></p>
111
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1SafeLibev.html" target="basefrm">Passenger::SafeLibev</a></p>
109
112
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1ScalarMessage.html" target="basefrm">Passenger::ScalarMessage</a></p>
110
113
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1ScgiRequestParser.html" target="basefrm">Passenger::ScgiRequestParser</a></p>
111
114
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1SecurityException.html" target="basefrm">Passenger::SecurityException</a></p>
@@ -148,6 +151,7 @@
148
151
  </div>
149
152
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1EventFd.html" target="basefrm">Passenger::EventFd</a></p>
150
153
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1FileDescriptor.html" target="basefrm">Passenger::FileDescriptor</a></p>
154
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1FileDescriptorPair.html" target="basefrm">Passenger::FileDescriptorPair</a></p>
151
155
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1MessageServer_1_1Handler.html" target="basefrm">Passenger::MessageServer::Handler</a></p>
152
156
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structPassenger_1_1StaticString_1_1Hash.html" target="basefrm">Passenger::StaticString::Hash</a></p>
153
157
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classHooks.html" target="basefrm">Hooks</a></p>
@@ -162,7 +166,9 @@
162
166
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structPassenger_1_1PoolOptions.html" target="basefrm">Passenger::PoolOptions</a></p>
163
167
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1Process.html" target="basefrm">Passenger::Process</a></p>
164
168
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1RandomGenerator.html" target="basefrm">Passenger::RandomGenerator</a></p>
169
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1ResourceLocator.html" target="basefrm">Passenger::ResourceLocator</a></p>
165
170
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1RuntimeException.html" target="basefrm">Passenger::RuntimeException</a></p>
171
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1SafeLibev.html" target="basefrm">Passenger::SafeLibev</a></p>
166
172
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1ScalarMessage.html" target="basefrm">Passenger::ScalarMessage</a></p>
167
173
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1ScgiRequestParser.html" target="basefrm">Passenger::ScgiRequestParser</a></p>
168
174
  <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="classPassenger_1_1SecurityException.html" target="basefrm">Passenger::SecurityException</a></p>
@@ -213,6 +219,7 @@
213
219
  <p><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>FileDescriptor.h</b></p>
214
220
  <p><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>Hooks.h</b></p>
215
221
  <p><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>HttpStatusExtractor.h</b></p>
222
+ <p><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>IniFile.h</b></p>
216
223
  <p><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>Logging.h</b></p>
217
224
  <p><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>MessageChannel.h</b></p>
218
225
  <p><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>MessageClient.h</b></p>
@@ -223,6 +230,7 @@
223
230
  <p><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>Process.h</b></p>
224
231
  <p><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>RandomGenerator.h</b></p>
225
232
  <p><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>ResourceLocator.h</b></p>
233
+ <p><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>SafeLibev.h</b></p>
226
234
  <p><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>ScgiRequestParser.h</b></p>
227
235
  <p><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>ServerInstanceDir.h</b></p>
228
236
  <p><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><b>Session.h</b></p>
@@ -176,8 +176,7 @@ passenger_config_create_dir(apr_pool_t *p, char *dirspec) {
176
176
  config->autoDetectRails = DirConfig::UNSET;
177
177
  config->autoDetectRack = DirConfig::UNSET;
178
178
  config->autoDetectWSGI = DirConfig::UNSET;
179
- config->railsEnv = NULL;
180
- config->rackEnv = NULL;
179
+ config->environment = NULL;
181
180
  config->appRoot = NULL;
182
181
  config->user = NULL;
183
182
  config->group = NULL;
@@ -222,8 +221,7 @@ passenger_config_merge_dir(apr_pool_t *p, void *basev, void *addv) {
222
221
  MERGE_THREEWAY_CONFIG(autoDetectRails);
223
222
  MERGE_THREEWAY_CONFIG(autoDetectRack);
224
223
  MERGE_THREEWAY_CONFIG(autoDetectWSGI);
225
- MERGE_STR_CONFIG(railsEnv);
226
- MERGE_STR_CONFIG(rackEnv);
224
+ MERGE_STR_CONFIG(environment);
227
225
  MERGE_STR_CONFIG(appRoot);
228
226
  MERGE_STRING_CONFIG(appGroupName);
229
227
  MERGE_STR_CONFIG(user);
@@ -238,6 +236,7 @@ passenger_config_merge_dir(apr_pool_t *p, void *basev, void *addv) {
238
236
  MERGE_INT_CONFIG(statThrottleRate);
239
237
  MERGE_STR_CONFIG(restartDir);
240
238
  MERGE_STR_CONFIG(uploadBufferDir);
239
+ MERGE_STRING_CONFIG(unionStationKey);
241
240
  MERGE_THREEWAY_CONFIG(resolveSymlinksInDocRoot);
242
241
  MERGE_THREEWAY_CONFIG(allowEncodedSlashes);
243
242
  MERGE_THREEWAY_CONFIG(friendlyErrorPages);
@@ -262,6 +261,9 @@ DEFINE_SERVER_BOOLEAN_CONFIG_SETTER(cmd_passenger_user_switching, userSwitching)
262
261
  DEFINE_SERVER_STR_CONFIG_SETTER(cmd_passenger_default_user, defaultUser)
263
262
  DEFINE_SERVER_STR_CONFIG_SETTER(cmd_passenger_default_group, defaultGroup)
264
263
  DEFINE_SERVER_STR_CONFIG_SETTER(cmd_passenger_temp_dir, tempDir)
264
+ DEFINE_SERVER_STR_CONFIG_SETTER(cmd_union_station_gateway_address, unionStationGatewayAddress)
265
+ DEFINE_SERVER_INT_CONFIG_SETTER(cmd_union_station_gateway_port, unionStationGatewayPort, int, 1)
266
+ DEFINE_SERVER_STR_CONFIG_SETTER(cmd_union_station_gateway_cert, unionStationGatewayCert)
265
267
  DEFINE_SERVER_STR_CONFIG_SETTER(cmd_passenger_analytics_log_dir, analyticsLogDir)
266
268
  DEFINE_SERVER_STR_CONFIG_SETTER(cmd_passenger_analytics_log_user, analyticsLogUser)
267
269
  DEFINE_SERVER_STR_CONFIG_SETTER(cmd_passenger_analytics_log_group, analyticsLogGroup)
@@ -278,6 +280,7 @@ DEFINE_DIR_THREEWAY_CONFIG_SETTER(cmd_passenger_use_global_queue, useGlobalQueue
278
280
  DEFINE_DIR_INT_CONFIG_SETTER(cmd_passenger_max_requests, maxRequests, unsigned long, 0)
279
281
  DEFINE_DIR_THREEWAY_CONFIG_SETTER(cmd_passenger_high_performance, highPerformance)
280
282
  DEFINE_DIR_THREEWAY_CONFIG_SETTER(cmd_passenger_enabled, enabled)
283
+ DEFINE_DIR_STR_CONFIG_SETTER(cmd_environment, environment)
281
284
  DEFINE_DIR_INT_CONFIG_SETTER(cmd_passenger_stat_throttle_rate, statThrottleRate, unsigned long, 0)
282
285
  DEFINE_DIR_STR_CONFIG_SETTER(cmd_passenger_app_root, appRoot)
283
286
  DEFINE_DIR_STR_CONFIG_SETTER(cmd_passenger_app_group_name, appGroupName)
@@ -285,6 +288,7 @@ DEFINE_DIR_STR_CONFIG_SETTER(cmd_passenger_user, user)
285
288
  DEFINE_DIR_STR_CONFIG_SETTER(cmd_passenger_group, group)
286
289
  DEFINE_DIR_STR_CONFIG_SETTER(cmd_passenger_restart_dir, restartDir)
287
290
  DEFINE_DIR_STR_CONFIG_SETTER(cmd_passenger_upload_buffer_dir, uploadBufferDir)
291
+ DEFINE_DIR_STR_CONFIG_SETTER(cmd_union_station_key, unionStationKey)
288
292
  DEFINE_DIR_THREEWAY_CONFIG_SETTER(cmd_passenger_resolve_symlinks_in_document_root, resolveSymlinksInDocRoot)
289
293
  DEFINE_DIR_THREEWAY_CONFIG_SETTER(cmd_passenger_allow_encoded_slashes, allowEncodedSlashes)
290
294
  DEFINE_DIR_THREEWAY_CONFIG_SETTER(cmd_passenger_friendly_error_pages, friendlyErrorPages)
@@ -326,7 +330,6 @@ cmd_rails_base_uri(cmd_parms *cmd, void *pcfg, const char *arg) {
326
330
  }
327
331
 
328
332
  DEFINE_DIR_THREEWAY_CONFIG_SETTER(cmd_rails_auto_detect, autoDetectRails)
329
- DEFINE_DIR_STR_CONFIG_SETTER(cmd_rails_env, railsEnv)
330
333
 
331
334
  static const char *
332
335
  cmd_rails_framework_spawner_idle_time(cmd_parms *cmd, void *pcfg, const char *arg) {
@@ -383,7 +386,6 @@ cmd_rack_base_uri(cmd_parms *cmd, void *pcfg, const char *arg) {
383
386
  }
384
387
 
385
388
  DEFINE_DIR_THREEWAY_CONFIG_SETTER(cmd_rack_auto_detect, autoDetectRack)
386
- DEFINE_DIR_STR_CONFIG_SETTER(cmd_rack_env, rackEnv)
387
389
 
388
390
 
389
391
  /*************************************************
@@ -536,6 +538,11 @@ const command_rec passenger_commands[] = {
536
538
  NULL,
537
539
  OR_OPTIONS,
538
540
  "The directory in which upload buffer files should be placed."),
541
+ AP_INIT_TAKE1("UnionStationKey",
542
+ (Take1Func) cmd_union_station_key,
543
+ NULL,
544
+ OR_ALL,
545
+ "The Union Station key."),
539
546
  AP_INIT_FLAG("PassengerResolveSymlinksInDocumentRoot",
540
547
  (FlagFunc) cmd_passenger_resolve_symlinks_in_document_root,
541
548
  NULL,
@@ -556,6 +563,21 @@ const command_rec passenger_commands[] = {
556
563
  NULL,
557
564
  RSRC_CONF,
558
565
  "The spawn method to use."),
566
+ AP_INIT_TAKE1("UnionStationGatewayAddress",
567
+ (Take1Func) cmd_union_station_gateway_address,
568
+ NULL,
569
+ RSRC_CONF,
570
+ "The Union Station Gateway host name."),
571
+ AP_INIT_TAKE1("UnionStationGatewayPort",
572
+ (Take1Func) cmd_union_station_gateway_port,
573
+ NULL,
574
+ RSRC_CONF,
575
+ "The Union Station Gateway port number."),
576
+ AP_INIT_TAKE1("UnionStationGatewayCert",
577
+ (Take1Func) cmd_union_station_gateway_cert,
578
+ NULL,
579
+ RSRC_CONF,
580
+ "The Union Station Gateway certificate."),
559
581
  AP_INIT_TAKE1("PassengerAnalyticsLogDir",
560
582
  (Take1Func) cmd_passenger_analytics_log_dir,
561
583
  NULL,
@@ -601,7 +623,7 @@ const command_rec passenger_commands[] = {
601
623
  RSRC_CONF,
602
624
  "Whether auto-detection of Ruby on Rails applications should be enabled."),
603
625
  AP_INIT_TAKE1("RailsEnv",
604
- (Take1Func) cmd_rails_env,
626
+ (Take1Func) cmd_environment,
605
627
  NULL,
606
628
  OR_OPTIONS | ACCESS_CONF | RSRC_CONF,
607
629
  "The environment under which a Rails app must run."),
@@ -628,7 +650,7 @@ const command_rec passenger_commands[] = {
628
650
  RSRC_CONF,
629
651
  "Whether auto-detection of Rack applications should be enabled."),
630
652
  AP_INIT_TAKE1("RackEnv",
631
- (Take1Func) cmd_rack_env,
653
+ (Take1Func) cmd_environment,
632
654
  NULL,
633
655
  OR_OPTIONS | ACCESS_CONF | RSRC_CONF,
634
656
  "The environment under which a Rack app must run."),