passenger 2.0.6 → 2.1.2

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 (497) hide show
  1. data/DEVELOPERS.TXT +10 -4
  2. data/LICENSE +1 -1
  3. data/NEWS +0 -0
  4. data/Rakefile +183 -117
  5. data/benchmark/dispatcher.rb +5 -9
  6. data/bin/passenger-install-apache2-module +52 -18
  7. data/bin/passenger-memory-stats +67 -13
  8. data/bin/passenger-spawn-server +8 -4
  9. data/bin/passenger-status +21 -46
  10. data/bin/passenger-stress-test +5 -5
  11. data/debian/postinst +1 -1
  12. data/doc/ApplicationPool algorithm.txt +180 -128
  13. data/doc/Architectural overview.html +1 -778
  14. data/doc/Security of user switching support.html +1 -643
  15. data/doc/Users guide Apache.html +3127 -0
  16. data/doc/Users guide Nginx.html +1458 -0
  17. data/doc/Users guide.html +1404 -467
  18. data/doc/Users guide.txt +843 -105
  19. data/doc/cxxapi/ApplicationPoolServer_8h-source.html +751 -641
  20. data/doc/cxxapi/ApplicationPool_8h-source.html +168 -171
  21. data/doc/cxxapi/Application_8h-source.html +494 -394
  22. data/doc/cxxapi/Bucket_8h-source.html +21 -15
  23. data/doc/cxxapi/CachedFileStat_8h-source.html +191 -0
  24. data/doc/cxxapi/Configuration_8h-source.html +311 -149
  25. data/doc/cxxapi/DirectoryMapper_8h-source.html +309 -0
  26. data/doc/cxxapi/DummySpawnManager_8h-source.html +3 -4
  27. data/doc/cxxapi/Exceptions_8h-source.html +182 -165
  28. data/doc/cxxapi/FileChecker_8h-source.html +130 -0
  29. data/doc/cxxapi/Hooks_8h-source.html +2 -3
  30. data/doc/cxxapi/Logging_8h-source.html +92 -89
  31. data/doc/cxxapi/MessageChannel_8h-source.html +585 -477
  32. data/doc/cxxapi/PoolOptions_8h-source.html +305 -0
  33. data/doc/cxxapi/SpawnManager_8h-source.html +515 -540
  34. data/doc/cxxapi/StandardApplicationPool_8h-source.html +779 -679
  35. data/doc/cxxapi/SystemTime_8h-source.html +104 -0
  36. data/doc/cxxapi/Utils_8h-source.html +331 -227
  37. data/doc/cxxapi/annotated.html +6 -7
  38. data/doc/cxxapi/classClient-members.html +1 -2
  39. data/doc/cxxapi/classClient.html +1 -2
  40. data/doc/cxxapi/classHooks-members.html +5 -2
  41. data/doc/cxxapi/classHooks.html +112 -2
  42. data/doc/cxxapi/classPassenger_1_1Application-members.html +2 -3
  43. data/doc/cxxapi/classPassenger_1_1Application.html +8 -9
  44. data/doc/cxxapi/classPassenger_1_1ApplicationPool-members.html +4 -4
  45. data/doc/cxxapi/classPassenger_1_1ApplicationPool.html +42 -81
  46. data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer-members.html +1 -2
  47. data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer.html +3 -4
  48. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.png +0 -0
  49. data/doc/cxxapi/classPassenger_1_1Application_1_1Session-members.html +3 -2
  50. data/doc/cxxapi/classPassenger_1_1Application_1_1Session.html +74 -3
  51. data/doc/cxxapi/classPassenger_1_1BusyException-members.html +1 -2
  52. data/doc/cxxapi/classPassenger_1_1BusyException.html +2 -3
  53. data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +1 -2
  54. data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +2 -3
  55. data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +38 -0
  56. data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +256 -0
  57. data/doc/cxxapi/classPassenger_1_1DummySpawnManager-members.html +1 -2
  58. data/doc/cxxapi/classPassenger_1_1DummySpawnManager.html +2 -3
  59. data/doc/cxxapi/{classPassenger_1_1Thread-members.html → classPassenger_1_1FileChecker-members.html} +4 -5
  60. data/doc/cxxapi/classPassenger_1_1FileChecker.html +121 -0
  61. data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +1 -2
  62. data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +2 -3
  63. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
  64. data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +2 -3
  65. data/doc/cxxapi/classPassenger_1_1FileSystemException.html +2 -3
  66. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.png +0 -0
  67. data/doc/cxxapi/classPassenger_1_1IOException-members.html +1 -2
  68. data/doc/cxxapi/classPassenger_1_1IOException.html +2 -3
  69. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
  70. data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +5 -2
  71. data/doc/cxxapi/classPassenger_1_1MessageChannel.html +155 -5
  72. data/doc/cxxapi/{classboost_1_1this__thread_1_1enable__syscall__interruption-members.html → classPassenger_1_1RuntimeException-members.html} +2 -3
  73. data/doc/cxxapi/{classboost_1_1this__thread_1_1enable__syscall__interruption.html → classPassenger_1_1RuntimeException.html} +10 -8
  74. data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +1 -2
  75. data/doc/cxxapi/classPassenger_1_1SpawnException.html +2 -3
  76. data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +2 -3
  77. data/doc/cxxapi/classPassenger_1_1SpawnManager.html +15 -56
  78. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool-members.html +5 -4
  79. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool.html +20 -81
  80. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.png +0 -0
  81. data/doc/cxxapi/classPassenger_1_1SystemException-members.html +2 -3
  82. data/doc/cxxapi/classPassenger_1_1SystemException.html +9 -10
  83. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
  84. data/doc/cxxapi/{classboost_1_1this__thread_1_1disable__syscall__interruption-members.html → classPassenger_1_1SystemTime-members.html} +5 -3
  85. data/doc/cxxapi/classPassenger_1_1SystemTime.html +86 -0
  86. data/doc/cxxapi/classPassenger_1_1TempFile-members.html +2 -3
  87. data/doc/cxxapi/classPassenger_1_1TempFile.html +17 -9
  88. data/doc/cxxapi/definitions_8h-source.html +1 -2
  89. data/doc/cxxapi/files.html +6 -3
  90. data/doc/cxxapi/functions.html +98 -35
  91. data/doc/cxxapi/functions_func.html +60 -32
  92. data/doc/cxxapi/functions_type.html +1 -2
  93. data/doc/cxxapi/functions_vars.html +27 -2
  94. data/doc/cxxapi/graph_legend.html +1 -2
  95. data/doc/cxxapi/graph_legend.png +0 -0
  96. data/doc/cxxapi/group__Configuration.html +3 -4
  97. data/doc/cxxapi/group__Configuration.png +0 -0
  98. data/doc/cxxapi/group__Core.html +3 -4
  99. data/doc/cxxapi/group__Core.png +0 -0
  100. data/doc/cxxapi/group__Exceptions.html +4 -2
  101. data/doc/cxxapi/group__Hooks.html +1 -6
  102. data/doc/cxxapi/group__Hooks.png +0 -0
  103. data/doc/cxxapi/group__Support.html +259 -36
  104. data/doc/cxxapi/hierarchy.html +6 -7
  105. data/doc/cxxapi/inherit__graph__0.map +1 -1
  106. data/doc/cxxapi/inherit__graph__0.md5 +1 -1
  107. data/doc/cxxapi/inherit__graph__0.png +0 -0
  108. data/doc/cxxapi/inherit__graph__1.map +1 -1
  109. data/doc/cxxapi/inherit__graph__1.md5 +1 -1
  110. data/doc/cxxapi/inherit__graph__1.png +0 -0
  111. data/doc/cxxapi/inherit__graph__10.map +1 -1
  112. data/doc/cxxapi/inherit__graph__10.md5 +1 -1
  113. data/doc/cxxapi/inherit__graph__10.png +0 -0
  114. data/doc/cxxapi/inherit__graph__11.map +1 -1
  115. data/doc/cxxapi/inherit__graph__11.md5 +1 -1
  116. data/doc/cxxapi/inherit__graph__11.png +0 -0
  117. data/doc/cxxapi/inherit__graph__12.map +2 -1
  118. data/doc/cxxapi/inherit__graph__12.md5 +1 -1
  119. data/doc/cxxapi/inherit__graph__12.png +0 -0
  120. data/doc/cxxapi/inherit__graph__13.map +1 -1
  121. data/doc/cxxapi/inherit__graph__13.md5 +1 -1
  122. data/doc/cxxapi/inherit__graph__13.png +0 -0
  123. data/doc/cxxapi/inherit__graph__14.map +1 -2
  124. data/doc/cxxapi/inherit__graph__14.md5 +1 -1
  125. data/doc/cxxapi/inherit__graph__14.png +0 -0
  126. data/doc/cxxapi/inherit__graph__15.map +1 -1
  127. data/doc/cxxapi/inherit__graph__15.md5 +1 -1
  128. data/doc/cxxapi/inherit__graph__15.png +0 -0
  129. data/doc/cxxapi/inherit__graph__16.map +1 -1
  130. data/doc/cxxapi/inherit__graph__16.md5 +1 -1
  131. data/doc/cxxapi/inherit__graph__16.png +0 -0
  132. data/doc/cxxapi/inherit__graph__17.png +0 -0
  133. data/doc/cxxapi/inherit__graph__18.png +0 -0
  134. data/doc/cxxapi/inherit__graph__19.png +0 -0
  135. data/doc/cxxapi/inherit__graph__2.map +1 -1
  136. data/doc/cxxapi/inherit__graph__2.md5 +1 -1
  137. data/doc/cxxapi/inherit__graph__2.png +0 -0
  138. data/doc/cxxapi/inherit__graph__20.map +1 -1
  139. data/doc/cxxapi/inherit__graph__20.md5 +1 -1
  140. data/doc/cxxapi/inherit__graph__20.png +0 -0
  141. data/doc/cxxapi/inherit__graph__21.map +1 -1
  142. data/doc/cxxapi/inherit__graph__21.md5 +1 -1
  143. data/doc/cxxapi/inherit__graph__21.png +0 -0
  144. data/doc/cxxapi/inherit__graph__3.map +1 -1
  145. data/doc/cxxapi/inherit__graph__3.md5 +1 -1
  146. data/doc/cxxapi/inherit__graph__3.png +0 -0
  147. data/doc/cxxapi/inherit__graph__4.map +1 -1
  148. data/doc/cxxapi/inherit__graph__4.md5 +1 -1
  149. data/doc/cxxapi/inherit__graph__4.png +0 -0
  150. data/doc/cxxapi/inherit__graph__5.map +2 -1
  151. data/doc/cxxapi/inherit__graph__5.md5 +1 -1
  152. data/doc/cxxapi/inherit__graph__5.png +0 -0
  153. data/doc/cxxapi/inherit__graph__6.map +1 -1
  154. data/doc/cxxapi/inherit__graph__6.md5 +1 -1
  155. data/doc/cxxapi/inherit__graph__6.png +0 -0
  156. data/doc/cxxapi/inherit__graph__7.map +1 -1
  157. data/doc/cxxapi/inherit__graph__7.md5 +1 -1
  158. data/doc/cxxapi/inherit__graph__7.png +0 -0
  159. data/doc/cxxapi/inherit__graph__8.map +1 -1
  160. data/doc/cxxapi/inherit__graph__8.md5 +1 -1
  161. data/doc/cxxapi/inherit__graph__8.png +0 -0
  162. data/doc/cxxapi/inherit__graph__9.map +1 -2
  163. data/doc/cxxapi/inherit__graph__9.md5 +1 -1
  164. data/doc/cxxapi/inherit__graph__9.png +0 -0
  165. data/doc/cxxapi/inherits.html +30 -31
  166. data/doc/cxxapi/main.html +1 -2
  167. data/doc/cxxapi/modules.html +1 -2
  168. data/doc/cxxapi/structPassenger_1_1AnythingToString-members.html +1 -2
  169. data/doc/cxxapi/structPassenger_1_1AnythingToString.html +2 -3
  170. data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4-members.html +1 -2
  171. data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html +2 -3
  172. data/doc/cxxapi/structPassenger_1_1PoolOptions-members.html +49 -0
  173. data/doc/cxxapi/structPassenger_1_1PoolOptions.html +404 -0
  174. data/doc/cxxapi/tree.html +18 -20
  175. data/doc/images/conservative_spawning.png +0 -0
  176. data/doc/images/conservative_spawning.svg +248 -0
  177. data/doc/images/smart-lv2.png +0 -0
  178. data/doc/images/smart-lv2.svg +320 -0
  179. data/doc/rdoc/classes/ConditionVariable.html +68 -34
  180. data/doc/rdoc/classes/Exception.html +16 -16
  181. data/doc/rdoc/classes/GC.html +9 -9
  182. data/doc/rdoc/classes/IO.html +36 -17
  183. data/doc/rdoc/classes/PhusionPassenger.html +183 -0
  184. data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +511 -0
  185. data/doc/rdoc/classes/{Passenger → PhusionPassenger}/AbstractServer.html +285 -242
  186. data/doc/rdoc/classes/{Passenger → PhusionPassenger}/AbstractServer/ServerAlreadyStarted.html +3 -3
  187. data/doc/rdoc/classes/{Passenger → PhusionPassenger}/AbstractServer/ServerError.html +3 -3
  188. data/doc/rdoc/classes/{Passenger → PhusionPassenger}/AbstractServer/ServerNotStarted.html +3 -3
  189. data/doc/rdoc/classes/{Passenger → PhusionPassenger}/AbstractServer/UnknownMessage.html +3 -3
  190. data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +598 -0
  191. data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +140 -0
  192. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess.html +247 -0
  193. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess/Instance.html +138 -0
  194. data/doc/rdoc/classes/{Passenger → PhusionPassenger}/AppInitError.html +36 -19
  195. data/doc/rdoc/classes/{Passenger → PhusionPassenger}/Application.html +81 -96
  196. data/doc/rdoc/classes/{Passenger → PhusionPassenger}/ConsoleTextTemplate.html +18 -18
  197. data/doc/rdoc/classes/{Passenger → PhusionPassenger}/FrameworkInitError.html +20 -18
  198. data/doc/rdoc/classes/{Passenger → PhusionPassenger}/HTMLTemplate.html +18 -18
  199. data/doc/rdoc/classes/{Passenger → PhusionPassenger}/InitializationError.html +9 -9
  200. data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +92 -0
  201. data/doc/rdoc/classes/{Passenger → PhusionPassenger}/MessageChannel.html +93 -92
  202. data/doc/rdoc/classes/{Passenger → PhusionPassenger}/NativeSupport.html +55 -25
  203. data/doc/rdoc/classes/PhusionPassenger/Rack.html +91 -0
  204. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +185 -0
  205. data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +182 -0
  206. data/doc/rdoc/classes/PhusionPassenger/Railz.html +95 -0
  207. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner.html +424 -0
  208. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner/Error.html +98 -0
  209. data/doc/rdoc/classes/PhusionPassenger/Railz/CGIFixed.html +200 -0
  210. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner.html +444 -0
  211. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner/Error.html +98 -0
  212. data/doc/rdoc/classes/PhusionPassenger/Railz/RequestHandler.html +154 -0
  213. data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +408 -0
  214. data/doc/rdoc/classes/{Passenger → PhusionPassenger}/UnknownError.html +13 -13
  215. data/doc/rdoc/classes/PhusionPassenger/Utils.html +687 -0
  216. data/doc/rdoc/classes/{Passenger → PhusionPassenger}/VersionNotFound.html +8 -8
  217. data/doc/rdoc/classes/PhusionPassenger/WSGI.html +89 -0
  218. data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +188 -0
  219. data/doc/rdoc/classes/PlatformInfo.html +663 -159
  220. data/doc/rdoc/classes/RakeExtensions.html +4 -4
  221. data/doc/rdoc/classes/Signal.html +134 -0
  222. data/doc/rdoc/created.rid +1 -1
  223. data/doc/rdoc/files/DEVELOPERS_TXT.html +15 -10
  224. data/doc/rdoc/files/README.html +5 -7
  225. data/doc/rdoc/files/ext/{passenger → phusion_passenger}/native_support_c.html +2 -2
  226. data/doc/rdoc/files/lib/{passenger → phusion_passenger}/abstract_request_handler_rb.html +7 -9
  227. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +120 -0
  228. data/doc/rdoc/files/lib/{passenger → phusion_passenger}/abstract_server_rb.html +7 -10
  229. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/control_process_rb.html +99 -0
  230. data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +92 -0
  231. data/doc/rdoc/files/lib/{passenger → phusion_passenger}/application_rb.html +6 -8
  232. data/doc/rdoc/files/lib/{passenger → phusion_passenger}/console_text_template_rb.html +5 -7
  233. data/doc/rdoc/files/lib/{passenger → phusion_passenger}/constants_rb.html +4 -5
  234. data/doc/rdoc/files/lib/{passenger → phusion_passenger}/dependencies_rb.html +6 -8
  235. data/doc/rdoc/files/lib/phusion_passenger/events_rb.html +116 -0
  236. data/doc/rdoc/files/lib/{passenger → phusion_passenger}/exceptions_rb.html +5 -7
  237. data/doc/rdoc/files/lib/{passenger → phusion_passenger}/html_template_rb.html +5 -7
  238. data/doc/rdoc/files/lib/{passenger → phusion_passenger}/message_channel_rb.html +5 -7
  239. data/doc/rdoc/files/lib/{passenger → phusion_passenger}/platform_info_rb.html +6 -7
  240. data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +123 -0
  241. data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +117 -0
  242. data/doc/rdoc/files/lib/{passenger/utils_rb.html → phusion_passenger/railz/application_spawner_rb.html} +24 -17
  243. data/doc/rdoc/files/lib/phusion_passenger/railz/cgi_fixed_rb.html +126 -0
  244. data/doc/rdoc/files/lib/phusion_passenger/railz/framework_spawner_rb.html +139 -0
  245. data/doc/rdoc/files/lib/phusion_passenger/railz/request_handler_rb.html +118 -0
  246. data/doc/rdoc/files/lib/{passenger → phusion_passenger}/simple_benchmarking_rb.html +5 -7
  247. data/doc/rdoc/files/lib/{passenger → phusion_passenger}/spawn_manager_rb.html +40 -24
  248. data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +169 -0
  249. data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +120 -0
  250. data/doc/rdoc/files/lib/rake/extensions_rb.html +3 -4
  251. data/doc/rdoc/fr_class_index.html +37 -19
  252. data/doc/rdoc/fr_file_index.html +25 -14
  253. data/doc/rdoc/fr_method_index.html +145 -74
  254. data/ext/apache2/Application.h +145 -44
  255. data/ext/apache2/ApplicationPool.h +27 -29
  256. data/ext/apache2/ApplicationPoolServer.h +183 -72
  257. data/ext/apache2/ApplicationPoolServerExecutable.cpp +249 -42
  258. data/ext/apache2/Bucket.cpp +61 -9
  259. data/ext/apache2/Bucket.h +15 -8
  260. data/ext/apache2/CachedFileStat.cpp +114 -0
  261. data/ext/apache2/CachedFileStat.h +169 -0
  262. data/ext/apache2/Configuration.cpp +213 -22
  263. data/ext/apache2/Configuration.h +176 -13
  264. data/ext/apache2/DirectoryMapper.h +287 -0
  265. data/ext/apache2/Exceptions.h +30 -12
  266. data/ext/apache2/FileChecker.h +108 -0
  267. data/ext/apache2/Hooks.cpp +709 -493
  268. data/ext/apache2/LICENSE-CNRI.TXT +15 -0
  269. data/ext/apache2/Logging.h +26 -22
  270. data/ext/apache2/MessageChannel.h +124 -15
  271. data/ext/apache2/PoolOptions.h +283 -0
  272. data/ext/apache2/SpawnManager.h +75 -99
  273. data/ext/apache2/StandardApplicationPool.h +296 -195
  274. data/ext/apache2/SystemTime.cpp +28 -0
  275. data/ext/apache2/SystemTime.h +82 -0
  276. data/ext/apache2/Utils.cpp +172 -18
  277. data/ext/apache2/Utils.h +124 -19
  278. data/ext/boost/cstdint.hpp +4 -2
  279. data/ext/boost/current_function.hpp +67 -0
  280. data/ext/boost/detail/sp_counted_base.hpp +4 -4
  281. data/ext/boost/thread/exceptions.hpp +2 -1
  282. data/ext/boost/thread/pthread/thread.hpp +11 -3
  283. data/ext/boost/thread/pthread/thread_data.hpp +2 -1
  284. data/ext/oxt/backtrace.cpp +172 -0
  285. data/ext/oxt/backtrace.hpp +135 -0
  286. data/ext/oxt/detail/backtrace_disabled.hpp +39 -0
  287. data/ext/oxt/detail/backtrace_enabled.hpp +155 -0
  288. data/ext/oxt/detail/spin_lock_gcc_x86.hpp +82 -0
  289. data/ext/oxt/detail/spin_lock_portable.hpp +38 -0
  290. data/ext/oxt/detail/spin_lock_pthreads.hpp +97 -0
  291. data/ext/oxt/detail/tracable_exception_disabled.hpp +46 -0
  292. data/ext/oxt/detail/tracable_exception_enabled.hpp +48 -0
  293. data/ext/oxt/macros.hpp +58 -0
  294. data/ext/oxt/spin_lock.hpp +55 -0
  295. data/ext/{apache2/System.cpp → oxt/system_calls.cpp} +87 -52
  296. data/ext/oxt/system_calls.hpp +234 -0
  297. data/ext/oxt/thread.cpp +32 -0
  298. data/ext/oxt/thread.hpp +223 -0
  299. data/ext/oxt/tracable_exception.cpp +87 -0
  300. data/ext/oxt/tracable_exception.hpp +35 -0
  301. data/{lib/passenger/constants.rb → ext/phusion_passenger/extconf.rb} +14 -9
  302. data/ext/{passenger → phusion_passenger}/native_support.c +33 -6
  303. data/lib/{passenger → phusion_passenger}/abstract_request_handler.rb +209 -93
  304. data/lib/{passenger → phusion_passenger}/abstract_server.rb +23 -8
  305. data/lib/phusion_passenger/abstract_server_collection.rb +301 -0
  306. data/lib/phusion_passenger/admin_tools.rb +25 -0
  307. data/lib/phusion_passenger/admin_tools/control_process.rb +107 -0
  308. data/lib/{passenger → phusion_passenger}/application.rb +13 -16
  309. data/lib/{passenger → phusion_passenger}/console_text_template.rb +2 -2
  310. data/{ext/passenger/extconf.rb → lib/phusion_passenger/constants.rb} +5 -5
  311. data/lib/{passenger → phusion_passenger}/dependencies.rb +38 -32
  312. data/lib/phusion_passenger/events.rb +45 -0
  313. data/lib/{passenger → phusion_passenger}/exceptions.rb +12 -5
  314. data/lib/{passenger → phusion_passenger}/html_template.rb +2 -2
  315. data/lib/{passenger → phusion_passenger}/message_channel.rb +3 -2
  316. data/lib/phusion_passenger/platform_info.rb +500 -0
  317. data/lib/{passenger → phusion_passenger}/rack/application_spawner.rb +29 -22
  318. data/lib/{passenger → phusion_passenger}/rack/request_handler.rb +14 -9
  319. data/lib/{passenger → phusion_passenger}/railz/application_spawner.rb +94 -74
  320. data/lib/{passenger → phusion_passenger}/railz/cgi_fixed.rb +2 -2
  321. data/lib/{passenger → phusion_passenger}/railz/framework_spawner.rb +86 -98
  322. data/lib/{passenger → phusion_passenger}/railz/request_handler.rb +6 -6
  323. data/lib/{passenger → phusion_passenger}/simple_benchmarking.rb +0 -0
  324. data/lib/{passenger → phusion_passenger}/spawn_manager.rb +136 -128
  325. data/lib/{passenger → phusion_passenger}/templates/apache2_config_snippets.txt.erb +0 -0
  326. data/lib/{passenger → phusion_passenger}/templates/apache_must_be_compiled_with_compatible_mpm.txt.erb +0 -0
  327. data/lib/phusion_passenger/templates/app_exited_during_initialization.html.erb +38 -0
  328. data/lib/{passenger → phusion_passenger}/templates/app_init_error.html.erb +0 -0
  329. data/lib/{passenger → phusion_passenger}/templates/database_error.html.erb +0 -0
  330. data/lib/{passenger → phusion_passenger}/templates/deployment_example.txt.erb +1 -1
  331. data/lib/{passenger → phusion_passenger}/templates/error_layout.css +0 -0
  332. data/lib/{passenger → phusion_passenger}/templates/error_layout.html.erb +0 -0
  333. data/lib/{passenger → phusion_passenger}/templates/framework_init_error.html.erb +0 -0
  334. data/lib/{passenger → phusion_passenger}/templates/general_error.html.erb +0 -0
  335. data/lib/{passenger → phusion_passenger}/templates/invalid_app_root.html.erb +1 -1
  336. data/lib/{passenger → phusion_passenger}/templates/load_error.html.erb +0 -0
  337. data/lib/{passenger → phusion_passenger}/templates/no_write_permission_to_passenger_root.txt.erb +0 -0
  338. data/lib/{passenger → phusion_passenger}/templates/possible_solutions_for_compilation_and_installation_problems.txt.erb +0 -0
  339. data/lib/{passenger → phusion_passenger}/templates/run_installer_as_root.txt.erb +0 -0
  340. data/lib/{passenger → phusion_passenger}/templates/version_not_found.html.erb +0 -0
  341. data/lib/{passenger → phusion_passenger}/templates/welcome.txt.erb +0 -0
  342. data/lib/{passenger → phusion_passenger}/utils.rb +210 -44
  343. data/lib/{passenger → phusion_passenger}/wsgi/application_spawner.rb +18 -15
  344. data/lib/{passenger → phusion_passenger}/wsgi/request_handler.py +7 -1
  345. data/man/passenger-memory-stats.8 +1 -1
  346. data/misc/render_error_pages.rb +1 -1
  347. data/test/ApplicationPoolServerTest.cpp +0 -28
  348. data/test/ApplicationPoolServer_ApplicationPoolTest.cpp +4 -0
  349. data/test/ApplicationPoolTest.cpp +307 -69
  350. data/test/CachedFileStatTest.cpp +262 -0
  351. data/test/FileCheckerTest.cpp +79 -0
  352. data/test/MessageChannelTest.cpp +3 -3
  353. data/test/PoolOptionsTest.cpp +37 -0
  354. data/test/SpawnManagerTest.cpp +4 -4
  355. data/test/StandardApplicationPoolTest.cpp +4 -0
  356. data/test/SystemTimeTest.cpp +37 -0
  357. data/test/UtilsTest.cpp +137 -0
  358. data/test/integration_tests.rb +270 -23
  359. data/test/oxt/backtrace_test.cpp +128 -0
  360. data/test/oxt/oxt_test_main.cpp +25 -0
  361. data/test/oxt/syscall_interruption_test.cpp +50 -0
  362. data/test/ruby/abstract_request_handler_spec.rb +83 -0
  363. data/test/ruby/abstract_server_collection_spec.rb +246 -0
  364. data/test/ruby/application_spec.rb +3 -3
  365. data/test/ruby/message_channel_spec.rb +2 -2
  366. data/test/ruby/rack/application_spawner_spec.rb +3 -5
  367. data/test/ruby/rails/application_spawner_spec.rb +54 -15
  368. data/test/ruby/rails/framework_spawner_spec.rb +6 -8
  369. data/test/ruby/rails/minimal_spawner_spec.rb +29 -0
  370. data/test/ruby/rails/spawner_error_handling_spec.rb +1 -1
  371. data/test/ruby/rails/spawner_privilege_lowering_spec.rb +3 -3
  372. data/test/ruby/spawn_manager_spec.rb +23 -12
  373. data/test/ruby/utils_spec.rb +36 -2
  374. data/test/ruby/wsgi/application_spawner_spec.rb +47 -0
  375. data/test/stub/apache2/httpd.conf.erb +3 -5
  376. data/test/stub/message_channel.rb +2 -2
  377. data/test/stub/message_channel_2.rb +2 -2
  378. data/test/stub/message_channel_3.rb +3 -3
  379. data/test/stub/minimal-railsapp/README +0 -0
  380. data/test/stub/minimal-railsapp/config/application.rb +0 -0
  381. data/test/stub/minimal-railsapp/config/environment.rb +0 -0
  382. data/test/stub/minimal-railsapp/vendor/rails/actionmailer/lib/action_mailer.rb +0 -0
  383. data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_controller.rb +0 -0
  384. data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_pack.rb +0 -0
  385. data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_view.rb +0 -0
  386. data/test/stub/minimal-railsapp/vendor/rails/activerecord/lib/active_record.rb +0 -0
  387. data/test/stub/minimal-railsapp/vendor/rails/activeresource/lib/active_resource.rb +0 -0
  388. data/test/stub/minimal-railsapp/vendor/rails/activesupport/lib/active_support.rb +0 -0
  389. data/test/stub/minimal-railsapp/vendor/rails/activesupport/lib/active_support/whiny_nil.rb +0 -0
  390. data/test/stub/minimal-railsapp/vendor/rails/railties/lib/dispatcher.rb +0 -0
  391. data/test/stub/minimal-railsapp/vendor/rails/railties/lib/initializer.rb +0 -0
  392. data/test/stub/minimal-railsapp/vendor/rails/railties/lib/ruby_version_check.rb +0 -0
  393. data/test/stub/rails_apps/foobar/app/controllers/foo_controller.rb +8 -0
  394. data/test/stub/rails_apps/foobar/config/environments/development.rb +1 -2
  395. data/test/stub/rails_apps/mycook/app/controllers/welcome_controller.rb +21 -1
  396. data/test/stub/rails_apps/mycook/sites/some.site/public/uploads.html +26 -0
  397. data/test/stub/rails_apps/mycook/sites/some.site/public/welcome/cached.html +26 -0
  398. data/test/stub/railsapp/app/controllers/application.rb +0 -0
  399. data/test/stub/railsapp/app/controllers/bar_controller_1.rb +0 -0
  400. data/test/stub/railsapp/app/controllers/bar_controller_2.rb +1 -1
  401. data/test/stub/railsapp/app/controllers/foo_controller.rb +4 -0
  402. data/test/stub/railsapp/app/helpers/application_helper.rb +0 -0
  403. data/test/stub/railsapp/config/boot.rb +0 -0
  404. data/test/stub/railsapp/config/database.yml +0 -0
  405. data/test/stub/railsapp/config/environment.rb +0 -0
  406. data/test/stub/railsapp/config/environments/development.rb +0 -0
  407. data/test/stub/railsapp/config/environments/production.rb +0 -0
  408. data/test/stub/railsapp/config/initializers/inflections.rb +0 -0
  409. data/test/stub/railsapp/config/initializers/mime_types.rb +0 -0
  410. data/test/stub/railsapp/config/routes.rb +0 -0
  411. data/test/stub/railsapp/public/useless.txt +0 -0
  412. data/test/stub/spawn_server.rb +3 -4
  413. data/test/stub/wsgi/passenger_wsgi.pyc +0 -0
  414. data/test/support/apache2_controller.rb +57 -7
  415. data/test/support/tut.h +15 -0
  416. data/vendor/README +12 -0
  417. data/vendor/README_FOR_PACKAGERS +1 -0
  418. data/vendor/rack-0.9.1/AUTHORS +8 -0
  419. data/vendor/rack-0.9.1/COPYING +18 -0
  420. data/vendor/rack-0.9.1/ChangeLog +1423 -0
  421. data/vendor/rack-0.9.1/KNOWN-ISSUES +18 -0
  422. data/vendor/rack-0.9.1/README +306 -0
  423. data/vendor/rack-0.9.1/Rakefile +188 -0
  424. data/vendor/rack-0.9.1/SPEC +129 -0
  425. data/vendor/rack-0.9.1/lib/rack.rb +86 -0
  426. data/vendor/rack-0.9.1/lib/rack/adapter/camping.rb +22 -0
  427. data/vendor/rack-0.9.1/lib/rack/auth/abstract/handler.rb +28 -0
  428. data/vendor/rack-0.9.1/lib/rack/auth/abstract/request.rb +37 -0
  429. data/vendor/rack-0.9.1/lib/rack/auth/basic.rb +58 -0
  430. data/vendor/rack-0.9.1/lib/rack/auth/digest/md5.rb +124 -0
  431. data/vendor/rack-0.9.1/lib/rack/auth/digest/nonce.rb +51 -0
  432. data/vendor/rack-0.9.1/lib/rack/auth/digest/params.rb +55 -0
  433. data/vendor/rack-0.9.1/lib/rack/auth/digest/request.rb +40 -0
  434. data/vendor/rack-0.9.1/lib/rack/auth/openid.rb +438 -0
  435. data/vendor/rack-0.9.1/lib/rack/builder.rb +67 -0
  436. data/vendor/rack-0.9.1/lib/rack/cascade.rb +36 -0
  437. data/vendor/rack-0.9.1/lib/rack/commonlogger.rb +61 -0
  438. data/vendor/rack-0.9.1/lib/rack/conditionalget.rb +43 -0
  439. data/vendor/rack-0.9.1/lib/rack/content_length.rb +25 -0
  440. data/vendor/rack-0.9.1/lib/rack/deflater.rb +87 -0
  441. data/vendor/rack-0.9.1/lib/rack/directory.rb +150 -0
  442. data/vendor/rack-0.9.1/lib/rack/file.rb +85 -0
  443. data/vendor/rack-0.9.1/lib/rack/handler.rb +48 -0
  444. data/vendor/rack-0.9.1/lib/rack/handler/cgi.rb +57 -0
  445. data/vendor/rack-0.9.1/lib/rack/handler/evented_mongrel.rb +8 -0
  446. data/vendor/rack-0.9.1/lib/rack/handler/fastcgi.rb +86 -0
  447. data/vendor/rack-0.9.1/lib/rack/handler/lsws.rb +52 -0
  448. data/vendor/rack-0.9.1/lib/rack/handler/mongrel.rb +82 -0
  449. data/vendor/rack-0.9.1/lib/rack/handler/scgi.rb +57 -0
  450. data/vendor/rack-0.9.1/lib/rack/handler/swiftiplied_mongrel.rb +8 -0
  451. data/vendor/rack-0.9.1/lib/rack/handler/thin.rb +15 -0
  452. data/vendor/rack-0.9.1/lib/rack/handler/webrick.rb +61 -0
  453. data/vendor/rack-0.9.1/lib/rack/head.rb +19 -0
  454. data/vendor/rack-0.9.1/lib/rack/lint.rb +465 -0
  455. data/vendor/rack-0.9.1/lib/rack/lobster.rb +65 -0
  456. data/vendor/rack-0.9.1/lib/rack/methodoverride.rb +27 -0
  457. data/vendor/rack-0.9.1/lib/rack/mime.rb +204 -0
  458. data/vendor/rack-0.9.1/lib/rack/mock.rb +160 -0
  459. data/vendor/rack-0.9.1/lib/rack/recursive.rb +57 -0
  460. data/vendor/rack-0.9.1/lib/rack/reloader.rb +64 -0
  461. data/vendor/rack-0.9.1/lib/rack/request.rb +218 -0
  462. data/vendor/rack-0.9.1/lib/rack/response.rb +171 -0
  463. data/vendor/rack-0.9.1/lib/rack/session/abstract/id.rb +153 -0
  464. data/vendor/rack-0.9.1/lib/rack/session/cookie.rb +89 -0
  465. data/vendor/rack-0.9.1/lib/rack/session/memcache.rb +97 -0
  466. data/vendor/rack-0.9.1/lib/rack/session/pool.rb +73 -0
  467. data/vendor/rack-0.9.1/lib/rack/showexceptions.rb +348 -0
  468. data/vendor/rack-0.9.1/lib/rack/showstatus.rb +106 -0
  469. data/vendor/rack-0.9.1/lib/rack/static.rb +38 -0
  470. data/vendor/rack-0.9.1/lib/rack/urlmap.rb +48 -0
  471. data/vendor/rack-0.9.1/lib/rack/utils.rb +347 -0
  472. metadata +1197 -1055
  473. data/doc/cxxapi/System_8h-source.html +0 -251
  474. data/doc/cxxapi/classDirectoryMapper-members.html +0 -38
  475. data/doc/cxxapi/classDirectoryMapper.html +0 -203
  476. data/doc/cxxapi/classPassenger_1_1Thread.html +0 -100
  477. data/doc/cxxapi/classboost_1_1this__thread_1_1disable__syscall__interruption.html +0 -46
  478. data/doc/cxxapi/classboost_1_1this__thread_1_1restore__syscall__interruption-members.html +0 -33
  479. data/doc/cxxapi/classboost_1_1this__thread_1_1restore__syscall__interruption.html +0 -44
  480. data/doc/cxxapi/namespacePassenger.html +0 -208
  481. data/doc/cxxapi/namespacePassenger_1_1InterruptableCalls.html +0 -43
  482. data/doc/cxxapi/namespacemembers.html +0 -70
  483. data/doc/cxxapi/namespacemembers_func.html +0 -66
  484. data/doc/cxxapi/namespacemembers_type.html +0 -46
  485. data/doc/cxxapi/namespaces.html +0 -35
  486. data/doc/rdoc/classes/Passenger.html +0 -136
  487. data/doc/rdoc/classes/Passenger/AbstractRequestHandler.html +0 -402
  488. data/doc/rdoc/classes/Passenger/SpawnManager.html +0 -379
  489. data/doc/rdoc/classes/Passenger/Utils.html +0 -578
  490. data/ext/apache2/System.h +0 -228
  491. data/lib/passenger/platform_info.rb +0 -302
  492. data/lib/passenger/templates/app_exited_during_initialization.html.erb +0 -19
  493. data/test/stub/apache2/httpd.conf +0 -75
  494. data/test/stub/rails_apps/foobar/config/environments/test.rb +0 -22
  495. data/test/stub/rails_apps/mycook/config/environments/test.rb +0 -22
  496. data/test/stub/railsapp/config/environments/test.rb +0 -22
  497. data/test/stub/railsapp2/config/environments/test.rb +0 -22
