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
@@ -0,0 +1,36 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <title>Passenger: Member List</title>
6
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
+ <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
+ </head>
9
+ <body>
10
+ <!-- Generated by Doxygen 1.6.2 -->
11
+ <div class="navigation" id="top">
12
+ <div class="tabs">
13
+ <ul>
14
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
+ <li><a href="modules.html"><span>Modules</span></a></li>
16
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
+ <li><a href="files.html"><span>Files</span></a></li>
19
+ </ul>
20
+ </div>
21
+ <div class="tabs">
22
+ <ul>
23
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
+ </ul>
27
+ </div>
28
+ </div>
29
+ <div class="contents">
30
+ <h1>Passenger::FileDescriptorPair Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1FileDescriptorPair.html">Passenger::FileDescriptorPair</a>, including all inherited members.<table>
31
+ </table></div>
32
+ <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
33
+ <a href="http://www.doxygen.org/index.html">
34
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
35
+ </body>
36
+ </html>
@@ -0,0 +1,52 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <title>Passenger: Passenger::FileDescriptorPair Class Reference</title>
6
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
+ <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
+ </head>
9
+ <body>
10
+ <!-- Generated by Doxygen 1.6.2 -->
11
+ <div class="navigation" id="top">
12
+ <div class="tabs">
13
+ <ul>
14
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
+ <li><a href="modules.html"><span>Modules</span></a></li>
16
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
+ <li><a href="files.html"><span>Files</span></a></li>
19
+ </ul>
20
+ </div>
21
+ <div class="tabs">
22
+ <ul>
23
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
+ </ul>
27
+ </div>
28
+ <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="classPassenger_1_1FileDescriptorPair.html">FileDescriptorPair</a>
29
+ </div>
30
+ </div>
31
+ <div class="contents">
32
+ <h1>Passenger::FileDescriptorPair Class Reference</h1><!-- doxytag: class="Passenger::FileDescriptorPair" -->
33
+ <p>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.
34
+ <a href="#_details">More...</a></p>
35
+
36
+ <p><code>#include &lt;<a class="el" href="FileDescriptor_8h_source.html">FileDescriptor.h</a>&gt;</code></p>
37
+
38
+ <p><a href="classPassenger_1_1FileDescriptorPair-members.html">List of all members.</a></p>
39
+ <table border="0" cellpadding="0" cellspacing="0">
40
+ </table>
41
+ <hr/><a name="_details"></a><h2>Detailed Description</h2>
42
+ <p>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. </p>
43
+ <p>Behaves like a pair and like a two-element array. </p>
44
+ <hr/>The documentation for this class was generated from the following file:<ul>
45
+ <li><a class="el" href="FileDescriptor_8h_source.html">FileDescriptor.h</a></li>
46
+ </ul>
47
+ </div>
48
+ <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
49
+ <a href="http://www.doxygen.org/index.html">
50
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
51
+ </body>
52
+ </html>
@@ -40,15 +40,12 @@
40
40
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1MessageChannel.html#a7b0c67852ea8ab455af75b1037c7f8b6">readUint32</a>(unsigned int &amp;value, unsigned long long *timeout=NULL)</td><td><a class="el" href="classPassenger_1_1MessageChannel.html">Passenger::MessageChannel</a></td><td><code> [inline]</code></td></tr>
41
41
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1MessageChannel.html#aeb69bffbbb148c9bc8662e20b416c4e2">setReadTimeout</a>(unsigned int msec)</td><td><a class="el" href="classPassenger_1_1MessageChannel.html">Passenger::MessageChannel</a></td><td><code> [inline]</code></td></tr>
42
42
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1MessageChannel.html#a77c5d7c47f387cf43992ebeb14e3c6c7">setWriteTimeout</a>(unsigned int msec)</td><td><a class="el" href="classPassenger_1_1MessageChannel.html">Passenger::MessageChannel</a></td><td><code> [inline]</code></td></tr>
43
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1MessageChannel.html#ac2407ed109785b49794989507c570149">waitUntilReadable</a>(unsigned long long *timeout)</td><td><a class="el" href="classPassenger_1_1MessageChannel.html">Passenger::MessageChannel</a></td><td><code> [inline]</code></td></tr>
44
43
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1MessageChannel.html#a150f68bc47e060dcc6ca35bee047914d">write</a>(const StringArrayType &amp;args)</td><td><a class="el" href="classPassenger_1_1MessageChannel.html">Passenger::MessageChannel</a></td><td><code> [inline]</code></td></tr>
45
44
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1MessageChannel.html#a9ad7a978cf8409e01ab2f0a2b6be5a0a">write</a>(const list&lt; string &gt; &amp;args)</td><td><a class="el" href="classPassenger_1_1MessageChannel.html">Passenger::MessageChannel</a></td><td><code> [inline]</code></td></tr>
46
45
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1MessageChannel.html#a6a9bc5d72715cb7ba0e437c8851ef487">write</a>(const vector&lt; string &gt; &amp;args)</td><td><a class="el" href="classPassenger_1_1MessageChannel.html">Passenger::MessageChannel</a></td><td><code> [inline]</code></td></tr>
47
46
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1MessageChannel.html#a70cc924c1ce7e2cedcbab61155d3aec9">write</a>(const char *name, va_list &amp;ap)</td><td><a class="el" href="classPassenger_1_1MessageChannel.html">Passenger::MessageChannel</a></td><td><code> [inline]</code></td></tr>
48
47
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1MessageChannel.html#a12cce3364023eacbe4fe09006cf3d38d">write</a>(const char *name,...)</td><td><a class="el" href="classPassenger_1_1MessageChannel.html">Passenger::MessageChannel</a></td><td><code> [inline]</code></td></tr>
49
48
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1MessageChannel.html#ae0c558e07dcc91900016773b2bec38d8">writeFileDescriptor</a>(int fileDescriptor, bool negotiate=true)</td><td><a class="el" href="classPassenger_1_1MessageChannel.html">Passenger::MessageChannel</a></td><td><code> [inline]</code></td></tr>
50
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1MessageChannel.html#a069314e4c7e1fe8c8ab36e16d2cc5fef">writeRaw</a>(const char *data, unsigned int size)</td><td><a class="el" href="classPassenger_1_1MessageChannel.html">Passenger::MessageChannel</a></td><td><code> [inline]</code></td></tr>
51
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1MessageChannel.html#acfa38f4f0e22ec16350b8cc159e8e364">writeRaw</a>(const string &amp;data)</td><td><a class="el" href="classPassenger_1_1MessageChannel.html">Passenger::MessageChannel</a></td><td><code> [inline]</code></td></tr>
52
49
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1MessageChannel.html#a44e01a783c48abadeea0d915b9893bfb">writeScalar</a>(const string &amp;str)</td><td><a class="el" href="classPassenger_1_1MessageChannel.html">Passenger::MessageChannel</a></td><td><code> [inline]</code></td></tr>
53
50
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1MessageChannel.html#a80977020ef895f3ea790c5d28a333dda">writeScalar</a>(const char *data, unsigned int size)</td><td><a class="el" href="classPassenger_1_1MessageChannel.html">Passenger::MessageChannel</a></td><td><code> [inline]</code></td></tr>
54
51
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1MessageChannel.html#abf02c51a74477650de8d5d5db661063b">writeUint32</a>(unsigned int value)</td><td><a class="el" href="classPassenger_1_1MessageChannel.html">Passenger::MessageChannel</a></td><td><code> [inline]</code></td></tr>
@@ -70,10 +70,6 @@ bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
70
70
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write a scalar message to the underlying file descriptor. <a href="#a44e01a783c48abadeea0d915b9893bfb"></a><br/></td></tr>
71
71
  <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1MessageChannel.html#a80977020ef895f3ea790c5d28a333dda">writeScalar</a> (const char *data, unsigned int size)</td></tr>
