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
@@ -1,100 +0,0 @@
1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
- <title>Passenger: Passenger::Thread Class Reference</title>
4
- <link href="doxygen.css" rel="stylesheet" type="text/css">
5
- <link href="tabs.css" rel="stylesheet" type="text/css">
6
- </head><body>
7
- <!-- Generated by Doxygen 1.5.5 -->
8
- <div class="navigation" id="top">
9
- <div class="tabs">
10
- <ul>
11
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
- <li><a href="modules.html"><span>Modules</span></a></li>
13
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
14
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
15
- <li><a href="files.html"><span>Files</span></a></li>
16
- </ul>
17
- </div>
18
- <div class="tabs">
19
- <ul>
20
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
21
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
22
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
23
- </ul>
24
- </div>
25
- <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="classPassenger_1_1Thread.html">Thread</a>
26
- </div>
27
- </div>
28
- <div class="contents">
29
- <h1>Passenger::Thread Class Reference</h1><!-- doxytag: class="Passenger::Thread" --><code>#include &lt;<a class="el" href="System_8h-source.html">System.h</a>&gt;</code>
30
- <p>
31
-
32
- <p>
33
- <a href="classPassenger_1_1Thread-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
34
- <a class="el" href="classPassenger_1_1Thread.html" title="Thread class with system call interruption support.">Thread</a> class with system call interruption support. <table border="0" cellpadding="0" cellspacing="0">
35
- <tr><td></td></tr>
36
- <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
37
- <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1Thread.html#2212f1aee683798318ec2bcd57550407">interrupt</a> ()</td></tr>
38
-
39
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interrupt the thread. <a href="#2212f1aee683798318ec2bcd57550407"></a><br></td></tr>
40
- <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1Thread.html#5bc65d2722d1425e574b3b8a97e60388">interruptAndJoin</a> ()</td></tr>
41
-
42
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Keep interrupting the thread until it's done, then join it. <a href="#5bc65d2722d1425e574b3b8a97e60388"></a><br></td></tr>
43
- </table>
44
- <hr><h2>Member Function Documentation</h2>
45
- <a class="anchor" name="2212f1aee683798318ec2bcd57550407"></a><!-- doxytag: member="Passenger::Thread::interrupt" ref="2212f1aee683798318ec2bcd57550407" args="()" -->
46
- <div class="memitem">
47
- <div class="memproto">
48
- <table class="memname">
49
- <tr>
50
- <td class="memname">void Passenger::Thread::interrupt </td>
51
- <td>(</td>
52
- <td class="paramname"> </td>
53
- <td>&nbsp;)&nbsp;</td>
54
- <td width="100%"><code> [inline]</code></td>
55
- </tr>
56
- </table>
57
- </div>
58
- <div class="memdoc">
59
-
60
- <p>
61
- Interrupt the thread.
62
- <p>
63
- This method behaves just like boost::thread::interrupt(), but will also respect the interruption points defined in <a class="el" href="namespacePassenger_1_1InterruptableCalls.html" title="System call and C library call wrappers with interruption support.">Passenger::InterruptableCalls</a>.<p>
64
- Note that an interruption request may get lost, depending on the current execution point of the thread. Thus, one should call this method in a loop, until a certain goal condition has been fulfilled. <a class="el" href="classPassenger_1_1Thread.html#5bc65d2722d1425e574b3b8a97e60388" title="Keep interrupting the thread until it&#39;s done, then join it.">interruptAndJoin()</a> is a convenience method that implements this pattern.
65
- </div>
66
- </div><p>
67
- <a class="anchor" name="5bc65d2722d1425e574b3b8a97e60388"></a><!-- doxytag: member="Passenger::Thread::interruptAndJoin" ref="5bc65d2722d1425e574b3b8a97e60388" args="()" -->
68
- <div class="memitem">
69
- <div class="memproto">
70
- <table class="memname">
71
- <tr>
72
- <td class="memname">void Passenger::Thread::interruptAndJoin </td>
73
- <td>(</td>
74
- <td class="paramname"> </td>
75
- <td>&nbsp;)&nbsp;</td>
76
- <td width="100%"><code> [inline]</code></td>
77
- </tr>
78
- </table>
79
- </div>
80
- <div class="memdoc">
81
-
82
- <p>
83
- Keep interrupting the thread until it's done, then join it.
84
- <p>
85
- <dl compact><dt><b>Exceptions:</b></dt><dd>
86
- <table border="0" cellspacing="2" cellpadding="0">
87
- <tr><td valign="top"></td><td valign="top"><em>boost::thread_interrupted</em>&nbsp;</td><td></td></tr>
88
- </table>
89
- </dl>
90
-
91
- </div>
92
- </div><p>
93
- <hr>The documentation for this class was generated from the following file:<ul>
94
- <li><a class="el" href="System_8h-source.html">System.h</a></ul>
95
- </div>
96
- <hr size="1"><address style="text-align: right;"><small>Generated on Mon Dec 15 15:27:25 2008 for Passenger by&nbsp;
97
- <a href="http://www.doxygen.org/index.html">
98
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
99
- </body>
100
- </html>
@@ -1,46 +0,0 @@
1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
- <title>Passenger: boost::this_thread::disable_syscall_interruption Class Reference</title>
4
- <link href="doxygen.css" rel="stylesheet" type="text/css">
5
- <link href="tabs.css" rel="stylesheet" type="text/css">
6
- </head><body>
7
- <!-- Generated by Doxygen 1.5.5 -->
8
- <div class="navigation" id="top">
9
- <div class="tabs">
10
- <ul>
11
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
- <li><a href="modules.html"><span>Modules</span></a></li>
13
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
14
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
15
- <li><a href="files.html"><span>Files</span></a></li>
16
- </ul>
17
- </div>
18
- <div class="tabs">
19
- <ul>
20
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
21
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
22
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
23
- </ul>
24
- </div>
25
- <div class="navpath"><b>boost</b>::<b>this_thread</b>::<a class="el" href="classboost_1_1this__thread_1_1disable__syscall__interruption.html">disable_syscall_interruption</a>
26
- </div>
27
- </div>
28
- <div class="contents">
29
- <h1>boost::this_thread::disable_syscall_interruption Class Reference</h1><!-- doxytag: class="boost::this_thread::disable_syscall_interruption" --><code>#include &lt;<a class="el" href="System_8h-source.html">System.h</a>&gt;</code>
30
- <p>
31
-
32
- <p>
33
- <a href="classboost_1_1this__thread_1_1disable__syscall__interruption-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
34
- Create this struct on the stack to temporarily disable system call interruption, until the object goes out of scope.
35
- <p>
36
- While system call interruption is disabled, the functions in InterruptableCalls will try until the return code is not EINTR. <table border="0" cellpadding="0" cellspacing="0">
37
- <tr><td></td></tr>
38
- </table>
39
- <hr>The documentation for this class was generated from the following file:<ul>
40
- <li><a class="el" href="System_8h-source.html">System.h</a></ul>
41
- </div>
42
- <hr size="1"><address style="text-align: right;"><small>Generated on Mon Dec 15 15:27:25 2008 for Passenger by&nbsp;
43
- <a href="http://www.doxygen.org/index.html">
44
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
45
- </body>
46
- </html>
@@ -1,33 +0,0 @@
1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
- <title>Passenger: Member List</title>
4
- <link href="doxygen.css" rel="stylesheet" type="text/css">
5
- <link href="tabs.css" rel="stylesheet" type="text/css">
6
- </head><body>
7
- <!-- Generated by Doxygen 1.5.5 -->
8
- <div class="navigation" id="top">
9
- <div class="tabs">
10
- <ul>
11
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
- <li><a href="modules.html"><span>Modules</span></a></li>
13
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
14
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
15
- <li><a href="files.html"><span>Files</span></a></li>
16
- </ul>
17
- </div>
18
- <div class="tabs">
19
- <ul>
20
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
21
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
22
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
23
- </ul>
24
- </div>
25
- </div>
26
- <div class="contents">
27
- <h1>boost::this_thread::restore_syscall_interruption Member List</h1>This is the complete list of members for <a class="el" href="classboost_1_1this__thread_1_1restore__syscall__interruption.html">boost::this_thread::restore_syscall_interruption</a>, including all inherited members.<p><table>
28
- </table></div>
29
- <hr size="1"><address style="text-align: right;"><small>Generated on Mon Dec 15 15:27:25 2008 for Passenger by&nbsp;
30
- <a href="http://www.doxygen.org/index.html">
31
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
32
- </body>
33
- </html>
@@ -1,44 +0,0 @@
1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
- <title>Passenger: boost::this_thread::restore_syscall_interruption Class Reference</title>
4
- <link href="doxygen.css" rel="stylesheet" type="text/css">
5
- <link href="tabs.css" rel="stylesheet" type="text/css">
6
- </head><body>
7
- <!-- Generated by Doxygen 1.5.5 -->
8
- <div class="navigation" id="top">
9
- <div class="tabs">
10
- <ul>
11
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
- <li><a href="modules.html"><span>Modules</span></a></li>
13
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
14
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
15
- <li><a href="files.html"><span>Files</span></a></li>
16
- </ul>
17
- </div>
18
- <div class="tabs">
19
- <ul>
20
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
21
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
22
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
23
- </ul>
24
- </div>
25
- <div class="navpath"><b>boost</b>::<b>this_thread</b>::<a class="el" href="classboost_1_1this__thread_1_1restore__syscall__interruption.html">restore_syscall_interruption</a>
26
- </div>
27
- </div>
28
- <div class="contents">
29
- <h1>boost::this_thread::restore_syscall_interruption Class Reference</h1><!-- doxytag: class="boost::this_thread::restore_syscall_interruption" --><code>#include &lt;<a class="el" href="System_8h-source.html">System.h</a>&gt;</code>
30
- <p>
31
-
32
- <p>
33
- <a href="classboost_1_1this__thread_1_1restore__syscall__interruption-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
34
- Creating an object of this class on the stack will restore the system call interruption state to what it was before. <table border="0" cellpadding="0" cellspacing="0">
35
- <tr><td></td></tr>
36
- </table>
37
- <hr>The documentation for this class was generated from the following file:<ul>
38
- <li><a class="el" href="System_8h-source.html">System.h</a></ul>
39
- </div>
40
- <hr size="1"><address style="text-align: right;"><small>Generated on Mon Dec 15 15:27:25 2008 for Passenger by&nbsp;
41
- <a href="http://www.doxygen.org/index.html">
42
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
43
- </body>
44
- </html>
@@ -1,208 +0,0 @@
1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
- <title>Passenger: Passenger Namespace Reference</title>
4
- <link href="doxygen.css" rel="stylesheet" type="text/css">
5
- <link href="tabs.css" rel="stylesheet" type="text/css">
6
- </head><body>
7
- <!-- Generated by Doxygen 1.5.5 -->
8
- <div class="navigation" id="top">
9
- <div class="tabs">
10
- <ul>
11
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
- <li><a href="modules.html"><span>Modules</span></a></li>
13
- <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
14
- <li><a href="annotated.html"><span>Classes</span></a></li>
15
- <li><a href="files.html"><span>Files</span></a></li>
16
- </ul>
17
- </div>
18
- <div class="tabs">
19
- <ul>
20
- <li><a href="namespaces.html"><span>Namespace List</span></a></li>
21
- <li><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
22
- </ul>
23
- </div>
24
- </div>
25
- <div class="contents">
26
- <h1>Passenger Namespace Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
27
- Support for interruption of blocking system calls and C library calls.
28
- <p>
29
- This file provides a framework for writing multithreading code that can be interrupted, even when blocked on system calls or C library calls.<p>
30
- One must first call Passenger::setupSysCallInterruptionSupport(). Then one may use the functions in <a class="el" href="namespacePassenger_1_1InterruptableCalls.html" title="System call and C library call wrappers with interruption support.">Passenger::InterruptableCalls</a> as drop-in replacements for system calls or C library functions. <a class="el" href="classPassenger_1_1Thread.html#2212f1aee683798318ec2bcd57550407" title="Interrupt the thread.">Thread::interrupt()</a> and <a class="el" href="classPassenger_1_1Thread.html#5bc65d2722d1425e574b3b8a97e60388" title="Keep interrupting the thread until it&#39;s done, then join it.">Thread::interruptAndJoin()</a> should be used for interrupting threads.<p>
31
- By default, interruptions are caught.
32
- <p>
33
-
34
- <p>
35
- <table border="0" cellpadding="0" cellspacing="0">
36
- <tr><td></td></tr>
37
- <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
38
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1Application.html">Application</a></td></tr>
39
-
40
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represents a single Ruby on Rails or Rack application instance. <a href="classPassenger_1_1Application.html#_details">More...</a><br></td></tr>
41
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ApplicationPool.html">ApplicationPool</a></td></tr>
42
-
43
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A persistent pool of Applications. <a href="classPassenger_1_1ApplicationPool.html#_details">More...</a><br></td></tr>
44
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ApplicationPoolServer.html">ApplicationPoolServer</a></td></tr>
45
-
46
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multi-process usage support for <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a>. <a href="classPassenger_1_1ApplicationPoolServer.html#_details">More...</a><br></td></tr>
47
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1DummySpawnManager.html">DummySpawnManager</a></td></tr>
48
-
49
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A dummy <a class="el" href="classPassenger_1_1SpawnManager.html" title="Spawning of Ruby on Rails/Rack application instances.">SpawnManager</a> replacement for testing/debugging purposes. <a href="classPassenger_1_1DummySpawnManager.html#_details">More...</a><br></td></tr>
50
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SystemException.html">SystemException</a></td></tr>
51
-
52
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represents an error returned by a system call or a standard library call. <a href="classPassenger_1_1SystemException.html#_details">More...</a><br></td></tr>
53
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1FileSystemException.html">FileSystemException</a></td></tr>
54
-
55
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A filesystem error, as returned by the operating system. <a href="classPassenger_1_1FileSystemException.html#_details">More...</a><br></td></tr>
56
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1IOException.html">IOException</a></td></tr>
57
-
58
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represents an error that occured during an I/O operation. <a href="classPassenger_1_1IOException.html#_details">More...</a><br></td></tr>
59
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1FileNotFoundException.html">FileNotFoundException</a></td></tr>
60
-
61
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thrown when a certain file cannot be found. <a href="classPassenger_1_1FileNotFoundException.html#_details">More...</a><br></td></tr>
62
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ConfigurationException.html">ConfigurationException</a></td></tr>
63
-
64
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thrown when an invalid configuration is given. <a href="classPassenger_1_1ConfigurationException.html#_details">More...</a><br></td></tr>
65
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SpawnException.html">SpawnException</a></td></tr>
66
-
67
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thrown when <a class="el" href="classPassenger_1_1SpawnManager.html" title="Spawning of Ruby on Rails/Rack application instances.">SpawnManager</a> or <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a> fails to spawn an application instance. <a href="classPassenger_1_1SpawnException.html#_details">More...</a><br></td></tr>
68
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1BusyException.html">BusyException</a></td></tr>
69
-
70
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The application pool is too busy and cannot fulfill a get() request. <a href="classPassenger_1_1BusyException.html#_details">More...</a><br></td></tr>
71
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1MessageChannel.html">MessageChannel</a></td></tr>
72
-
73
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience class for I/O operations on file descriptors. <a href="classPassenger_1_1MessageChannel.html#_details">More...</a><br></td></tr>
74
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SpawnManager.html">SpawnManager</a></td></tr>
75
-
76
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spawning of Ruby on Rails/Rack application instances. <a href="classPassenger_1_1SpawnManager.html#_details">More...</a><br></td></tr>
77
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardApplicationPool.html">StandardApplicationPool</a></td></tr>
78
-
79
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A standard implementation of <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a> for single-process environments. <a href="classPassenger_1_1StandardApplicationPool.html#_details">More...</a><br></td></tr>
80
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1Thread.html">Thread</a></td></tr>
81
-
82
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classPassenger_1_1Thread.html" title="Thread class with system call interruption support.">Thread</a> class with system call interruption support. <a href="classPassenger_1_1Thread.html#_details">More...</a><br></td></tr>
83
- <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1AnythingToString.html">AnythingToString</a></td></tr>
84
-
85
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used internally by <a class="el" href="group__Support.html#gf6fab368d70c18fdf16bf5a24f630407" title="Convert anything to a string.">toString()</a>. <a href="structPassenger_1_1AnythingToString.html#_details">More...</a><br></td></tr>
86
- <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html">Passenger::AnythingToString&lt; vector&lt; string &gt; &gt;</a></td></tr>
87
-
88
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used internally by <a class="el" href="group__Support.html#gf6fab368d70c18fdf16bf5a24f630407" title="Convert anything to a string.">toString()</a>. <a href="structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html#_details">More...</a><br></td></tr>
89
- <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1TempFile.html">TempFile</a></td></tr>
90
-
91
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represents a temporary file. <a href="classPassenger_1_1TempFile.html#_details">More...</a><br></td></tr>
92
- <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
93
- <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger_1_1InterruptableCalls.html">InterruptableCalls</a></td></tr>
94
-
95
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">System call and C library call wrappers with interruption support. <br></td></tr>
96
-
97
- <p>
98
- <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
99
- <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef shared_ptr&lt; <a class="el" href="classPassenger_1_1Application.html">Application</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#6a15fd5e8765802a0b8b077e15297e18">ApplicationPtr</a></td></tr>
100
-
101
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenient alias for <a class="el" href="classPassenger_1_1Application.html" title="Represents a single Ruby on Rails or Rack application instance.">Application</a> smart pointer. <a href="#6a15fd5e8765802a0b8b077e15297e18"></a><br></td></tr>
102
- <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef shared_ptr&lt; <a class="el" href="classPassenger_1_1SpawnManager.html">SpawnManager</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#6ab2d566ff87a2676c23d8aa40204587">SpawnManagerPtr</a></td></tr>
103
-
104
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenient alias for <a class="el" href="classPassenger_1_1SpawnManager.html" title="Spawning of Ruby on Rails/Rack application instances.">SpawnManager</a> smart pointer. <a href="#6ab2d566ff87a2676c23d8aa40204587"></a><br></td></tr>
105
- <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
106
- <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#453b743532b8c3b9877fe2fadb031501">setupSyscallInterruptionSupport</a> ()</td></tr>
107
-
108
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setup system call interruption support. <a href="#453b743532b8c3b9877fe2fadb031501"></a><br></td></tr>
109
- <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g73b17b509ee44938a56bf16cbf82fb48"></a><!-- doxytag: member="Passenger::atoi" ref="g73b17b509ee44938a56bf16cbf82fb48" args="(const string &amp;s)" -->
110
- int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g73b17b509ee44938a56bf16cbf82fb48">atoi</a> (const string &amp;s)</td></tr>
111
-
112
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts the given string to an integer. <br></td></tr>
113
- <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g4b8320aedc6a164a535c920234e3d8bf">split</a> (const string &amp;str, char sep, vector&lt; string &gt; &amp;output)</td></tr>
114
-
115
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Split the given string using the given separator. <a href="group__Support.html#g4b8320aedc6a164a535c920234e3d8bf"></a><br></td></tr>
116
- <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g56199e2a907b6791017eee7e0625e449">fileExists</a> (const char *filename)</td></tr>
117
-
118
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether the specified file exists. <a href="group__Support.html#g56199e2a907b6791017eee7e0625e449"></a><br></td></tr>
119
- <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g37e1a293fa574748b2393b4801e7b23f">findSpawnServer</a> (const char *passengerRoot=NULL)</td></tr>
120
-
121
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the location of the <a class="el" href="namespacePassenger.html" title="Support for interruption of blocking system calls and C library calls.">Passenger</a> spawn server script. <a href="group__Support.html#g37e1a293fa574748b2393b4801e7b23f"></a><br></td></tr>
122
- <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g67c03fa133dbb5a4e0de78f51899568e">findApplicationPoolServer</a> (const char *passengerRoot)</td></tr>
123
-
124
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the location of the <a class="el" href="namespacePassenger.html" title="Support for interruption of blocking system calls and C library calls.">Passenger</a> <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a> server executable. <a href="group__Support.html#g67c03fa133dbb5a4e0de78f51899568e"></a><br></td></tr>
125
- <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#gf3b0a483f0a252ae08d9de9f8b267d36">canonicalizePath</a> (const string &amp;path)</td></tr>
126
-
127
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a canonical version of the specified path. <a href="group__Support.html#gf3b0a483f0a252ae08d9de9f8b267d36"></a><br></td></tr>
128
- <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g7eac0b3097091d39e348e0c2563630b8">verifyRailsDir</a> (const string &amp;dir)</td></tr>
129
-
130
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether the specified directory is a valid Ruby on Rails 'public' directory. <a href="group__Support.html#g7eac0b3097091d39e348e0c2563630b8"></a><br></td></tr>
131
- <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g6c3cf8f963ffa2885081df2da152dfda">verifyRackDir</a> (const string &amp;dir)</td></tr>
132
-
133
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether the specified directory is a valid Rack 'public' directory. <a href="group__Support.html#g6c3cf8f963ffa2885081df2da152dfda"></a><br></td></tr>
134
- <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g1d5027f3758e2e5893667f5d66443d9d">verifyWSGIDir</a> (const string &amp;dir)</td></tr>
135
-
136
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether the specified directory is a valid WSGI 'public' directory. <a href="group__Support.html#g1d5027f3758e2e5893667f5d66443d9d"></a><br></td></tr>
137
- <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
138
- <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">shared_ptr&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__Support.html#g41b6c4a82fed72531a147de0505a8396">ptr</a> (T *pointer)</td></tr>
139
-
140
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience shortcut for creating a <code>shared_ptr</code>. <a href="group__Support.html#g41b6c4a82fed72531a147de0505a8396"></a><br></td></tr>
141
- <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
142
- <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__Support.html#gf6fab368d70c18fdf16bf5a24f630407">toString</a> (T something)</td></tr>
143
-
144
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert anything to a string. <a href="group__Support.html#gf6fab368d70c18fdf16bf5a24f630407"></a><br></td></tr>
145
- </table>
146
- <hr><h2>Typedef Documentation</h2>
147
- <a class="anchor" name="6a15fd5e8765802a0b8b077e15297e18"></a><!-- doxytag: member="Passenger::ApplicationPtr" ref="6a15fd5e8765802a0b8b077e15297e18" args="" -->
148
- <div class="memitem">
149
- <div class="memproto">
150
- <table class="memname">
151
- <tr>
152
- <td class="memname">typedef shared_ptr&lt;<a class="el" href="classPassenger_1_1Application.html">Application</a>&gt; <a class="el" href="namespacePassenger.html#6a15fd5e8765802a0b8b077e15297e18">Passenger::ApplicationPtr</a> </td>
153
- </tr>
154
- </table>
155
- </div>
156
- <div class="memdoc">
157
-
158
- <p>
159
- Convenient alias for <a class="el" href="classPassenger_1_1Application.html" title="Represents a single Ruby on Rails or Rack application instance.">Application</a> smart pointer.
160
- <p>
161
-
162
- </div>
163
- </div><p>
164
- <a class="anchor" name="6ab2d566ff87a2676c23d8aa40204587"></a><!-- doxytag: member="Passenger::SpawnManagerPtr" ref="6ab2d566ff87a2676c23d8aa40204587" args="" -->
165
- <div class="memitem">
166
- <div class="memproto">
167
- <table class="memname">
168
- <tr>
169
- <td class="memname">typedef shared_ptr&lt;<a class="el" href="classPassenger_1_1SpawnManager.html">SpawnManager</a>&gt; <a class="el" href="namespacePassenger.html#6ab2d566ff87a2676c23d8aa40204587">Passenger::SpawnManagerPtr</a> </td>
170
- </tr>
171
- </table>
172
- </div>
173
- <div class="memdoc">
174
-
175
- <p>
176
- Convenient alias for <a class="el" href="classPassenger_1_1SpawnManager.html" title="Spawning of Ruby on Rails/Rack application instances.">SpawnManager</a> smart pointer.
177
- <p>
178
-
179
- </div>
180
- </div><p>
181
- <hr><h2>Function Documentation</h2>
182
- <a class="anchor" name="453b743532b8c3b9877fe2fadb031501"></a><!-- doxytag: member="Passenger::setupSyscallInterruptionSupport" ref="453b743532b8c3b9877fe2fadb031501" args="()" -->
183
- <div class="memitem">
184
- <div class="memproto">
185
- <table class="memname">
186
- <tr>
187
- <td class="memname">void Passenger::setupSyscallInterruptionSupport </td>
188
- <td>(</td>
189
- <td class="paramname"> </td>
190
- <td>&nbsp;)&nbsp;</td>
191
- <td width="100%"></td>
192
- </tr>
193
- </table>
194
- </div>
195
- <div class="memdoc">
196
-
197
- <p>
198
- Setup system call interruption support.
199
- <p>
200
- This function may only be called once. It installs a signal handler for INTERRUPTION_SIGNAL, so one should not install a different signal handler for that signal after calling this function.
201
- </div>
202
- </div><p>
203
- </div>
204
- <hr size="1"><address style="text-align: right;"><small>Generated on Mon Dec 15 15:27:25 2008 for Passenger by&nbsp;
205
- <a href="http://www.doxygen.org/index.html">
206
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
207
- </body>
208
- </html>
@@ -1,43 +0,0 @@
1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
- <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
- <title>Passenger: Passenger::InterruptableCalls Namespace Reference</title>
4
- <link href="doxygen.css" rel="stylesheet" type="text/css">
5
- <link href="tabs.css" rel="stylesheet" type="text/css">
6
- </head><body>
7
- <!-- Generated by Doxygen 1.5.5 -->
8
- <div class="navigation" id="top">
9
- <div class="tabs">
10
- <ul>
11
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
- <li><a href="modules.html"><span>Modules</span></a></li>
13
- <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
14
- <li><a href="annotated.html"><span>Classes</span></a></li>
15
- <li><a href="files.html"><span>Files</span></a></li>
16
- </ul>
17
- </div>
18
- <div class="tabs">
19
- <ul>
20
- <li><a href="namespaces.html"><span>Namespace List</span></a></li>
21
- <li><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
22
- </ul>
23
- </div>
24
- <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="namespacePassenger_1_1InterruptableCalls.html">InterruptableCalls</a>
25
- </div>
26
- </div>
27
- <div class="contents">
28
- <h1>Passenger::InterruptableCalls Namespace Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
29
- System call and C library call wrappers with interruption support.
30
- <p>
31
- These functions are interruption points, i.e. they throw boost::thread_interrupted whenever the calling thread is interrupted by <a class="el" href="classPassenger_1_1Thread.html#2212f1aee683798318ec2bcd57550407" title="Interrupt the thread.">Thread::interrupt()</a> or <a class="el" href="classPassenger_1_1Thread.html#5bc65d2722d1425e574b3b8a97e60388" title="Keep interrupting the thread until it&#39;s done, then join it.">Thread::interruptAndJoin()</a>.
32
- <p>
33
-
34
- <p>
35
- <table border="0" cellpadding="0" cellspacing="0">
36
- <tr><td></td></tr>
37
- </table>
38
- </div>
39
- <hr size="1"><address style="text-align: right;"><small>Generated on Mon Dec 15 15:27:25 2008 for Passenger by&nbsp;
40
- <a href="http://www.doxygen.org/index.html">
41
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
42
- </body>
43
- </html>