@@ -4,7 +4,7 @@
4
4
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
5
  <html>
6
6
  <head>
7
- <title>Class: Passenger::HTMLTemplate</title>
7
+ <title>Class: PhusionPassenger::HTMLTemplate</title>
8
8
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
9
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
10
10
 
@@ -51,13 +51,13 @@
51
51
 
52
52
  <body>
53
53
  <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
- <td class="file-title"><span class="file-title-prefix">Class</span><br />Passenger::HTMLTemplate</td>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />PhusionPassenger::HTMLTemplate</td>
55
55
  <td align="right">
56
56
  <table cellspacing="0" cellpadding="2">
57
57
  <tr valign="top">
58
58
  <td>In:</td>
59
59
  <td>
60
- <a href="../../files/lib/passenger/html_template_rb.html">lib/passenger/html_template.rb</a>
60
+ <a href="../../files/lib/phusion_passenger/html_template_rb.html">lib/phusion_passenger/html_template.rb</a>
61
61
  </td>
62
62
  </tr>
63
63
  <tr>
@@ -84,9 +84,9 @@ A convenience utility class for rendering our error pages.
84
84
 
85
85
  <div class="sectiontitle">Methods</div>
86
86
  <ul>
87
- <li><a href="#M000034">[]=</a></li>
88
- <li><a href="#M000033">new</a></li>
89
- <li><a href="#M000035">result</a></li>
87
+ <li><a href="#M000108">[]=</a></li>
88
+ <li><a href="#M000107">new</a></li>
89
+ <li><a href="#M000109">result</a></li>
90
90
  </ul>