72
72
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write a scalar message to the underlying file descriptor. <a href="#a80977020ef895f3ea790c5d28a333dda"></a><br/></td></tr>
73
- <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1MessageChannel.html#a069314e4c7e1fe8c8ab36e16d2cc5fef">writeRaw</a> (const char *data, unsigned int size)</td></tr>
74
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a block of data over the underlying file descriptor. <a href="#a069314e4c7e1fe8c8ab36e16d2cc5fef"></a><br/></td></tr>
75
- <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1MessageChannel.html#acfa38f4f0e22ec16350b8cc159e8e364">writeRaw</a> (const string &amp;data)</td></tr>
76
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a block of data over the underlying file descriptor. <a href="#acfa38f4f0e22ec16350b8cc159e8e364"></a><br/></td></tr>
77
73
  <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1MessageChannel.html#ae0c558e07dcc91900016773b2bec38d8">writeFileDescriptor</a> (int fileDescriptor, bool negotiate=true)</td></tr>
78
74
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pass a file descriptor. <a href="#ae0c558e07dcc91900016773b2bec38d8"></a><br/></td></tr>
79
75
  <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1MessageChannel.html#a129659b60d1a663337873d2af944431e">read</a> (vector&lt; string &gt; &amp;args)</td></tr>
@@ -84,8 +80,6 @@ bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
84
80
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a scalar message from the underlying file descriptor. <a href="#a1f3cf672b566166ed920c2bba4d19604"></a><br/></td></tr>
85
81
  <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1MessageChannel.html#ab471dc1888f030e20ed23068a160ec2a">readRaw</a> (void *buf, unsigned int size, unsigned long long *timeout=NULL)</td></tr>