91
91
 
92
92
  <div class="sectiontitle">Included Modules</div>
@@ -114,13 +114,13 @@ A convenience utility class for rendering our error pages.
114
114
  <div class="sectiontitle">Public Class methods</div>
115
115
  <div class="method">
116
116
  <div class="title">
117
- <a name="M000033"></a><b>new</b>(template_name, options = {})
117
+ <a name="M000107"></a><b>new</b>(template_name, options = {})
118
118
  </div>
119
119
  <div class="sourcecode">
120
- <p class="source-link">[ <a href="javascript:toggleSource('M000033_source')" id="l_M000033_source">show source</a> ]</p>
121
- <div id="M000033_source" class="dyn-source">
120
+ <p class="source-link">[ <a href="javascript:toggleSource('M000107_source')" id="l_M000107_source">show source</a> ]</p>
121
+ <div id="M000107_source" class="dyn-source">
122
122
  <pre>
123
- <span class="ruby-comment cmt"># File lib/passenger/html_template.rb, line 28</span>
123
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/html_template.rb, line 28</span>
124
124
  28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">template_name</span>, <span class="ruby-identifier">options</span> = {})
125
125
  29: <span class="ruby-ivar">@buffer</span> = <span class="ruby-value str">''</span>
126
126
  30: <span class="ruby-ivar">@template</span> = <span class="ruby-constant">ERB</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-node">&quot;#{TEMPLATE_DIR}/#{template_name}.html.erb&quot;</span>),
@@ -136,13 +136,13 @@ A convenience utility class for rendering our error pages.
136
136
  <div class="sectiontitle">Public Instance methods</div>
137
137
  <div class="method">
138
138
  <div class="title">
139
- <a name="M000034"></a><b>[]=</b>(name, value)
139
+ <a name="M000108"></a><b>[]=</b>(name, value)
140
140
  </div>
141
141
  <div class="sourcecode">
142
- <p class="source-link">[ <a href="javascript:toggleSource('M000034_source')" id="l_M000034_source">show source</a> ]</p>
143
- <div id="M000034_source" class="dyn-source">
142
+ <p class="source-link">[ <a href="javascript:toggleSource('M000108_source')" id="l_M000108_source">show source</a> ]</p>
143
+ <div id="M000108_source" class="dyn-source">
144
144
  <pre>
145
- <span class="ruby-comment cmt"># File lib/passenger/html_template.rb, line 37</span>
145
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/html_template.rb, line 37</span>
146
146
  37: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span>)
147
147
  38: <span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-node">&quot;@#{name}&quot;</span>.<span class="ruby-identifier">to_sym</span>, <span class="ruby-identifier">value</span>)
148
148
  39: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>
@@ -153,13 +153,13 @@ A convenience utility class for rendering our error pages.
153
153
  </div>