86
82
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read exactly <code>size</code> bytes of data from the underlying file descriptor, and put the result in <code>buf</code>. <a href="#ab471dc1888f030e20ed23068a160ec2a"></a><br/></td></tr>
87
- <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1MessageChannel.html#ac2407ed109785b49794989507c570149">waitUntilReadable</a> (unsigned long long *timeout)</td></tr>
88
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Waits at most <code>*timeout</code> milliseconds for the file descriptor to become readable. <a href="#ac2407ed109785b49794989507c570149"></a><br/></td></tr>
89
83
  <tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1MessageChannel.html#a1a28ba9d078f38f2831673092ac9dcbc">readFileDescriptor</a> (bool negotiate=true)</td></tr>
90
84
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Receive a file descriptor, which had been passed over the underlying file descriptor. <a href="#a1a28ba9d078f38f2831673092ac9dcbc"></a><br/></td></tr>
91
85
  <tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1MessageChannel.html#aeb69bffbbb148c9bc8662e20b416c4e2">setReadTimeout</a> (unsigned int msec)</td></tr>
@@ -323,7 +317,6 @@ Some methods throw <a class="el" href="classPassenger_1_1SecurityException.html"
323
317
  </table>
324
318
  </dd>
325
319
  </dl>
326
- <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classPassenger_1_1MessageChannel.html#a069314e4c7e1fe8c8ab36e16d2cc5fef" title="Send a block of data over the underlying file descriptor.">writeRaw()</a> </dd></dl>
327
320
 
328
321
  </div>
329
322
  </div>
@@ -489,36 +482,6 @@ Some methods throw <a class="el" href="classPassenger_1_1SecurityException.html"
489
482
  </dd>
490
483
  </dl>
491
484
 
492
- </div>
493
- </div>
494
- <a class="anchor" id="ac2407ed109785b49794989507c570149"></a><!-- doxytag: member="Passenger::MessageChannel::waitUntilReadable" ref="ac2407ed109785b49794989507c570149" args="(unsigned long long *timeout)" -->
495
- <div class="memitem">
496
- <div class="memproto">
497
- <table class="memname">
498
- <tr>
499
- <td class="memname">bool Passenger::MessageChannel::waitUntilReadable </td>
500
- <td>(</td>
501
- <td class="paramtype">unsigned long long *&nbsp;</td>
502
- <td class="paramname"> <em>timeout</em></td>
503
- <td>&nbsp;)&nbsp;</td>
504
- <td><code> [inline]</code></td>
505
- </tr>
506
- </table>
507
- </div>
508
- <div class="memdoc">
509
-
510
- <p>Waits at most <code>*timeout</code> milliseconds for the file descriptor to become readable. </p>
511
- <p>Returns true if it become readable within the timeout, false if the timeout expired.</p>
512
- <p><code>*timeout</code> may be 0, in which case this method will check whether the file descriptor is readable, and immediately returns without waiting.</p>
513
- <p>If no exception is thrown, this method deducts the number of milliseconds that has passed from <code>*timeout</code>.</p>
514
- <dl><dt><b>Exceptions:</b></dt><dd>
515
- <table border="0" cellspacing="2" cellpadding="0">
516
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call.">SystemException</a></em>&nbsp;</td><td></td></tr>
517
- <tr><td valign="top"></td><td valign="top"><em>boost::thread_interrupted</em>&nbsp;</td><td></td></tr>
518
- </table>
519
- </dd>
520
- </dl>
521
-
522
485
  </div>
523
486
  </div>
524
487
  <a class="anchor" id="a12cce3364023eacbe4fe09006cf3d38d"></a><!-- doxytag: member="Passenger::MessageChannel::write" ref="a12cce3364023eacbe4fe09006cf3d38d" args="(const char *name,...)" -->
@@ -755,89 +718,6 @@ template&lt;typename StringArrayType , typename StringArrayConstIteratorType &gt
755
718
  <dl class="pre"><dt><b>Precondition:</b></dt><dd><code>fileDescriptor &gt;= 0</code> </dd></dl>
756
719
  <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classPassenger_1_1MessageChannel.html#a1a28ba9d078f38f2831673092ac9dcbc" title="Receive a file descriptor, which had been passed over the underlying file descriptor...">readFileDescriptor()</a> </dd></dl>