154
154
  <div class="method">
155
155
  <div class="title">
156
- <a name="M000035"></a><b>result</b>()
156
+ <a name="M000109"></a><b>result</b>()
157
157
  </div>
158
158
  <div class="sourcecode">
159
- <p class="source-link">[ <a href="javascript:toggleSource('M000035_source')" id="l_M000035_source">show source</a> ]</p>
160
- <div id="M000035_source" class="dyn-source">
159
+ <p class="source-link">[ <a href="javascript:toggleSource('M000109_source')" id="l_M000109_source">show source</a> ]</p>
160
+ <div id="M000109_source" class="dyn-source">
161
161
  <pre>
162
- <span class="ruby-comment cmt"># File lib/passenger/html_template.rb, line 42</span>
162
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/html_template.rb, line 42</span>
163
163
  42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">result</span>
164
164
  43: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@template</span>.<span class="ruby-identifier">result</span>(<span class="ruby-identifier">binding</span>)
165
165
  44: <span class="ruby-keyword kw">end</span>
@@ -4,7 +4,7 @@
4
4
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
5
  <html>
6
6
  <head>
7
- <title>Class: Passenger::InitializationError</title>
7
+ <title>Class: PhusionPassenger::InitializationError</title>
8
8
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
9
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
10
10
 
@@ -51,13 +51,13 @@
51
51
 
52
52
  <body>
53
53
  <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
- <td class="file-title"><span class="file-title-prefix">Class</span><br />Passenger::InitializationError</td>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />PhusionPassenger::InitializationError</td>
55
55
  <td align="right">
56
56
  <table cellspacing="0" cellpadding="2">
57
57
  <tr valign="top">
58
58
  <td>In:</td>
59
59
  <td>
60
- <a href="../../files/lib/passenger/exceptions_rb.html">lib/passenger/exceptions.rb</a>
60
+ <a href="../../files/lib/phusion_passenger/exceptions_rb.html">lib/phusion_passenger/exceptions.rb</a>
61
61
  </td>
62
62
  </tr>
63
63
  <tr>
@@ -86,7 +86,7 @@ the failure when initializing something.
86
86
 
87
87
  <div class="sectiontitle">Methods</div>
88
88
  <ul>
89
- <li><a href="#M000031">new</a></li>
89
+ <li><a href="#M000090">new</a></li>
90
90
  </ul>
91
91
 
92
92
 
@@ -110,21 +110,21 @@ The exception that caused initialization to fail. This may be nil.
110
110
  <div class="sectiontitle">Public Class methods</div>
111
111
  <div class="method">
112
112
  <div class="title">
113
- <a name="M000031"></a><b>new</b>(message, child_exception = nil)
113
+ <a name="M000090"></a><b>new</b>(message, child_exception = nil)
114
114
  </div>
115
115
  <div class="description">
116
116
  <p>
117
- Create a <a href="InitializationError.html#M000031">new</a> <a
117
+ Create a <a href="InitializationError.html#M000090">new</a> <a
118
118
  href="InitializationError.html">InitializationError</a>. <tt>message</tt>
119
119
  is the error message, and <tt>child_exception</tt> is the exception that
120
120
  caused initialization to fail.
121
121
  </p>
122
122
  </div>
123
123
  <div class="sourcecode">
124
- <p class="source-link">[ <a href="javascript:toggleSource('M000031_source')" id="l_M000031_source">show source</a> ]</p>
125
- <div id="M000031_source" class="dyn-source">
124
+ <p class="source-link">[ <a href="javascript:toggleSource('M000090_source')" id="l_M000090_source">show source</a> ]</p>
125
+ <div id="M000090_source" class="dyn-source">
126
126
  <pre>
127
- <span class="ruby-comment cmt"># File lib/passenger/exceptions.rb, line 43</span>
127
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/exceptions.rb, line 43</span>
128
128
  43: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">message</span>, <span class="ruby-identifier">child_exception</span> = <span class="ruby-keyword kw">nil</span>)
129
129
  44: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">message</span>)
130
130
  45: <span class="ruby-ivar">@child_exception</span> = <span class="ruby-identifier">child_exception</span>
@@ -0,0 +1,92 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html>
6
+ <head>
7
+ <title>Class: PhusionPassenger::InvalidPath</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "show source"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "hide source"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />PhusionPassenger::InvalidPath</td>
55
+ <td align="right">
56
+ <table cellspacing="0" cellpadding="2">
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../../files/lib/phusion_passenger/exceptions_rb.html">lib/phusion_passenger/exceptions.rb</a>
61
+ </td>
62
+ </tr>
63
+ <tr>
64
+ <td>Parent:</td>
65
+ <td>
66
+ StandardError
67
+ </td>
68
+ </tr>
69
+ </table>
70
+ </td>
71
+ </tr>
72
+ </table>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+ <div id="content">
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+ </div>
88
+
89
+ </div>
90
+
91
+ </body>
92
+ </html>
@@ -4,7 +4,7 @@
4
4
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
5
  <html>
6
6
  <head>
7
- <title>Class: Passenger::MessageChannel</title>
7
+ <title>Class: PhusionPassenger::MessageChannel</title>
8
8
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
9
  <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
10
10
 
@@ -51,13 +51,13 @@
51
51
 
52
52
  <body>
53
53
  <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
- <td class="file-title"><span class="file-title-prefix">Class</span><br />Passenger::MessageChannel</td>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />PhusionPassenger::MessageChannel</td>
55
55
  <td align="right">
56
56
  <table cellspacing="0" cellpadding="2">
57
57
  <tr valign="top">
58
58
  <td>In:</td>
59
59
  <td>
60
- <a href="../../files/lib/passenger/message_channel_rb.html">lib/passenger/message_channel.rb</a>
60
+ <a href="../../files/lib/phusion_passenger/message_channel_rb.html">lib/phusion_passenger/message_channel.rb</a>
61
61
  </td>
62
62
  </tr>
63
63
  <tr>
@@ -134,8 +134,8 @@ The life time of a <a href="MessageChannel.html">MessageChannel</a> is
134
134
  independent from that of the wrapped <a href="../IO.html">IO</a> object. If
135
135
  a <a href="MessageChannel.html">MessageChannel</a> object is destroyed, the
136
136
  underlying <a href="../IO.html">IO</a> object is not automatically closed.
137
- Call <a href="MessageChannel.html#M000074">close</a>() if you want to <a
138
- href="MessageChannel.html#M000074">close</a> the underlying <a
137
+ Call <a href="MessageChannel.html#M000145">close</a>() if you want to <a
138
+ href="MessageChannel.html#M000145">close</a> the underlying <a
139
139
  href="../IO.html">IO</a> object.
140
140
  </p>
141
141
  <p>
@@ -154,15 +154,15 @@ things in the wrong order then bad things will happen.
154
154
 
155
155
  <div class="sectiontitle">Methods</div>
156
156
  <ul>
157
- <li><a href="#M000074">close</a></li>
158
- <li><a href="#M000073">fileno</a></li>
159
- <li><a href="#M000066">new</a></li>
160
- <li><a href="#M000067">read</a></li>
161
- <li><a href="#M000068">read_scalar</a></li>
162
- <li><a href="#M000071">recv_io</a></li>
163
- <li><a href="#M000072">send_io</a></li>
164
- <li><a href="#M000069">write</a></li>
165
- <li><a href="#M000070">write_scalar</a></li>
157
+ <li><a href="#M000145">close</a></li>
158
+ <li><a href="#M000144">fileno</a></li>
159
+ <li><a href="#M000137">new</a></li>
160
+ <li><a href="#M000138">read</a></li>
161
+ <li><a href="#M000139">read_scalar</a></li>
162
+ <li><a href="#M000142">recv_io</a></li>
163
+ <li><a href="#M000143">send_io</a></li>
164
+ <li><a href="#M000140">write</a></li>
165
+ <li><a href="#M000141">write_scalar</a></li>
166
166
  </ul>
167
167
 
168
168
 
@@ -186,20 +186,20 @@ The wrapped <a href="../IO.html">IO</a> object.
186
186
  <div class="sectiontitle">Public Class methods</div>
187
187
  <div class="method">