757
720
 
758
- </div>
759
- </div>
760
- <a class="anchor" id="acfa38f4f0e22ec16350b8cc159e8e364"></a><!-- doxytag: member="Passenger::MessageChannel::writeRaw" ref="acfa38f4f0e22ec16350b8cc159e8e364" args="(const string &amp;data)" -->
761
- <div class="memitem">
762
- <div class="memproto">
763
- <table class="memname">
764
- <tr>
765
- <td class="memname">void Passenger::MessageChannel::writeRaw </td>
766
- <td>(</td>
767
- <td class="paramtype">const string &amp;&nbsp;</td>
768
- <td class="paramname"> <em>data</em></td>
769
- <td>&nbsp;)&nbsp;</td>
770
- <td><code> [inline]</code></td>
771
- </tr>
772
- </table>
773
- </div>
774
- <div class="memdoc">
775
-
776
- <p>Send a block of data over the underlying file descriptor. </p>
777
- <p>This method blocks until everything is sent.</p>
778
- <dl class="note"><dt><b>Note:</b></dt><dd>Security guarantee: this method will not copy the data in memory, so it's safe to use this method to write passwords to the underlying file descriptor.</dd></dl>
779
- <dl><dt><b>Parameters:</b></dt><dd>
780
- <table border="0" cellspacing="2" cellpadding="0">
781
- <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to send. </td></tr>
782
- </table>
783
- </dd>
784
- </dl>
785
- <dl class="pre"><dt><b>Precondition:</b></dt><dd><code>data != NULL</code> </dd></dl>
786
- <dl><dt><b>Exceptions:</b></dt><dd>
787
- <table border="0" cellspacing="2" cellpadding="0">
788
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call.">SystemException</a></em>&nbsp;</td><td>An error occured while writing the data to the file descriptor. </td></tr>
789
- <tr><td valign="top"></td><td valign="top"><em>boost::thread_interrupted</em>&nbsp;</td><td></td></tr>
790
- </table>
791
- </dd>
792
- </dl>
793
-
794
- </div>
795
- </div>
796
- <a class="anchor" id="a069314e4c7e1fe8c8ab36e16d2cc5fef"></a><!-- doxytag: member="Passenger::MessageChannel::writeRaw" ref="a069314e4c7e1fe8c8ab36e16d2cc5fef" args="(const char *data, unsigned int size)" -->
797
- <div class="memitem">
798
- <div class="memproto">
799
- <table class="memname">
800
- <tr>
801
- <td class="memname">void Passenger::MessageChannel::writeRaw </td>
802
- <td>(</td>
803
- <td class="paramtype">const char *&nbsp;</td>
804
- <td class="paramname"> <em>data</em>, </td>
805
- </tr>
806
- <tr>
807
- <td class="paramkey"></td>
808
- <td></td>
809
- <td class="paramtype">unsigned int&nbsp;</td>
810
- <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
811
- </tr>
812
- <tr>
813
- <td></td>
814
- <td>)</td>
815
- <td></td><td></td><td><code> [inline]</code></td>
816
- </tr>
817
- </table>
818
- </div>
819
- <div class="memdoc">
820
-
821
- <p>Send a block of data over the underlying file descriptor. </p>
822
- <p>This method blocks until everything is sent.</p>
823
- <dl class="note"><dt><b>Note:</b></dt><dd>Security guarantee: this method will not copy the data in memory, so it's safe to use this method to write passwords to the underlying file descriptor.</dd></dl>
824
- <dl><dt><b>Parameters:</b></dt><dd>
825
- <table border="0" cellspacing="2" cellpadding="0">
826
- <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to send. </td></tr>
827
- <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The number of bytes in <code>data</code>. </td></tr>
828
- </table>
829
- </dd>
830
- </dl>
831
- <dl class="pre"><dt><b>Precondition:</b></dt><dd><code>data != NULL</code> </dd></dl>
832
- <dl><dt><b>Exceptions:</b></dt><dd>
833
- <table border="0" cellspacing="2" cellpadding="0">
834
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call.">SystemException</a></em>&nbsp;</td><td>An error occured while writing the data to the file descriptor. </td></tr>
835
- <tr><td valign="top"></td><td valign="top"><em>boost::thread_interrupted</em>&nbsp;</td><td></td></tr>
836
- </table>
837
- </dd>
838
- </dl>
839
- <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classPassenger_1_1MessageChannel.html#ab471dc1888f030e20ed23068a160ec2a" title="Read exactly size bytes of data from the underlying file descriptor, and put the...">readRaw()</a> </dd></dl>
840
-
841
721
  </div>
842
722
  </div>
843
723
  <a class="anchor" id="a80977020ef895f3ea790c5d28a333dda"></a><!-- doxytag: member="Passenger::MessageChannel::writeScalar" ref="a80977020ef895f3ea790c5d28a333dda" args="(const char *data, unsigned int size)" -->
@@ -0,0 +1,36 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <title>Passenger: Member List</title>
6
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
+ <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
+ </head>
9
+ <body>
10
+ <!-- Generated by Doxygen 1.6.2 -->
11
+ <div class="navigation" id="top">
12
+ <div class="tabs">
13
+ <ul>
14
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
+ <li><a href="modules.html"><span>Modules</span></a></li>
16
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
+ <li><a href="files.html"><span>Files</span></a></li>
19
+ </ul>
20
+ </div>
21
+ <div class="tabs">
22
+ <ul>
23
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
+ </ul>
27
+ </div>
28
+ </div>
29
+ <div class="contents">
30
+ <h1>Passenger::SafeLibev Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1SafeLibev.html">Passenger::SafeLibev</a>, including all inherited members.<table>
31
+ </table></div>
32
+ <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
33
+ <a href="http://www.doxygen.org/index.html">
34
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
35
+ </body>
36
+ </html>
@@ -0,0 +1,51 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <title>Passenger: Passenger::SafeLibev Class Reference</title>
6
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
+ <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
+ </head>
9
+ <body>
10
+ <!-- Generated by Doxygen 1.6.2 -->
11
+ <div class="navigation" id="top">
12
+ <div class="tabs">
13
+ <ul>
14
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
+ <li><a href="modules.html"><span>Modules</span></a></li>
16
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
+ <li><a href="files.html"><span>Files</span></a></li>
19
+ </ul>
20
+ </div>
21
+ <div class="tabs">
22
+ <ul>
23
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
+ <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
+ <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
+ </ul>
27
+ </div>
28
+ <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="classPassenger_1_1SafeLibev.html">SafeLibev</a>
29
+ </div>
30
+ </div>
31
+ <div class="contents">
32
+ <h1>Passenger::SafeLibev Class Reference</h1><!-- doxytag: class="Passenger::SafeLibev" -->
33
+ <p>Class for thread-safely using libev.
34
+ <a href="#_details">More...</a></p>
35
+
36
+ <p><code>#include &lt;<a class="el" href="SafeLibev_8h_source.html">SafeLibev.h</a>&gt;</code></p>
37
+
38
+ <p><a href="classPassenger_1_1SafeLibev-members.html">List of all members.</a></p>
39
+ <table border="0" cellpadding="0" cellspacing="0">
40
+ </table>
41
+ <hr/><a name="_details"></a><h2>Detailed Description</h2>
42
+ <p>Class for thread-safely using libev. </p>
43
+ <hr/>The documentation for this class was generated from the following file:<ul>
44
+ <li><a class="el" href="SafeLibev_8h_source.html">SafeLibev.h</a></li>
45
+ </ul>
46
+ </div>
47
+ <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
48
+ <a href="http://www.doxygen.org/index.html">
49
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
50
+ </body>
51
+ </html>
@@ -30,6 +30,7 @@
30
30
  <h1>Passenger::SpawnException Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1SpawnException.html">Passenger::SpawnException</a>, including all inherited members.<table>
31
31
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1SpawnException.html#a6f675a37edd7070875d0744e7dd010a1">getErrorPage</a>() const </td><td><a class="el" href="classPassenger_1_1SpawnException.html">Passenger::SpawnException</a></td><td><code> [inline]</code></td></tr>
32
32
  <tr class="memlist"><td><a class="el" href="classPassenger_1_1SpawnException.html#ae65dc272e183fd9e5637a4091cc6bbf4">hasErrorPage</a>() const </td><td><a class="el" href="classPassenger_1_1SpawnException.html">Passenger::SpawnException</a></td><td><code> [inline]</code></td></tr>
33
+ <tr class="memlist"><td><a class="el" href="classPassenger_1_1SpawnException.html#a99538fa117c984660607a7e163ab4158">isHTML</a>() const </td><td><a class="el" href="classPassenger_1_1SpawnException.html">Passenger::SpawnException</a></td><td><code> [inline]</code></td></tr>
33
34
  </table></div>
34
35
  <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
35
36
  <a href="http://www.doxygen.org/index.html">
@@ -43,6 +43,8 @@ bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
43
43
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether an error page is available. <br/></td></tr>
44
44
  <tr><td class="memItemLeft" align="right" valign="top">const string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SpawnException.html#a6f675a37edd7070875d0744e7dd010a1">getErrorPage</a> () const </td></tr>