188
188
  <div class="title">
189
- <a name="M000066"></a><b>new</b>(io)
189
+ <a name="M000137"></a><b>new</b>(io)
190
190
  </div>
191
191
  <div class="description">
192
192
  <p>
193
- Create a <a href="MessageChannel.html#M000066">new</a> <a
193
+ Create a <a href="MessageChannel.html#M000137">new</a> <a
194
194
  href="MessageChannel.html">MessageChannel</a> by wrapping the given <a
195
195
  href="../IO.html">IO</a> object.
196
196
  </p>
197
197
  </div>
198
198
  <div class="sourcecode">
199
- <p class="source-link">[ <a href="javascript:toggleSource('M000066_source')" id="l_M000066_source">show source</a> ]</p>
200
- <div id="M000066_source" class="dyn-source">
199
+ <p class="source-link">[ <a href="javascript:toggleSource('M000137_source')" id="l_M000137_source">show source</a> ]</p>
200
+ <div id="M000137_source" class="dyn-source">
201
201
  <pre>
202
- <span class="ruby-comment cmt"># File lib/passenger/message_channel.rb, line 77</span>
202
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/message_channel.rb, line 77</span>
203
203
  77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">io</span>)
204
204
  78: <span class="ruby-ivar">@io</span> = <span class="ruby-identifier">io</span>
205
205
  79: <span class="ruby-keyword kw">end</span>
@@ -210,7 +210,7 @@ href="../IO.html">IO</a> object.
210
210
  <div class="sectiontitle">Public Instance methods</div>
211
211
  <div class="method">
212
212
  <div class="title">
213
- <a name="M000074"></a><b>close</b>()
213
+ <a name="M000145"></a><b>close</b>()
214
214
  </div>
215
215
  <div class="description">
216
216
  <p>
@@ -219,20 +219,20 @@ SystemCallError or IOError when something goes wrong.
219
219
  </p>
220
220
  </div>
221
221
  <div class="sourcecode">
222
- <p class="source-link">[ <a href="javascript:toggleSource('M000074_source')" id="l_M000074_source">show source</a> ]</p>
223
- <div id="M000074_source" class="dyn-source">
222
+ <p class="source-link">[ <a href="javascript:toggleSource('M000145_source')" id="l_M000145_source">show source</a> ]</p>
223
+ <div id="M000145_source" class="dyn-source">
224
224
  <pre>
225
- <span class="ruby-comment cmt"># File lib/passenger/message_channel.rb, line 210</span>
226
- 210: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
227
- 211: <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">close</span>
228
- 212: <span class="ruby-keyword kw">end</span>
225
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/message_channel.rb, line 211</span>
226
+ 211: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
227
+ 212: <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">close</span>
228
+ 213: <span class="ruby-keyword kw">end</span>
229
229
  </pre>
230
230
  </div>
231
231
  </div>
232
232
  </div>
233
233
  <div class="method">
234
234
  <div class="title">
235
- <a name="M000073"></a><b>fileno</b>()
235
+ <a name="M000144"></a><b>fileno</b>()
236
236
  </div>
237
237
  <div class="description">
238
238
  <p>
@@ -241,20 +241,20 @@ object.
241
241
  </p>
242
242
  </div>
243
243
  <div class="sourcecode">
244
- <p class="source-link">[ <a href="javascript:toggleSource('M000073_source')" id="l_M000073_source">show source</a> ]</p>
245
- <div id="M000073_source" class="dyn-source">
244
+ <p class="source-link">[ <a href="javascript:toggleSource('M000144_source')" id="l_M000144_source">show source</a> ]</p>
245
+ <div id="M000144_source" class="dyn-source">
246
246
  <pre>
247
- <span class="ruby-comment cmt"># File lib/passenger/message_channel.rb, line 204</span>
248
- 204: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fileno</span>
249
- 205: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">fileno</span>
250
- 206: <span class="ruby-keyword kw">end</span>
247
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/message_channel.rb, line 205</span>
248
+ 205: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fileno</span>
249
+ 206: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">fileno</span>
250
+ 207: <span class="ruby-keyword kw">end</span>
251
251
  </pre>
252
252
  </div>
253
253
  </div>
254
254
  </div>
255
255
  <div class="method">
256
256
  <div class="title">
257
- <a name="M000067"></a><b>read</b>()
257
+ <a name="M000138"></a><b>read</b>()
258
258
  </div>
259
259
  <div class="description">
260
260
  <p>
@@ -267,10 +267,10 @@ wrong.
267
267
  </p>
268
268
  </div>
269
269
  <div class="sourcecode">
270
- <p class="source-link">[ <a href="javascript:toggleSource('M000067_source')" id="l_M000067_source">show source</a> ]</p>
271
- <div id="M000067_source" class="dyn-source">
270
+ <p class="source-link">[ <a href="javascript:toggleSource('M000138_source')" id="l_M000138_source">show source</a> ]</p>
271
+ <div id="M000138_source" class="dyn-source">
272
272
  <pre>
273
- <span class="ruby-comment cmt"># File lib/passenger/message_channel.rb, line 87</span>
273
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/message_channel.rb, line 87</span>
274
274
  87: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span>
275
275
  88: <span class="ruby-identifier">buffer</span> = <span class="ruby-value str">''</span>
276
276
  89: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&lt;</span> <span class="ruby-constant">HEADER_SIZE</span>
@@ -307,12 +307,12 @@ wrong.
307
307
  </div>
308
308
  <div class="method">
309
309
  <div class="title">
310
- <a name="M000068"></a><b>read_scalar</b>(max_size = nil)
310
+ <a name="M000139"></a><b>read_scalar</b>(max_size = nil)
311
311
  </div>
312
312
  <div class="description">
313
313
  <p>
314
314
  Read a scalar message from the underlying <a href="../IO.html">IO</a>
315
- object. Returns the <a href="MessageChannel.html#M000067">read</a> message,
315
+ object. Returns the <a href="MessageChannel.html#M000138">read</a> message,
316
316
  or nil on end-of-stream.
317
317
  </p>
318
318
  <p>
@@ -326,10 +326,10 @@ larger than <tt>max_size</tt>, then a SecurityError will be raised.
326
326
  </p>
327
327
  </div>
328
328
  <div class="sourcecode">
329
- <p class="source-link">[ <a href="javascript:toggleSource('M000068_source')" id="l_M000068_source">show source</a> ]</p>
330
- <div id="M000068_source" class="dyn-source">
329
+ <p class="source-link">[ <a href="javascript:toggleSource('M000139_source')" id="l_M000139_source">show source</a> ]</p>
330
+ <div id="M000139_source" class="dyn-source">
331
331
  <pre>
332
- <span class="ruby-comment cmt"># File lib/passenger/message_channel.rb, line 127</span>
332
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/message_channel.rb, line 127</span>
333
333
  127: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_scalar</span>(<span class="ruby-identifier">max_size</span> = <span class="ruby-keyword kw">nil</span>)
334
334
  128: <span class="ruby-identifier">buffer</span> = <span class="ruby-value str">''</span>
335
335
  129: <span class="ruby-identifier">temp</span> = <span class="ruby-value str">''</span>
@@ -346,28 +346,29 @@ larger than <tt>max_size</tt>, then a SecurityError will be raised.
346
346
  140: <span class="ruby-keyword kw">end</span>
347
347
  141: <span class="ruby-identifier">buffer</span> = <span class="ruby-value str">''</span>
348
348
  142: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">size</span>
349
- 143: <span class="ruby-identifier">buffer</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">readpartial</span>(<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">size</span>, <span class="ruby-identifier">temp</span>)
350
- 144: <span class="ruby-keyword kw">end</span>
351
- 145: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">buffer</span>
352
- 146: <span class="ruby-keyword kw">end</span>
353
- 147: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">ECONNRESET</span>
354
- 148: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
355
- 149: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">EOFError</span>
356
- 150: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
357
- 151: <span class="ruby-keyword kw">end</span>
349
+ 143: <span class="ruby-identifier">temp</span> = <span class="ruby-value str">''</span> <span class="ruby-comment cmt"># JRuby doesn't clear the buffer. TODO: remove this when JRuby has been fixed.</span>
350
+ 144: <span class="ruby-identifier">buffer</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">readpartial</span>(<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">size</span>, <span class="ruby-identifier">temp</span>)
351
+ 145: <span class="ruby-keyword kw">end</span>
352
+ 146: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">buffer</span>
353
+ 147: <span class="ruby-keyword kw">end</span>
354
+ 148: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">ECONNRESET</span>
355
+ 149: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
356
+ 150: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">EOFError</span>
357
+ 151: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
358
+ 152: <span class="ruby-keyword kw">end</span>
358
359
  </pre>