45
45
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the error page content. <a href="#a6f675a37edd7070875d0744e7dd010a1"></a><br/></td></tr>
46
+ <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SpawnException.html#a99538fa117c984660607a7e163ab4158">isHTML</a> () const </td></tr>
47
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether the error page content is HTML. <a href="#a99538fa117c984660607a7e163ab4158"></a><br/></td></tr>
46
48
  </table>
47
49
  <hr/><a name="_details"></a><h2>Detailed Description</h2>
48
50
  <p>Thrown when <a class="el" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation.">SpawnManager</a> or ApplicationPool fails to spawn an application instance. </p>
@@ -66,6 +68,26 @@ bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
66
68
  <p>Return the error page content. </p>
67
69
  <dl class="pre"><dt><b>Precondition:</b></dt><dd><a class="el" href="classPassenger_1_1SpawnException.html#ae65dc272e183fd9e5637a4091cc6bbf4" title="Check whether an error page is available.">hasErrorPage()</a> </dd></dl>
68
70
 
71
+ </div>
72
+ </div>
73
+ <a class="anchor" id="a99538fa117c984660607a7e163ab4158"></a><!-- doxytag: member="Passenger::SpawnException::isHTML" ref="a99538fa117c984660607a7e163ab4158" args="() const " -->
74
+ <div class="memitem">
75
+ <div class="memproto">
76
+ <table class="memname">
77
+ <tr>
78
+ <td class="memname">bool Passenger::SpawnException::isHTML </td>
79
+ <td>(</td>
80
+ <td class="paramname"></td>
81
+ <td>&nbsp;)&nbsp;</td>
82
+ <td> const<code> [inline]</code></td>
83
+ </tr>
84
+ </table>
85
+ </div>
86
+ <div class="memdoc">
87
+
88
+ <p>Whether the error page content is HTML. </p>
89
+ <dl class="pre"><dt><b>Precondition:</b></dt><dd><a class="el" href="classPassenger_1_1SpawnException.html#ae65dc272e183fd9e5637a4091cc6bbf4" title="Check whether an error page is available.">hasErrorPage()</a> </dd></dl>
90
+
69
91
  </div>
70
92
  </div>
71
93
  <hr/>The documentation for this class was generated from the following file:<ul>
@@ -30,20 +30,20 @@
30
30
  <h1>Class Index</h1><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_H">H</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a></div>
31
31
  <table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
32
32
  <tr><td><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;A&nbsp;&nbsp;</div></td></tr></table>
33
- </td><td><a class="el" href="classPassenger_1_1ConfigurationException.html">ConfigurationException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1FileNotFoundException.html">FileNotFoundException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</div></td></tr></table>
34
- </td><td><a class="el" href="classPassenger_1_1Session.html">Session</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classPassenger_1_1AbstractSpawnManager.html">AbstractSpawnManager</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
35
- </td><td><a class="el" href="classPassenger_1_1FileSystemException.html">FileSystemException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structPassenger_1_1PoolOptions.html">PoolOptions</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1SpawnException.html">SpawnException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classAgentWatcher.html">AgentWatcher</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1DirectoryMapper.html">DirectoryMapper</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;H&nbsp;&nbsp;</div></td></tr></table>
36
- </td><td><a class="el" href="classPassenger_1_1Process.html">Process</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1SpawnManager.html">SpawnManager</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classPassenger_1_1ArgumentException.html">ArgumentException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html">MessageServer::DisconnectEventBroadcastGuard</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1MessageServer_1_1Handler.html">MessageServer::Handler</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</div></td></tr></table>
37
- </td><td><a class="el" href="classPassenger_1_1StandardSession.html">StandardSession</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classPassenger_1_1ArrayMessage.html">ArrayMessage</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;E&nbsp;&nbsp;</div></td></tr></table>
38
- </td><td><a class="el" href="structPassenger_1_1StaticString_1_1Hash.html">StaticString::Hash</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1RandomGenerator.html">RandomGenerator</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1StaticString.html">StaticString</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;B&nbsp;&nbsp;</div></td></tr></table>
39
- </td><td><a class="el" href="classPassenger_1_1EOFException.html">EOFException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classHooks.html">Hooks</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1RuntimeException.html">RuntimeException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1SystemException.html">SystemException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classPassenger_1_1BufferedUpload.html">BufferedUpload</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1EventedClient.html">EventedClient</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1HttpStatusExtractor.html">HttpStatusExtractor</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
40
- </td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
41
- </td></tr><tr><td><a class="el" href="classPassenger_1_1BusyException.html">BusyException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1EventedMessageServer.html">EventedMessageServer</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
42
- </td><td><a class="el" href="classPassenger_1_1ScalarMessage.html">ScalarMessage</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1TimeoutException.html">TimeoutException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
43
- </td><td><a class="el" href="classPassenger_1_1EventedServer.html">EventedServer</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1IOException.html">IOException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html">ScgiRequestParser</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1TimeRetrievalException.html">TimeRetrievalException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classClient.html">Client</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1EventFd.html">EventFd</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;M&nbsp;&nbsp;</div></td></tr></table>
44
- </td><td><a class="el" href="classPassenger_1_1SecurityException.html">SecurityException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;U&nbsp;&nbsp;</div></td></tr></table>
45
- </td></tr><tr><td><a class="el" href="classPassenger_1_1MessageServer_1_1ClientContext.html">MessageServer::ClientContext</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;F&nbsp;&nbsp;</div></td></tr></table>
46
- </td><td><a class="el" href="classPassenger_1_1MessageChannel.html">MessageChannel</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classServer.html">Server</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1Uint16Message.html">Uint16Message</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classPassenger_1_1MessageServer_1_1CommonClientContext.html">MessageServer::CommonClientContext</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1FileDescriptor.html">FileDescriptor</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1MessageServer.html">MessageServer</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classServerInstanceDirToucher.html">ServerInstanceDirToucher</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1Uint32Message.html">Uint32Message</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr></table><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_H">H</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a></div>
33
+ </td><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
34
+ </td><td><a class="el" href="classPassenger_1_1FileSystemException.html">FileSystemException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1Process.html">Process</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1Session.html">Session</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classPassenger_1_1AbstractSpawnManager.html">AbstractSpawnManager</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1DirectoryMapper.html">DirectoryMapper</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;H&nbsp;&nbsp;</div></td></tr></table>
35
+ </td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</div></td></tr></table>
36
+ </td><td><a class="el" href="classPassenger_1_1SpawnException.html">SpawnException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classAgentWatcher.html">AgentWatcher</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html">MessageServer::DisconnectEventBroadcastGuard</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1MessageServer_1_1Handler.html">MessageServer::Handler</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1RandomGenerator.html">RandomGenerator</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1SpawnManager.html">SpawnManager</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classPassenger_1_1ArgumentException.html">ArgumentException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;E&nbsp;&nbsp;</div></td></tr></table>
37
+ </td><td><a class="el" href="structPassenger_1_1StaticString_1_1Hash.html">StaticString::Hash</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1ResourceLocator.html">ResourceLocator</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1StandardSession.html">StandardSession</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classPassenger_1_1ArrayMessage.html">ArrayMessage</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1EOFException.html">EOFException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classHooks.html">Hooks</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1RuntimeException.html">RuntimeException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1StaticString.html">StaticString</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;B&nbsp;&nbsp;</div></td></tr></table>
38
+ </td><td><a class="el" href="classPassenger_1_1EventedClient.html">EventedClient</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1HttpStatusExtractor.html">HttpStatusExtractor</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
39
+ </td><td><a class="el" href="classPassenger_1_1SystemException.html">SystemException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classPassenger_1_1BufferedUpload.html">BufferedUpload</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1EventedMessageServer.html">EventedMessageServer</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
40
+ </td><td><a class="el" href="classPassenger_1_1SafeLibev.html">SafeLibev</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;T&nbsp;&nbsp;</div></td></tr></table>
41
+ </td></tr><tr><td><a class="el" href="classPassenger_1_1BusyException.html">BusyException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1EventedServer.html">EventedServer</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1IOException.html">IOException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1ScalarMessage.html">ScalarMessage</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1TimeoutException.html">TimeoutException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
42
+ </td><td><a class="el" href="classPassenger_1_1EventFd.html">EventFd</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;M&nbsp;&nbsp;</div></td></tr></table>
43
+ </td><td><a class="el" href="classPassenger_1_1ScgiRequestParser.html">ScgiRequestParser</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1TimeRetrievalException.html">TimeRetrievalException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classClient.html">Client</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;F&nbsp;&nbsp;</div></td></tr></table>
44
+ </td><td><a class="el" href="classPassenger_1_1MessageChannel.html">MessageChannel</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1SecurityException.html">SecurityException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;U&nbsp;&nbsp;</div></td></tr></table>
45
+ </td></tr><tr><td><a class="el" href="classPassenger_1_1MessageServer_1_1ClientContext.html">MessageServer::ClientContext</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1FileDescriptor.html">FileDescriptor</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1MessageServer.html">MessageServer</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classServer.html">Server</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1Uint16Message.html">Uint16Message</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classPassenger_1_1MessageServer_1_1CommonClientContext.html">MessageServer::CommonClientContext</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1FileDescriptorPair.html">FileDescriptorPair</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</div></td></tr></table>
46
+ </td><td><a class="el" href="classServerInstanceDirToucher.html">ServerInstanceDirToucher</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1Uint32Message.html">Uint32Message</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classPassenger_1_1ConfigurationException.html">ConfigurationException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classPassenger_1_1FileNotFoundException.html">FileNotFoundException</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structPassenger_1_1PoolOptions.html">PoolOptions</a> (<a class="el" href="namespacePassenger.html">Passenger</a>)&nbsp;&nbsp;&nbsp;</td></tr></table><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_H">H</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_T">T</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a></div>
47
47
  </div>