359
360
  </div>
360
361
  </div>
361
362
  </div>
362
363
  <div class="method">
363
364
  <div class="title">
364
- <a name="M000071"></a><b>recv_io</b>()
365
+ <a name="M000142"></a><b>recv_io</b>()
365
366
  </div>
366
367
  <div class="description">
367
368
  <p>
368
369
  Receive an <a href="../IO.html">IO</a> object (a file descriptor) from the
369
370
  channel. The other side must have sent an <a href="../IO.html">IO</a>
370
- object by calling <a href="MessageChannel.html#M000072">send_io</a>(). Note
371
+ object by calling <a href="MessageChannel.html#M000143">send_io</a>(). Note
371
372
  that this only works on Unix sockets.
372
373
  </p>
373
374
  <p>
@@ -376,26 +377,26 @@ wrong.
376
377
  </p>
377
378
  </div>
378
379
  <div class="sourcecode">
379
- <p class="source-link">[ <a href="javascript:toggleSource('M000071_source')" id="l_M000071_source">show source</a> ]</p>
380
- <div id="M000071_source" class="dyn-source">
380
+ <p class="source-link">[ <a href="javascript:toggleSource('M000142_source')" id="l_M000142_source">show source</a> ]</p>
381
+ <div id="M000142_source" class="dyn-source">
381
382
  <pre>
382
- <span class="ruby-comment cmt"># File lib/passenger/message_channel.rb, line 189</span>
383
- 189: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">recv_io</span>
384
- 190: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">recv_io</span>
385
- 191: <span class="ruby-keyword kw">end</span>
383
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/message_channel.rb, line 190</span>
384
+ 190: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">recv_io</span>
385
+ 191: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">recv_io</span>
386
+ 192: <span class="ruby-keyword kw">end</span>
386
387
  </pre>
387
388
  </div>
388
389
  </div>
389
390
  </div>
390
391
  <div class="method">
391
392
  <div class="title">
392
- <a name="M000072"></a><b>send_io</b>(io)
393
+ <a name="M000143"></a><b>send_io</b>(io)
393
394
  </div>
394
395
  <div class="description">
395
396
  <p>
396
397
  Send an <a href="../IO.html">IO</a> object (a file descriptor) over the
397
398
  channel. The other side must receive the <a href="../IO.html">IO</a> object
398
- by calling <a href="MessageChannel.html#M000071">recv_io</a>(). Note that
399
+ by calling <a href="MessageChannel.html#M000142">recv_io</a>(). Note that
399
400
  this only works on Unix sockets.
400
401
  </p>
401
402
  <p>
@@ -404,20 +405,20 @@ wrong.
404
405
  </p>
405
406
  </div>
406
407
  <div class="sourcecode">
407
- <p class="source-link">[ <a href="javascript:toggleSource('M000072_source')" id="l_M000072_source">show source</a> ]</p>
408
- <div id="M000072_source" class="dyn-source">
408
+ <p class="source-link">[ <a href="javascript:toggleSource('M000143_source')" id="l_M000143_source">show source</a> ]</p>
409
+ <div id="M000143_source" class="dyn-source">
409
410
  <pre>
410
- <span class="ruby-comment cmt"># File lib/passenger/message_channel.rb, line 199</span>
411
- 199: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_io</span>(<span class="ruby-identifier">io</span>)
412
- 200: <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">send_io</span>(<span class="ruby-identifier">io</span>)
413
- 201: <span class="ruby-keyword kw">end</span>
411
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/message_channel.rb, line 200</span>
412
+ 200: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_io</span>(<span class="ruby-identifier">io</span>)
413
+ 201: <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">send_io</span>(<span class="ruby-identifier">io</span>)
414
+ 202: <span class="ruby-keyword kw">end</span>
414
415
  </pre>
415
416
  </div>
416
417
  </div>
417
418
  </div>
418
419
  <div class="method">
419
420
  <div class="title">
420
- <a name="M000069"></a><b>write</b>(name, *args)
421
+ <a name="M000140"></a><b>write</b>(name, *args)
421
422
  </div>
422
423
  <div class="description">
423
424
  <p>
@@ -432,30 +433,30 @@ wrong.
432
433
  </p>
433
434
  </div>
434
435
  <div class="sourcecode">
435
- <p class="source-link">[ <a href="javascript:toggleSource('M000069_source')" id="l_M000069_source">show source</a> ]</p>
436
- <div id="M000069_source" class="dyn-source">
436
+ <p class="source-link">[ <a href="javascript:toggleSource('M000140_source')" id="l_M000140_source">show source</a> ]</p>
437
+ <div id="M000140_source" class="dyn-source">
437
438
  <pre>
438
- <span class="ruby-comment cmt"># File lib/passenger/message_channel.rb, line 160</span>
439
- 160: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">name</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
440
- 161: <span class="ruby-identifier">check_argument</span>(<span class="ruby-identifier">name</span>)
441
- 162: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
442
- 163: <span class="ruby-identifier">check_argument</span>(<span class="ruby-identifier">arg</span>)
443
- 164: <span class="ruby-keyword kw">end</span>
444
- 165:
445
- 166: <span class="ruby-identifier">message</span> = <span class="ruby-node">&quot;#{name}#{DELIMITER}&quot;</span>
446
- 167: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
447
- 168: <span class="ruby-identifier">message</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">DELIMITER</span>
448
- 169: <span class="ruby-keyword kw">end</span>
449
- 170: <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">write</span>([<span class="ruby-identifier">message</span>.<span class="ruby-identifier">size</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'n'</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">message</span>)
450
- 171: <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">flush</span>
451
- 172: <span class="ruby-keyword kw">end</span>
439
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/message_channel.rb, line 161</span>
440
+ 161: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">name</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
441
+ 162: <span class="ruby-identifier">check_argument</span>(<span class="ruby-identifier">name</span>)
442
+ 163: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
443
+ 164: <span class="ruby-identifier">check_argument</span>(<span class="ruby-identifier">arg</span>)
444
+ 165: <span class="ruby-keyword kw">end</span>
445
+ 166:
446
+ 167: <span class="ruby-identifier">message</span> = <span class="ruby-node">&quot;#{name}#{DELIMITER}&quot;</span>
447
+ 168: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
448
+ 169: <span class="ruby-identifier">message</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">DELIMITER</span>
449
+ 170: <span class="ruby-keyword kw">end</span>
450
+ 171: <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">write</span>([<span class="ruby-identifier">message</span>.<span class="ruby-identifier">size</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'n'</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">message</span>)
451
+ 172: <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">flush</span>
452
+ 173: <span class="ruby-keyword kw">end</span>
452
453
  </pre>
453
454
  </div>
454
455
  </div>
455
456
  </div>
456
457
  <div class="method">
457
458
  <div class="title">
458
- <a name="M000070"></a><b>write_scalar</b>(data)
459
+ <a name="M000141"></a><b>write_scalar</b>(data)
459
460
  </div>
460
461
  <div class="description">
461
462
  <p>
@@ -468,14 +469,14 @@ wrong.
468
469
  </p>
469
470
  </div>
470
471
  <div class="sourcecode">
471
- <p class="source-link">[ <a href="javascript:toggleSource('M000070_source')" id="l_M000070_source">show source</a> ]</p>
472
- <div id="M000070_source" class="dyn-source">
472
+ <p class="source-link">[ <a href="javascript:toggleSource('M000141_source')" id="l_M000141_source">show source</a> ]</p>
473
+ <div id="M000141_source" class="dyn-source">
473
474
  <pre>
474
- <span class="ruby-comment cmt"># File lib/passenger/message_channel.rb, line 178</span>
475
- 178: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write_scalar</span>(<span class="ruby-identifier">data</span>)
476
- 179: <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">write</span>([<span class="ruby-identifier">data</span>.<span class="ruby-identifier">size</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'N'</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">data</span>)
477
- 180: <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">flush</span>
478
- 181: <span class="ruby-keyword kw">end</span>
475
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/message_channel.rb, line 179</span>
476
+ 179: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write_scalar</span>(<span class="ruby-identifier">data</span>)
477
+ 180: <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">write</span>([<span class="ruby-identifier">data</span>.<span class="ruby-identifier">size</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'N'</span>) <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">data</span>)
478
+ 181: <span class="ruby-ivar">@io</span>.<span class="ruby-identifier">flush</span>
479
+ 182: <span class="ruby-keyword kw">end</span>
479
480
  </pre>
480
481
  </div>
481
482
  </div>