48
48
  <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
49
49
  <a href="http://www.doxygen.org/index.html">
@@ -47,6 +47,7 @@
47
47
  <tr><td class="indexkey"><b>FileDescriptor.h</b> <a href="FileDescriptor_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
48
48
  <tr><td class="indexkey"><b>Hooks.h</b> <a href="Hooks_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
49
49
  <tr><td class="indexkey"><b>HttpStatusExtractor.h</b> <a href="HttpStatusExtractor_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
50
+ <tr><td class="indexkey"><b>IniFile.h</b> <a href="IniFile_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
50
51
  <tr><td class="indexkey"><b>Logging.h</b> <a href="Logging_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
51
52
  <tr><td class="indexkey"><b>MessageChannel.h</b> <a href="MessageChannel_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
52
53
  <tr><td class="indexkey"><b>MessageClient.h</b> <a href="MessageClient_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
@@ -57,6 +58,7 @@
57
58
  <tr><td class="indexkey"><b>Process.h</b> <a href="Process_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
58
59
  <tr><td class="indexkey"><b>RandomGenerator.h</b> <a href="RandomGenerator_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
59
60
  <tr><td class="indexkey"><b>ResourceLocator.h</b> <a href="ResourceLocator_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
61
+ <tr><td class="indexkey"><b>SafeLibev.h</b> <a href="SafeLibev_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
60
62
  <tr><td class="indexkey"><b>ScgiRequestParser.h</b> <a href="ScgiRequestParser_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
61
63
  <tr><td class="indexkey"><b>ServerInstanceDir.h</b> <a href="ServerInstanceDir_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
62
64
  <tr><td class="indexkey"><b>Session.h</b> <a href="Session_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
@@ -77,12 +77,15 @@ Here is a list of all documented class members with links to the class documenta
77
77
  : <a class="el" href="classPassenger_1_1MessageServer.html#ac7d708f90b3a1b1ae5e7b215c688c95e">Passenger::MessageServer</a>
78
78
  </li>
79
79
  <li>close()
80
- : <a class="el" href="classPassenger_1_1FileDescriptor.html#ad7c1a99531181878cbab74a7400c5432">Passenger::FileDescriptor</a>
80
+ : <a class="el" href="classPassenger_1_1FileDescriptor.html#a02062f3cfb689b32781e11114c0abe5b">Passenger::FileDescriptor</a>
81
81
  , <a class="el" href="classPassenger_1_1MessageChannel.html#a06309e208fc5e10642a2e9bbe0f351eb">Passenger::MessageChannel</a>
82
82
  </li>
83
83
  <li>closeStream()
84
- : <a class="el" href="classPassenger_1_1Session.html#a7ab85388f15388cb8e65873d1ad310a5">Passenger::Session</a>
85
- , <a class="el" href="classPassenger_1_1StandardSession.html#af5cdfa78db1fca6303ccd43ac5126b6b">Passenger::StandardSession</a>
84
+ : <a class="el" href="classPassenger_1_1StandardSession.html#af5cdfa78db1fca6303ccd43ac5126b6b">Passenger::StandardSession</a>
85
+ , <a class="el" href="classPassenger_1_1Session.html#a7ab85388f15388cb8e65873d1ad310a5">Passenger::Session</a>
86
+ </li>
87
+ <li>closeWrite()
88
+ : <a class="el" href="classPassenger_1_1EventedClient.html#a9161e34ddc473c00fe4df8fdb1d1baef">Passenger::EventedClient</a>
86
89
  </li>
87
90
  <li>code()
88
91
  : <a class="el" href="classPassenger_1_1SystemException.html#aee7a6672bf79b72a4c3ee70c57d6a47c">Passenger::SystemException</a>