passenger 2.2.9 → 2.2.10

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 (435) hide show
  1. data/NEWS +10 -0
  2. data/doc/Architectural overview.html +202 -65
  3. data/doc/Security of user switching support.html +200 -63
  4. data/doc/Users guide Apache.html +266 -129
  5. data/doc/Users guide Nginx.html +234 -97
  6. data/doc/cxxapi/AbstractSpawnManager_8h-source.html +138 -0
  7. data/doc/cxxapi/Account_8h-source.html +202 -0
  8. data/doc/cxxapi/AccountsDatabase_8h-source.html +158 -0
  9. data/doc/cxxapi/AgentsStarter_8h-source.html +79 -0
  10. data/doc/cxxapi/BCrypt_8h-source.html +101 -0
  11. data/doc/cxxapi/BacktracesServer_8h-source.html +87 -0
  12. data/doc/cxxapi/Base64_8h-source.html +85 -0
  13. data/doc/cxxapi/Blowfish_8h-source.html +131 -0
  14. data/doc/cxxapi/Bucket_8h-source.html +1 -1
  15. data/doc/cxxapi/CachedFileStat_8h-source.html +49 -157
  16. data/doc/cxxapi/Configuration_8h-source.html +1 -1
  17. data/doc/cxxapi/Constants_8h-source.html +71 -0
  18. data/doc/cxxapi/ContentHandler_8h-source.html +92 -0
  19. data/doc/cxxapi/DirectoryMapper_8h-source.html +1 -1
  20. data/doc/cxxapi/Exceptions_8h-source.html +332 -236
  21. data/doc/cxxapi/FileChangeChecker_8h-source.html +237 -0
  22. data/doc/cxxapi/FileDescriptor_8h-source.html +206 -0
  23. data/doc/cxxapi/Hooks_8h-source.html +1 -1
  24. data/doc/cxxapi/HttpStatusExtractor_8h-source.html +378 -0
  25. data/doc/cxxapi/LoggingServer_8h-source.html +165 -0
  26. data/doc/cxxapi/Logging_8h-source.html +580 -112
  27. data/doc/cxxapi/MessageChannel_8h-source.html +789 -599
  28. data/doc/cxxapi/MessageClient_8h-source.html +297 -0
  29. data/doc/cxxapi/MessageServer_8h-source.html +607 -0
  30. data/doc/cxxapi/PoolOptions_8h-source.html +471 -278
  31. data/doc/cxxapi/Process_8h-source.html +272 -0
  32. data/doc/cxxapi/RandomGenerator_8h-source.html +156 -0
  33. data/doc/cxxapi/ResourceLocator_8h-source.html +104 -0
  34. data/doc/cxxapi/ScgiRequestParser_8h-source.html +399 -0
  35. data/doc/cxxapi/ServerInstanceDir_8h-source.html +356 -0
  36. data/doc/cxxapi/Session_8h-source.html +483 -0
  37. data/doc/cxxapi/SpawnManager_8h-source.html +590 -546
  38. data/doc/cxxapi/StaticContentHandler_8h-source.html +65 -0
  39. data/doc/cxxapi/StaticString_8h-source.html +214 -0
  40. data/doc/cxxapi/StringListCreator_8h-source.html +111 -0
  41. data/doc/cxxapi/SystemTime_8h-source.html +191 -78
  42. data/doc/cxxapi/Timer_8h-source.html +157 -0
  43. data/doc/cxxapi/Utils_8h-source.html +621 -434
  44. data/doc/cxxapi/Version_8h-source.html +59 -0
  45. data/doc/cxxapi/annotated.html +1 -1
  46. data/doc/cxxapi/apache2_2Configuration_8h-source.html +79 -0
  47. data/doc/cxxapi/classAgentWatcher-members.html +50 -0
  48. data/doc/cxxapi/classAgentWatcher.html +445 -0
  49. data/doc/cxxapi/classClient-members.html +4 -3
  50. data/doc/cxxapi/classClient.html +50 -46
  51. data/doc/cxxapi/classHooks-members.html +1 -1
  52. data/doc/cxxapi/classHooks.html +1 -1
  53. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager-members.html +37 -0
  54. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager.html +191 -0
  55. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.map +1 -0
  56. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.md5 +1 -0
  57. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.png +0 -0
  58. data/doc/cxxapi/{classPassenger_1_1DummySpawnManager-members.html → classPassenger_1_1ArgumentException-members.html} +3 -2
  59. data/doc/cxxapi/classPassenger_1_1ArgumentException.html +52 -0
  60. data/doc/cxxapi/classPassenger_1_1BacktracesServer-members.html +36 -0
  61. data/doc/cxxapi/classPassenger_1_1BacktracesServer.html +107 -0
  62. data/doc/cxxapi/classPassenger_1_1BacktracesServer__inherit__graph.map +1 -0
  63. data/doc/cxxapi/classPassenger_1_1BacktracesServer__inherit__graph.md5 +1 -0
  64. data/doc/cxxapi/classPassenger_1_1BacktracesServer__inherit__graph.png +0 -0
  65. data/doc/cxxapi/classPassenger_1_1BufferedUpload-members.html +3 -3
  66. data/doc/cxxapi/classPassenger_1_1BufferedUpload.html +18 -34
  67. data/doc/cxxapi/classPassenger_1_1BusyException-members.html +2 -1
  68. data/doc/cxxapi/classPassenger_1_1BusyException.html +3 -2
  69. data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +2 -1
  70. data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +3 -2
  71. data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +1 -1
  72. data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +1 -1
  73. data/doc/cxxapi/{classPassenger_1_1FileChecker-members.html → classPassenger_1_1EOFException-members.html} +3 -4
  74. data/doc/cxxapi/classPassenger_1_1EOFException.html +57 -0
  75. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.map +1 -0
  76. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.md5 +1 -0
  77. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.png +0 -0
  78. data/doc/cxxapi/classPassenger_1_1EventFd-members.html +33 -0
  79. data/doc/cxxapi/classPassenger_1_1EventFd.html +49 -0
  80. data/doc/cxxapi/classPassenger_1_1FileChangeChecker-members.html +37 -0
  81. data/doc/cxxapi/classPassenger_1_1FileChangeChecker.html +166 -0
  82. data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +37 -0
  83. data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +159 -0
  84. data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +2 -1
  85. data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +3 -2
  86. data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +2 -1
  87. data/doc/cxxapi/classPassenger_1_1FileSystemException.html +3 -2
  88. data/doc/cxxapi/{classPassenger_1_1ApplicationPoolServer-members.html → classPassenger_1_1HttpStatusExtractor-members.html} +6 -5
  89. data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor.html +128 -0
  90. data/doc/cxxapi/classPassenger_1_1IOException-members.html +2 -1
  91. data/doc/cxxapi/classPassenger_1_1IOException.html +4 -3
  92. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +2 -1
  93. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +1 -1
  94. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
  95. data/doc/cxxapi/classPassenger_1_1MemZeroGuard-members.html +36 -0
  96. data/doc/cxxapi/classPassenger_1_1MemZeroGuard.html +147 -0
  97. data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +12 -5
  98. data/doc/cxxapi/classPassenger_1_1MessageChannel.html +267 -34
  99. data/doc/cxxapi/classPassenger_1_1MessageServer-members.html +46 -0
  100. data/doc/cxxapi/classPassenger_1_1MessageServer.html +438 -0
  101. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext-members.html +33 -0
  102. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext.html +56 -0
  103. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.map +1 -0
  104. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.md5 +1 -0
  105. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.png +0 -0
  106. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext-members.html +38 -0
  107. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext.html +175 -0
  108. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.map +1 -0
  109. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.md5 +1 -0
  110. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.png +0 -0
  111. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler-members.html +36 -0
  112. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler.html +176 -0
  113. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler__inherit__graph.map +1 -0
  114. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler__inherit__graph.md5 +1 -0
  115. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler__inherit__graph.png +0 -0
  116. data/doc/cxxapi/classPassenger_1_1Process-members.html +40 -0
  117. data/doc/cxxapi/classPassenger_1_1Process.html +266 -0
  118. data/doc/cxxapi/classPassenger_1_1RandomGenerator-members.html +33 -0
  119. data/doc/cxxapi/classPassenger_1_1RandomGenerator.html +51 -0
  120. data/doc/cxxapi/classPassenger_1_1RuntimeException-members.html +2 -1
  121. data/doc/cxxapi/classPassenger_1_1RuntimeException.html +3 -2
  122. data/doc/cxxapi/classPassenger_1_1ScgiRequestParser-members.html +47 -0
  123. data/doc/cxxapi/classPassenger_1_1ScgiRequestParser.html +302 -0
  124. data/doc/cxxapi/classPassenger_1_1SecurityException-members.html +33 -0
  125. data/doc/cxxapi/classPassenger_1_1SecurityException.html +52 -0
  126. data/doc/cxxapi/classPassenger_1_1Session-members.html +50 -0
  127. data/doc/cxxapi/classPassenger_1_1Session.html +577 -0
  128. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.map +1 -0
  129. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.md5 +1 -0
  130. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.png +0 -0
  131. data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +2 -1
  132. data/doc/cxxapi/classPassenger_1_1SpawnException.html +5 -4
  133. data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +8 -5
  134. data/doc/cxxapi/classPassenger_1_1SpawnManager.html +127 -45
  135. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.map +1 -0
  136. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.md5 +1 -0
  137. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.png +0 -0
  138. data/doc/cxxapi/classPassenger_1_1StandardSession-members.html +51 -0
  139. data/doc/cxxapi/classPassenger_1_1StandardSession.html +415 -0
  140. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.map +1 -0
  141. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.md5 +1 -0
  142. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.png +0 -0
  143. data/doc/cxxapi/classPassenger_1_1StaticString-members.html +33 -0
  144. data/doc/cxxapi/classPassenger_1_1StaticString.html +54 -0
  145. data/doc/cxxapi/classPassenger_1_1SystemException-members.html +2 -1
  146. data/doc/cxxapi/classPassenger_1_1SystemException.html +4 -3
  147. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map +1 -0
  148. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5 +1 -1
  149. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
  150. data/doc/cxxapi/classPassenger_1_1SystemTime-members.html +9 -1
  151. data/doc/cxxapi/classPassenger_1_1SystemTime.html +92 -8
  152. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException-members.html +37 -0
  153. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException.html +57 -0
  154. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.map +1 -0
  155. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.md5 +1 -0
  156. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.png +0 -0
  157. data/doc/cxxapi/classPassenger_1_1TimeoutException-members.html +33 -0
  158. data/doc/cxxapi/classPassenger_1_1TimeoutException.html +50 -0
  159. data/doc/cxxapi/{classPassenger_1_1Application-members.html → classPassenger_1_1Timer-members.html} +8 -7
  160. data/doc/cxxapi/classPassenger_1_1Timer.html +163 -0
  161. data/doc/cxxapi/classServer-members.html +33 -0
  162. data/doc/cxxapi/classServer.html +46 -0
  163. data/doc/cxxapi/classServerInstanceDirToucher-members.html +33 -0
  164. data/doc/cxxapi/classServerInstanceDirToucher.html +43 -0
  165. data/doc/cxxapi/classes.html +1 -1
  166. data/doc/cxxapi/definitions_8h-source.html +1 -1
  167. data/doc/cxxapi/files.html +1 -1
  168. data/doc/cxxapi/functions.html +1 -1
  169. data/doc/cxxapi/{functions_type.html → functions_enum.html} +7 -5
  170. data/doc/cxxapi/functions_eval.html +55 -0
  171. data/doc/cxxapi/functions_func.html +1 -1
  172. data/doc/cxxapi/functions_vars.html +106 -9
  173. data/doc/cxxapi/graph_legend.html +1 -1
  174. data/doc/cxxapi/group__Configuration.html +1 -1
  175. data/doc/cxxapi/group__Core.html +1 -1
  176. data/doc/cxxapi/group__Exceptions.html +17 -1
  177. data/doc/cxxapi/group__Hooks.html +1 -1
  178. data/doc/cxxapi/group__Support.html +1 -1
  179. data/doc/cxxapi/hierarchy.html +34 -12
  180. data/doc/cxxapi/inherit__graph__0.map +1 -1
  181. data/doc/cxxapi/inherit__graph__0.md5 +1 -1
  182. data/doc/cxxapi/inherit__graph__0.png +0 -0
  183. data/doc/cxxapi/inherit__graph__1.map +1 -1
  184. data/doc/cxxapi/inherit__graph__1.md5 +1 -1
  185. data/doc/cxxapi/inherit__graph__1.png +0 -0
  186. data/doc/cxxapi/inherit__graph__10.map +1 -1
  187. data/doc/cxxapi/inherit__graph__10.md5 +1 -1
  188. data/doc/cxxapi/inherit__graph__10.png +0 -0
  189. data/doc/cxxapi/inherit__graph__11.map +1 -1
  190. data/doc/cxxapi/inherit__graph__11.md5 +1 -1
  191. data/doc/cxxapi/inherit__graph__11.png +0 -0
  192. data/doc/cxxapi/inherit__graph__12.map +1 -1
  193. data/doc/cxxapi/inherit__graph__12.md5 +1 -1
  194. data/doc/cxxapi/inherit__graph__12.png +0 -0
  195. data/doc/cxxapi/inherit__graph__13.map +1 -1
  196. data/doc/cxxapi/inherit__graph__13.md5 +1 -1
  197. data/doc/cxxapi/inherit__graph__13.png +0 -0
  198. data/doc/cxxapi/inherit__graph__14.map +3 -2
  199. data/doc/cxxapi/inherit__graph__14.md5 +1 -1
  200. data/doc/cxxapi/inherit__graph__14.png +0 -0
  201. data/doc/cxxapi/inherit__graph__15.map +1 -1
  202. data/doc/cxxapi/inherit__graph__15.md5 +1 -1
  203. data/doc/cxxapi/inherit__graph__15.png +0 -0
  204. data/doc/cxxapi/inherit__graph__16.map +1 -1
  205. data/doc/cxxapi/inherit__graph__16.md5 +1 -1
  206. data/doc/cxxapi/inherit__graph__16.png +0 -0
  207. data/doc/cxxapi/inherit__graph__17.map +1 -1
  208. data/doc/cxxapi/inherit__graph__17.md5 +1 -1
  209. data/doc/cxxapi/inherit__graph__17.png +0 -0
  210. data/doc/cxxapi/inherit__graph__18.map +2 -1
  211. data/doc/cxxapi/inherit__graph__18.md5 +1 -1
  212. data/doc/cxxapi/inherit__graph__18.png +0 -0
  213. data/doc/cxxapi/inherit__graph__19.map +1 -1
  214. data/doc/cxxapi/inherit__graph__19.md5 +1 -1
  215. data/doc/cxxapi/inherit__graph__19.png +0 -0
  216. data/doc/cxxapi/inherit__graph__2.map +1 -1
  217. data/doc/cxxapi/inherit__graph__2.md5 +1 -1
  218. data/doc/cxxapi/inherit__graph__2.png +0 -0
  219. data/doc/cxxapi/inherit__graph__20.map +1 -2
  220. data/doc/cxxapi/inherit__graph__20.md5 +1 -1
  221. data/doc/cxxapi/inherit__graph__20.png +0 -0
  222. data/doc/cxxapi/inherit__graph__21.map +1 -1
  223. data/doc/cxxapi/inherit__graph__21.md5 +1 -1
  224. data/doc/cxxapi/inherit__graph__21.png +0 -0
  225. data/doc/cxxapi/inherit__graph__22.map +1 -0
  226. data/doc/cxxapi/inherit__graph__22.md5 +1 -0
  227. data/doc/cxxapi/inherit__graph__22.png +0 -0
  228. data/doc/cxxapi/inherit__graph__23.map +1 -0
  229. data/doc/cxxapi/inherit__graph__23.md5 +1 -0
  230. data/doc/cxxapi/inherit__graph__23.png +0 -0
  231. data/doc/cxxapi/inherit__graph__24.map +1 -0
  232. data/doc/cxxapi/inherit__graph__24.md5 +1 -0
  233. data/doc/cxxapi/inherit__graph__24.png +0 -0
  234. data/doc/cxxapi/inherit__graph__25.map +1 -0
  235. data/doc/cxxapi/inherit__graph__25.md5 +1 -0
  236. data/doc/cxxapi/inherit__graph__25.png +0 -0
  237. data/doc/cxxapi/inherit__graph__26.map +1 -0
  238. data/doc/cxxapi/inherit__graph__26.md5 +1 -0
  239. data/doc/cxxapi/inherit__graph__26.png +0 -0
  240. data/doc/cxxapi/inherit__graph__27.map +2 -0
  241. data/doc/cxxapi/inherit__graph__27.md5 +1 -0
  242. data/doc/cxxapi/inherit__graph__27.png +0 -0
  243. data/doc/cxxapi/inherit__graph__28.map +1 -0
  244. data/doc/cxxapi/inherit__graph__28.md5 +1 -0
  245. data/doc/cxxapi/inherit__graph__28.png +0 -0
  246. data/doc/cxxapi/inherit__graph__29.map +1 -0
  247. data/doc/cxxapi/inherit__graph__29.md5 +1 -0
  248. data/doc/cxxapi/inherit__graph__29.png +0 -0
  249. data/doc/cxxapi/inherit__graph__3.map +2 -1
  250. data/doc/cxxapi/inherit__graph__3.md5 +1 -1
  251. data/doc/cxxapi/inherit__graph__3.png +0 -0
  252. data/doc/cxxapi/inherit__graph__30.map +1 -0
  253. data/doc/cxxapi/inherit__graph__30.md5 +1 -0
  254. data/doc/cxxapi/inherit__graph__30.png +0 -0
  255. data/doc/cxxapi/inherit__graph__31.map +3 -0
  256. data/doc/cxxapi/inherit__graph__31.md5 +1 -0
  257. data/doc/cxxapi/inherit__graph__31.png +0 -0
  258. data/doc/cxxapi/inherit__graph__32.map +1 -0
  259. data/doc/cxxapi/inherit__graph__32.md5 +1 -0
  260. data/doc/cxxapi/inherit__graph__32.png +0 -0
  261. data/doc/cxxapi/inherit__graph__33.map +1 -0
  262. data/doc/cxxapi/inherit__graph__33.md5 +1 -0
  263. data/doc/cxxapi/inherit__graph__33.png +0 -0
  264. data/doc/cxxapi/inherit__graph__34.map +1 -0
  265. data/doc/cxxapi/inherit__graph__34.md5 +1 -0
  266. data/doc/cxxapi/inherit__graph__34.png +0 -0
  267. data/doc/cxxapi/inherit__graph__35.map +1 -0
  268. data/doc/cxxapi/inherit__graph__35.md5 +1 -0
  269. data/doc/cxxapi/inherit__graph__35.png +0 -0
  270. data/doc/cxxapi/inherit__graph__36.map +1 -0
  271. data/doc/cxxapi/inherit__graph__36.md5 +1 -0
  272. data/doc/cxxapi/inherit__graph__36.png +0 -0
  273. data/doc/cxxapi/inherit__graph__4.map +1 -1
  274. data/doc/cxxapi/inherit__graph__4.md5 +1 -1
  275. data/doc/cxxapi/inherit__graph__4.png +0 -0
  276. data/doc/cxxapi/inherit__graph__5.map +1 -1
  277. data/doc/cxxapi/inherit__graph__5.md5 +1 -1
  278. data/doc/cxxapi/inherit__graph__5.png +0 -0
  279. data/doc/cxxapi/inherit__graph__6.map +1 -2
  280. data/doc/cxxapi/inherit__graph__6.md5 +1 -1
  281. data/doc/cxxapi/inherit__graph__6.png +0 -0
  282. data/doc/cxxapi/inherit__graph__7.map +1 -1
  283. data/doc/cxxapi/inherit__graph__7.md5 +1 -1
  284. data/doc/cxxapi/inherit__graph__7.png +0 -0
  285. data/doc/cxxapi/inherit__graph__8.map +1 -1
  286. data/doc/cxxapi/inherit__graph__8.md5 +1 -1
  287. data/doc/cxxapi/inherit__graph__8.png +0 -0
  288. data/doc/cxxapi/inherit__graph__9.map +1 -1
  289. data/doc/cxxapi/inherit__graph__9.md5 +1 -1
  290. data/doc/cxxapi/inherit__graph__9.png +0 -0
  291. data/doc/cxxapi/inherits.html +81 -41
  292. data/doc/cxxapi/main.html +1 -1
  293. data/doc/cxxapi/md5_8h-source.html +121 -0
  294. data/doc/cxxapi/modules.html +1 -1
  295. data/doc/cxxapi/namespacePassenger.html +651 -0
  296. data/doc/cxxapi/namespacemembers.html +155 -0
  297. data/doc/cxxapi/namespacemembers_enum.html +46 -0
  298. data/doc/cxxapi/namespacemembers_eval.html +52 -0
  299. data/doc/cxxapi/namespacemembers_func.html +139 -0
  300. data/doc/cxxapi/namespacemembers_type.html +50 -0
  301. data/doc/cxxapi/namespaces.html +34 -0
  302. data/doc/cxxapi/nginx_2Configuration_8h-source.html +114 -0
  303. data/doc/cxxapi/ngx__http__passenger__module_8h-source.html +91 -0
  304. data/doc/cxxapi/structPassenger_1_1AnythingToString-members.html +2 -1
  305. data/doc/cxxapi/structPassenger_1_1AnythingToString.html +3 -2
  306. data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4-members.html +2 -1
  307. data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html +3 -2
  308. data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard-members.html +33 -0
  309. data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html +49 -0
  310. data/doc/cxxapi/structPassenger_1_1PoolOptions-members.html +19 -7
  311. data/doc/cxxapi/structPassenger_1_1PoolOptions.html +323 -53
  312. data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash-members.html +33 -0
  313. data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash.html +49 -0
  314. data/ext/common/MessageChannel.h +48 -4
  315. data/ext/common/Version.h +1 -1
  316. data/ext/nginx/HttpStatusExtractor.h +1 -0
  317. data/ext/nginx/ScgiRequestParser.h +1 -0
  318. data/ext/phusion_passenger/native_support.c +5 -1
  319. data/lib/phusion_passenger/constants.rb +1 -1
  320. data/lib/phusion_passenger/message_channel.rb +45 -3
  321. data/lib/phusion_passenger/rack/application_spawner.rb +4 -0
  322. data/lib/phusion_passenger/railz/application_spawner.rb +19 -1
  323. data/lib/phusion_passenger/utils.rb +3 -3
  324. data/lib/phusion_passenger/utils/rewindable_input.rb +5 -0
  325. data/test/MessageChannelTest.cpp +9 -1
  326. data/test/stub/message_channel.rb +1 -1
  327. data/test/stub/message_channel_2.rb +1 -1
  328. data/test/stub/message_channel_3.rb +2 -2
  329. metadata +173 -113
  330. data/doc/cxxapi/ApplicationPoolServer_8h-source.html +0 -833
  331. data/doc/cxxapi/ApplicationPool_8h-source.html +0 -226
  332. data/doc/cxxapi/Application_8h-source.html +0 -553
  333. data/doc/cxxapi/DummySpawnManager_8h-source.html +0 -130
  334. data/doc/cxxapi/FileChecker_8h-source.html +0 -134
  335. data/doc/cxxapi/StandardApplicationPool_8h-source.html +0 -842
  336. data/doc/cxxapi/classPassenger_1_1Application.html +0 -231
  337. data/doc/cxxapi/classPassenger_1_1ApplicationPool-members.html +0 -41
  338. data/doc/cxxapi/classPassenger_1_1ApplicationPool.html +0 -323
  339. data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer.html +0 -227
  340. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.map +0 -1
  341. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.md5 +0 -1
  342. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.png +0 -0
  343. data/doc/cxxapi/classPassenger_1_1Application_1_1Session-members.html +0 -44
  344. data/doc/cxxapi/classPassenger_1_1Application_1_1Session.html +0 -403
  345. data/doc/cxxapi/classPassenger_1_1DummySpawnManager.html +0 -53
  346. data/doc/cxxapi/classPassenger_1_1FileChecker.html +0 -124
  347. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool-members.html +0 -44
  348. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool.html +0 -342
  349. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.map +0 -1
  350. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.md5 +0 -1
  351. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.png +0 -0
  352. data/doc/rdoc/classes/ConditionVariable.html +0 -194
  353. data/doc/rdoc/classes/Exception.html +0 -120
  354. data/doc/rdoc/classes/GC.html +0 -113
  355. data/doc/rdoc/classes/IO.html +0 -169
  356. data/doc/rdoc/classes/PhusionPassenger.html +0 -239
  357. data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +0 -153
  358. data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +0 -517
  359. data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +0 -719
  360. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +0 -97
  361. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +0 -96
  362. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +0 -97
  363. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +0 -96
  364. data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +0 -598
  365. data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +0 -140
  366. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess.html +0 -317
  367. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess/Instance.html +0 -138
  368. data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +0 -154
  369. data/doc/rdoc/classes/PhusionPassenger/Application.html +0 -283
  370. data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +0 -172
  371. data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +0 -145
  372. data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +0 -175
  373. data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +0 -141
  374. data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +0 -92
  375. data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +0 -489
  376. data/doc/rdoc/classes/PhusionPassenger/NativeSupport.html +0 -350
  377. data/doc/rdoc/classes/PhusionPassenger/Rack.html +0 -91
  378. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +0 -188
  379. data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +0 -199
  380. data/doc/rdoc/classes/PhusionPassenger/Railz.html +0 -95
  381. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner.html +0 -438
  382. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner/Error.html +0 -98
  383. data/doc/rdoc/classes/PhusionPassenger/Railz/CGIFixed.html +0 -200
  384. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner.html +0 -436
  385. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner/Error.html +0 -98
  386. data/doc/rdoc/classes/PhusionPassenger/Railz/RequestHandler.html +0 -155
  387. data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +0 -402
  388. data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +0 -125
  389. data/doc/rdoc/classes/PhusionPassenger/Utils.html +0 -805
  390. data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +0 -169
  391. data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput.html +0 -247
  392. data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput/Tempfile.html +0 -120
  393. data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +0 -140
  394. data/doc/rdoc/classes/PhusionPassenger/WSGI.html +0 -89
  395. data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +0 -188
  396. data/doc/rdoc/classes/PlatformInfo.html +0 -866
  397. data/doc/rdoc/classes/RakeExtensions.html +0 -197
  398. data/doc/rdoc/classes/Signal.html +0 -139
  399. data/doc/rdoc/created.rid +0 -1
  400. data/doc/rdoc/files/DEVELOPERS_TXT.html +0 -255
  401. data/doc/rdoc/files/README.html +0 -157
  402. data/doc/rdoc/files/ext/phusion_passenger/native_support_c.html +0 -92
  403. data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +0 -129
  404. data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +0 -129
  405. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +0 -126
  406. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +0 -128
  407. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/control_process_rb.html +0 -130
  408. data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +0 -122
  409. data/doc/rdoc/files/lib/phusion_passenger/application_rb.html +0 -127
  410. data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +0 -126
  411. data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +0 -122
  412. data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +0 -134
  413. data/doc/rdoc/files/lib/phusion_passenger/events_rb.html +0 -122
  414. data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +0 -122
  415. data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +0 -126
  416. data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +0 -120
  417. data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +0 -122
  418. data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +0 -127
  419. data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +0 -133
  420. data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +0 -125
  421. data/doc/rdoc/files/lib/phusion_passenger/railz/application_spawner_rb.html +0 -140
  422. data/doc/rdoc/files/lib/phusion_passenger/railz/cgi_fixed_rb.html +0 -126
  423. data/doc/rdoc/files/lib/phusion_passenger/railz/framework_spawner_rb.html +0 -145
  424. data/doc/rdoc/files/lib/phusion_passenger/railz/request_handler_rb.html +0 -125
  425. data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +0 -122
  426. data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +0 -159
  427. data/doc/rdoc/files/lib/phusion_passenger/utils/rewindable_input_rb.html +0 -100
  428. data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +0 -174
  429. data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +0 -129
  430. data/doc/rdoc/files/misc/rake/extensions_rb.html +0 -130
  431. data/doc/rdoc/fr_class_index.html +0 -93
  432. data/doc/rdoc/fr_file_index.html +0 -77
  433. data/doc/rdoc/fr_method_index.html +0 -212
  434. data/doc/rdoc/index.html +0 -26
  435. data/doc/rdoc/rdoc-style.css +0 -187
@@ -1,53 +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::DummySpawnManager Class Reference</title>
4
- <link href="tabs.css" rel="stylesheet" type="text/css">
5
- <link href="doxygen.css" rel="stylesheet" type="text/css">
6
- </head><body>
7
- <!-- Generated by Doxygen 1.5.8 -->
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="annotated.html"><span>Classes</span></a></li>
14
- <li><a href="files.html"><span>Files</span></a></li>
15
- </ul>
16
- </div>
17
- <div class="tabs">
18
- <ul>
19
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
20
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
21
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
22
- </ul>
23
- </div>
24
- <div class="navpath"><b>Passenger</b>::<a class="el" href="classPassenger_1_1DummySpawnManager.html">DummySpawnManager</a>
25
- </div>
26
- </div>
27
- <div class="contents">
28
- <h1>Passenger::DummySpawnManager Class Reference<br>
29
- <small>
30
- [<a class="el" href="group__Support.html">Apache-independent support classes and function</a>]</small>
31
- </h1><!-- doxytag: class="Passenger::DummySpawnManager" -->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.
32
- <a href="#_details">More...</a>
33
- <p>
34
- <code>#include &lt;<a class="el" href="DummySpawnManager_8h-source.html">DummySpawnManager.h</a>&gt;</code>
35
- <p>
36
-
37
- <p>
38
- <a href="classPassenger_1_1DummySpawnManager-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
39
- <tr><td></td></tr>
40
- </table>
41
- <hr><a name="_details"></a><h2>Detailed Description</h2>
42
- 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.
43
- <p>
44
- This class implements a dummy spawn manager, and is 100% interface-compatible with <a class="el" href="classPassenger_1_1SpawnManager.html" title="Spawning of Ruby on Rails/Rack application instances.">SpawnManager</a>. This spawn manager will spawn <code>benchmark/DummyRequestHandler</code>, which is probably the fastest possible implementation of a request handler. The purpose of this class to benchmark the performance of the Apache module (i.e. not benchmarking the Ruby request handler or Rails itself).<p>
45
- This header file is not used by default. Define the macro <code>PASSENGER_USE_DUMMY_SPAWN_MANAGER</code> to make <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a> use <a class="el" href="classPassenger_1_1DummySpawnManager.html" title="A dummy SpawnManager replacement for testing/debugging purposes.">DummySpawnManager</a> instead of <a class="el" href="classPassenger_1_1SpawnManager.html" title="Spawning of Ruby on Rails/Rack application instances.">SpawnManager</a>.<p>
46
- Of course, don't forget to compile benchmark/DummyRequestHandler! <hr>The documentation for this class was generated from the following file:<ul>
47
- <li><a class="el" href="DummySpawnManager_8h-source.html">DummySpawnManager.h</a></ul>
48
- </div>
49
- <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 for Passenger by&nbsp;
50
- <a href="http://www.doxygen.org/index.html">
51
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
52
- </body>
53
- </html>
@@ -1,124 +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::FileChecker Class Reference</title>
4
- <link href="tabs.css" rel="stylesheet" type="text/css">
5
- <link href="doxygen.css" rel="stylesheet" type="text/css">
6
- </head><body>
7
- <!-- Generated by Doxygen 1.5.8 -->
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="annotated.html"><span>Classes</span></a></li>
14
- <li><a href="files.html"><span>Files</span></a></li>
15
- </ul>
16
- </div>
17
- <div class="tabs">
18
- <ul>
19
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
20
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
21
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
22
- </ul>
23
- </div>
24
- <div class="navpath"><b>Passenger</b>::<a class="el" href="classPassenger_1_1FileChecker.html">FileChecker</a>
25
- </div>
26
- </div>
27
- <div class="contents">
28
- <h1>Passenger::FileChecker Class Reference</h1><!-- doxytag: class="Passenger::FileChecker" -->Utility class for checking for file changes.
29
- <a href="#_details">More...</a>
30
- <p>
31
- <code>#include &lt;<a class="el" href="FileChecker_8h-source.html">FileChecker.h</a>&gt;</code>
32
- <p>
33
-
34
- <p>
35
- <a href="classPassenger_1_1FileChecker-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
36
- <tr><td></td></tr>
37
- <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
38
- <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1FileChecker.html#64556bc7e06a32363dbd87451d459b71">FileChecker</a> (const string &amp;filename)</td></tr>
39
-
40
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="classPassenger_1_1FileChecker.html" title="Utility class for checking for file changes.">FileChecker</a> object. <a href="#64556bc7e06a32363dbd87451d459b71"></a><br></td></tr>
41
- <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1FileChecker.html#832ff27b4b3e5db84a9d986285e7c270">changed</a> (unsigned int throttleRate=0)</td></tr>
42
-
43
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks whether the file's timestamp has changed or has been created or removed since the last call to <a class="el" href="classPassenger_1_1FileChecker.html#832ff27b4b3e5db84a9d986285e7c270" title="Checks whether the file&#39;s timestamp has changed or has been created or removed...">changed()</a>. <a href="#832ff27b4b3e5db84a9d986285e7c270"></a><br></td></tr>
44
- </table>
45
- <hr><a name="_details"></a><h2>Detailed Description</h2>
46
- Utility class for checking for file changes.
47
- <p>
48
- Example:<p>
49
- <div class="fragment"><pre class="fragment"> <a class="code" href="classPassenger_1_1FileChecker.html#64556bc7e06a32363dbd87451d459b71" title="Create a FileChecker object.">FileChecker</a> checker(<span class="stringliteral">"foo.txt"</span>);
50
- checker.changed(); <span class="comment">// false</span>
51
- writeToFile(<span class="stringliteral">"foo.txt"</span>);
52
- checker.changed(); <span class="comment">// true</span>
53
- checker.changed(); <span class="comment">// false</span>
54
- </pre></div><p>
55
- <a class="el" href="classPassenger_1_1FileChecker.html" title="Utility class for checking for file changes.">FileChecker</a> uses stat() to retrieve file information. <a class="el" href="classPassenger_1_1FileChecker.html" title="Utility class for checking for file changes.">FileChecker</a> also supports throttling in order to limit the number of stat() calls. This can improve performance on systems where disk I/O is a problem. <hr><h2>Constructor &amp; Destructor Documentation</h2>
56
- <a class="anchor" name="64556bc7e06a32363dbd87451d459b71"></a><!-- doxytag: member="Passenger::FileChecker::FileChecker" ref="64556bc7e06a32363dbd87451d459b71" args="(const string &amp;filename)" -->
57
- <div class="memitem">
58
- <div class="memproto">
59
- <table class="memname">
60
- <tr>
61
- <td class="memname">Passenger::FileChecker::FileChecker </td>
62
- <td>(</td>
63
- <td class="paramtype">const string &amp;&nbsp;</td>
64
- <td class="paramname"> <em>filename</em> </td>
65
- <td>&nbsp;)&nbsp;</td>
66
- <td><code> [inline]</code></td>
67
- </tr>
68
- </table>
69
- </div>
70
- <div class="memdoc">
71
-
72
- <p>
73
- Create a <a class="el" href="classPassenger_1_1FileChecker.html" title="Utility class for checking for file changes.">FileChecker</a> object.
74
- <p>
75
- <dl compact><dt><b>Parameters:</b></dt><dd>
76
- <table border="0" cellspacing="2" cellpadding="0">
77
- <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The filename to check for. </td></tr>
78
- </table>
79
- </dl>
80
-
81
- </div>
82
- </div><p>
83
- <hr><h2>Member Function Documentation</h2>
84
- <a class="anchor" name="832ff27b4b3e5db84a9d986285e7c270"></a><!-- doxytag: member="Passenger::FileChecker::changed" ref="832ff27b4b3e5db84a9d986285e7c270" args="(unsigned int throttleRate=0)" -->
85
- <div class="memitem">
86
- <div class="memproto">
87
- <table class="memname">
88
- <tr>
89
- <td class="memname">bool Passenger::FileChecker::changed </td>
90
- <td>(</td>
91
- <td class="paramtype">unsigned int&nbsp;</td>
92
- <td class="paramname"> <em>throttleRate</em> = <code>0</code> </td>
93
- <td>&nbsp;)&nbsp;</td>
94
- <td><code> [inline]</code></td>
95
- </tr>
96
- </table>
97
- </div>
98
- <div class="memdoc">
99
-
100
- <p>
101
- Checks whether the file's timestamp has changed or has been created or removed since the last call to <a class="el" href="classPassenger_1_1FileChecker.html#832ff27b4b3e5db84a9d986285e7c270" title="Checks whether the file&#39;s timestamp has changed or has been created or removed...">changed()</a>.
102
- <p>
103
- <dl compact><dt><b>Parameters:</b></dt><dd>
104
- <table border="0" cellspacing="2" cellpadding="0">
105
- <tr><td valign="top"></td><td valign="top"><em>throttleRate</em>&nbsp;</td><td>When set to a non-zero value, throttling will be enabled. stat() will be called at most once per throttleRate seconds. </td></tr>
106
- </table>
107
- </dl>
108
- <dl compact><dt><b>Exceptions:</b></dt><dd>
109
- <table border="0" cellspacing="2" cellpadding="0">
110
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call.">SystemException</a></em>&nbsp;</td><td>Something went wrong while retrieving the system time. stat() errors will <em>not</em> result in <a class="el" href="classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call.">SystemException</a> being thrown. </td></tr>
111
- <tr><td valign="top"></td><td valign="top"><em>boost::thread_interrupted</em>&nbsp;</td><td></td></tr>
112
- </table>
113
- </dl>
114
-
115
- </div>
116
- </div><p>
117
- <hr>The documentation for this class was generated from the following file:<ul>
118
- <li><a class="el" href="FileChecker_8h-source.html">FileChecker.h</a></ul>
119
- </div>
120
- <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 for Passenger by&nbsp;
121
- <a href="http://www.doxygen.org/index.html">
122
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
123
- </body>
124
- </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: Member List</title>
4
- <link href="tabs.css" rel="stylesheet" type="text/css">
5
- <link href="doxygen.css" rel="stylesheet" type="text/css">
6
- </head><body>
7
- <!-- Generated by Doxygen 1.5.8 -->
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="annotated.html"><span>Classes</span></a></li>
14
- <li><a href="files.html"><span>Files</span></a></li>
15
- </ul>
16
- </div>
17
- <div class="tabs">
18
- <ul>
19
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
20
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
21
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
22
- </ul>
23
- </div>
24
- </div>
25
- <div class="contents">
26
- <h1>Passenger::StandardApplicationPool Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1StandardApplicationPool.html">Passenger::StandardApplicationPool</a>, including all inherited members.<p><table>
27
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html#bcf8faeb4f431ae07ea0e20270661d08">clear</a>()</td><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html">Passenger::StandardApplicationPool</a></td><td><code> [inline, virtual]</code></td></tr>
28
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1ApplicationPool.html#c811d261345fcf579f049a2377b4b56b">connected</a>() const </td><td><a class="el" href="classPassenger_1_1ApplicationPool.html">Passenger::ApplicationPool</a></td><td><code> [inline, virtual]</code></td></tr>
29
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html#5a33f0766bbcfb2a48e08fc27bd1b684">get</a>(const string &amp;appRoot)</td><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html">Passenger::StandardApplicationPool</a></td><td><code> [inline, virtual]</code></td></tr>
30
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html#ffc8f3ef8b1d925d203794d191d7fef4">get</a>(const PoolOptions &amp;options)</td><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html">Passenger::StandardApplicationPool</a></td><td><code> [inline, virtual]</code></td></tr>
31
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html#7773c4a3dfbd88eac72401d063831788">getActive</a>() const </td><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html">Passenger::StandardApplicationPool</a></td><td><code> [inline, virtual]</code></td></tr>
32
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html#cdbfe2b9ffacdab4438c879c2411bf02">getCount</a>() const </td><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html">Passenger::StandardApplicationPool</a></td><td><code> [inline, virtual]</code></td></tr>
33
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html#6955152d237920988d20297d2fff5660">getSpawnServerPid</a>() const </td><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html">Passenger::StandardApplicationPool</a></td><td><code> [inline, virtual]</code></td></tr>
34
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html#04ef8c92da189520ad2022f4f82e9553">setMax</a>(unsigned int max)</td><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html">Passenger::StandardApplicationPool</a></td><td><code> [inline, virtual]</code></td></tr>
35
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html#3bafcda8d880f70561ad8a9da16e26ef">setMaxPerApp</a>(unsigned int maxPerApp)</td><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html">Passenger::StandardApplicationPool</a></td><td><code> [inline, virtual]</code></td></tr>
36
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html#f175704fc477f37ba1d387be09fa2e6b">StandardApplicationPool</a>(const string &amp;spawnServerCommand, const string &amp;logFile=&quot;&quot;, const string &amp;rubyCommand=&quot;ruby&quot;, const string &amp;user=&quot;&quot;)</td><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html">Passenger::StandardApplicationPool</a></td><td><code> [inline]</code></td></tr>
37
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html#22b4149ca8256c3042fc342e681b0383">toString</a>(bool lockMutex=true) const </td><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html">Passenger::StandardApplicationPool</a></td><td><code> [inline, virtual]</code></td></tr>
38
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html#d153c41a1d0aca91d17cf36ed6fdda19">toXml</a>() const </td><td><a class="el" href="classPassenger_1_1StandardApplicationPool.html">Passenger::StandardApplicationPool</a></td><td><code> [inline, virtual]</code></td></tr>
39
- </table></div>
40
- <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 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.8 </small></address>
43
- </body>
44
- </html>
@@ -1,342 +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::StandardApplicationPool Class Reference</title>
4
- <link href="tabs.css" rel="stylesheet" type="text/css">
5
- <link href="doxygen.css" rel="stylesheet" type="text/css">
6
- </head><body>
7
- <!-- Generated by Doxygen 1.5.8 -->
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="annotated.html"><span>Classes</span></a></li>
14
- <li><a href="files.html"><span>Files</span></a></li>
15
- </ul>
16
- </div>
17
- <div class="tabs">
18
- <ul>
19
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
20
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
21
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
22
- </ul>
23
- </div>
24
- <div class="navpath"><b>Passenger</b>::<a class="el" href="classPassenger_1_1StandardApplicationPool.html">StandardApplicationPool</a>
25
- </div>
26
- </div>
27
- <div class="contents">
28
- <h1>Passenger::StandardApplicationPool Class Reference<br>
29
- <small>
30
- [<a class="el" href="group__Support.html">Apache-independent support classes and function</a>]</small>
31
- </h1><!-- doxytag: class="Passenger::StandardApplicationPool" --><!-- doxytag: inherits="Passenger::ApplicationPool" -->A standard implementation of <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a> for single-process environments.
32
- <a href="#_details">More...</a>
33
- <p>
34
- <code>#include &lt;<a class="el" href="StandardApplicationPool_8h-source.html">StandardApplicationPool.h</a>&gt;</code>
35
- <p>
36
- <div class="dynheader">
37
- Inheritance diagram for Passenger::StandardApplicationPool:</div>
38
- <div class="dynsection">
39
- <p><center><img src="classPassenger_1_1StandardApplicationPool__inherit__graph.png" border="0" usemap="#Passenger_1_1StandardApplicationPool__inherit__map" alt="Inheritance graph"></center>
40
- <map name="Passenger_1_1StandardApplicationPool__inherit__map">
41
- <area shape="rect" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications." alt="" coords="33,5,223,32"></map>
42
- <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
43
-
44
- <p>
45
- <a href="classPassenger_1_1StandardApplicationPool-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
46
- <tr><td></td></tr>
47
- <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
48
- <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardApplicationPool.html#f175704fc477f37ba1d387be09fa2e6b">StandardApplicationPool</a> (const string &amp;spawnServerCommand, const string &amp;logFile=&quot;&quot;, const string &amp;rubyCommand=&quot;ruby&quot;, const string &amp;user=&quot;&quot;)</td></tr>
49
-
50
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new <a class="el" href="classPassenger_1_1StandardApplicationPool.html" title="A standard implementation of ApplicationPool for single-process environments.">StandardApplicationPool</a> object. <a href="#f175704fc477f37ba1d387be09fa2e6b"></a><br></td></tr>
51
- <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a33f0766bbcfb2a48e08fc27bd1b684"></a><!-- doxytag: member="Passenger::StandardApplicationPool::get" ref="5a33f0766bbcfb2a48e08fc27bd1b684" args="(const string &amp;appRoot)" -->
52
- virtual <a class="el" href="classPassenger_1_1Application.html#d14f673494991460b16246a527ad8ad9">Application::SessionPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardApplicationPool.html#5a33f0766bbcfb2a48e08fc27bd1b684">get</a> (const string &amp;appRoot)</td></tr>
53
-
54
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience shortcut for calling <a class="el" href="classPassenger_1_1StandardApplicationPool.html#5a33f0766bbcfb2a48e08fc27bd1b684" title="Convenience shortcut for calling get() with default spawn options.">get()</a> with default spawn options. <br></td></tr>
55
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classPassenger_1_1Application.html#d14f673494991460b16246a527ad8ad9">Application::SessionPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardApplicationPool.html#ffc8f3ef8b1d925d203794d191d7fef4">get</a> (const <a class="el" href="structPassenger_1_1PoolOptions.html">PoolOptions</a> &amp;options)</td></tr>
56
-
57
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open a new session with the application specified by <code><a class="el" href="structPassenger_1_1PoolOptions.html#822039d204b48d9ed49184646734acf3" title="The root directory of the application to spawn.">PoolOptions.appRoot</a></code>. <a href="#ffc8f3ef8b1d925d203794d191d7fef4"></a><br></td></tr>
58
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardApplicationPool.html#bcf8faeb4f431ae07ea0e20270661d08">clear</a> ()</td></tr>
59
-
60
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear all application instances that are currently in the pool. <a href="#bcf8faeb4f431ae07ea0e20270661d08"></a><br></td></tr>
61
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardApplicationPool.html#04ef8c92da189520ad2022f4f82e9553">setMax</a> (unsigned int max)</td></tr>
62
-
63
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a hard limit on the number of application instances that this <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a> may spawn. <a href="#04ef8c92da189520ad2022f4f82e9553"></a><br></td></tr>
64
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardApplicationPool.html#7773c4a3dfbd88eac72401d063831788">getActive</a> () const </td></tr>
65
-
66
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of active applications in the pool. <a href="#7773c4a3dfbd88eac72401d063831788"></a><br></td></tr>
67
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardApplicationPool.html#cdbfe2b9ffacdab4438c879c2411bf02">getCount</a> () const </td></tr>
68
-
69
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of active applications in the pool. <a href="#cdbfe2b9ffacdab4438c879c2411bf02"></a><br></td></tr>
70
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardApplicationPool.html#3bafcda8d880f70561ad8a9da16e26ef">setMaxPerApp</a> (unsigned int maxPerApp)</td></tr>
71
-
72
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a hard limit on the number of application instances that a single application may spawn in this <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a>. <a href="#3bafcda8d880f70561ad8a9da16e26ef"></a><br></td></tr>
73
- <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual pid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardApplicationPool.html#6955152d237920988d20297d2fff5660">getSpawnServerPid</a> () const </td></tr>
74
-
75
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the process ID of the spawn server that is used. <a href="#6955152d237920988d20297d2fff5660"></a><br></td></tr>
76
- <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="22b4149ca8256c3042fc342e681b0383"></a><!-- doxytag: member="Passenger::StandardApplicationPool::toString" ref="22b4149ca8256c3042fc342e681b0383" args="(bool lockMutex=true) const " -->
77
- virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardApplicationPool.html#22b4149ca8256c3042fc342e681b0383">toString</a> (bool lockMutex=true) const </td></tr>
78
-
79
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a textual description of the internal state of the application pool. <br></td></tr>
80
- <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d153c41a1d0aca91d17cf36ed6fdda19"></a><!-- doxytag: member="Passenger::StandardApplicationPool::toXml" ref="d153c41a1d0aca91d17cf36ed6fdda19" args="() const " -->
81
- virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardApplicationPool.html#d153c41a1d0aca91d17cf36ed6fdda19">toXml</a> () const </td></tr>
82
-
83
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns an XML description of the internal state of the application pool. <br></td></tr>
84
- </table>
85
- <hr><a name="_details"></a><h2>Detailed Description</h2>
86
- A standard implementation of <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a> for single-process environments.
87
- <p>
88
- The environment may or may not be multithreaded - <a class="el" href="classPassenger_1_1StandardApplicationPool.html" title="A standard implementation of ApplicationPool for single-process environments.">StandardApplicationPool</a> is completely thread-safe. Apache with the threading MPM is an example of a multithreaded single-process environment.<p>
89
- This class is unusable in multi-process environments such as Apache with the prefork MPM. The reasons are as follows:<ul>
90
- <li><a class="el" href="classPassenger_1_1StandardApplicationPool.html" title="A standard implementation of ApplicationPool for single-process environments.">StandardApplicationPool</a> uses threads internally. Because threads disappear after a fork(), a <a class="el" href="classPassenger_1_1StandardApplicationPool.html" title="A standard implementation of ApplicationPool for single-process environments.">StandardApplicationPool</a> object will become unusable after a fork().</li><li><a class="el" href="classPassenger_1_1StandardApplicationPool.html" title="A standard implementation of ApplicationPool for single-process environments.">StandardApplicationPool</a> stores its internal cache on the heap. Different processes cannot share their heaps, so they will not be able to access each others' pool cache.</li><li><a class="el" href="classPassenger_1_1StandardApplicationPool.html" title="A standard implementation of ApplicationPool for single-process environments.">StandardApplicationPool</a> has a connection to the spawn server. If there are multiple processes, and they all use the spawn servers's connection at the same time without some sort of synchronization, then bad things will happen.</li></ul>
91
- <p>
92
- (Of course, <a class="el" href="classPassenger_1_1StandardApplicationPool.html" title="A standard implementation of ApplicationPool for single-process environments.">StandardApplicationPool</a> <em>is</em> usable if each process creates its own <a class="el" href="classPassenger_1_1StandardApplicationPool.html" title="A standard implementation of ApplicationPool for single-process environments.">StandardApplicationPool</a> object, but that would defeat the point of having a shared pool.)<p>
93
- For multi-process environments, one should use <a class="el" href="classPassenger_1_1ApplicationPoolServer.html" title="Multi-process usage support for ApplicationPool.">ApplicationPoolServer</a> instead. <hr><h2>Constructor &amp; Destructor Documentation</h2>
94
- <a class="anchor" name="f175704fc477f37ba1d387be09fa2e6b"></a><!-- doxytag: member="Passenger::StandardApplicationPool::StandardApplicationPool" ref="f175704fc477f37ba1d387be09fa2e6b" args="(const string &amp;spawnServerCommand, const string &amp;logFile=&quot;&quot;, const string &amp;rubyCommand=&quot;ruby&quot;, const string &amp;user=&quot;&quot;)" -->
95
- <div class="memitem">
96
- <div class="memproto">
97
- <table class="memname">
98
- <tr>
99
- <td class="memname">Passenger::StandardApplicationPool::StandardApplicationPool </td>
100
- <td>(</td>
101
- <td class="paramtype">const string &amp;&nbsp;</td>
102
- <td class="paramname"> <em>spawnServerCommand</em>, </td>
103
- </tr>
104
- <tr>
105
- <td class="paramkey"></td>
106
- <td></td>
107
- <td class="paramtype">const string &amp;&nbsp;</td>
108
- <td class="paramname"> <em>logFile</em> = <code>&quot;&quot;</code>, </td>
109
- </tr>
110
- <tr>
111
- <td class="paramkey"></td>
112
- <td></td>
113
- <td class="paramtype">const string &amp;&nbsp;</td>
114
- <td class="paramname"> <em>rubyCommand</em> = <code>&quot;ruby&quot;</code>, </td>
115
- </tr>
116
- <tr>
117
- <td class="paramkey"></td>
118
- <td></td>
119
- <td class="paramtype">const string &amp;&nbsp;</td>
120
- <td class="paramname"> <em>user</em> = <code>&quot;&quot;</code></td><td>&nbsp;</td>
121
- </tr>
122
- <tr>
123
- <td></td>
124
- <td>)</td>
125
- <td></td><td></td><td><code> [inline]</code></td>
126
- </tr>
127
- </table>
128
- </div>
129
- <div class="memdoc">
130
-
131
- <p>
132
- Create a new <a class="el" href="classPassenger_1_1StandardApplicationPool.html" title="A standard implementation of ApplicationPool for single-process environments.">StandardApplicationPool</a> object.
133
- <p>
134
- <dl compact><dt><b>Parameters:</b></dt><dd>
135
- <table border="0" cellspacing="2" cellpadding="0">
136
- <tr><td valign="top"></td><td valign="top"><em>spawnServerCommand</em>&nbsp;</td><td>The filename of the spawn server to use. </td></tr>
137
- <tr><td valign="top"></td><td valign="top"><em>logFile</em>&nbsp;</td><td>Specify a log file that the spawn server should use. Messages on its standard output and standard error channels will be written to this log file. If an empty string is specified, no log file will be used, and the spawn server will use the same standard output/error channels as the current process. </td></tr>
138
- <tr><td valign="top"></td><td valign="top"><em>rubyCommand</em>&nbsp;</td><td>The Ruby interpreter's command. </td></tr>
139
- <tr><td valign="top"></td><td valign="top"><em>user</em>&nbsp;</td><td>The user that the spawn manager should run as. This parameter only has effect if the current process is running as root. If the empty string is given, or if the <code>user</code> is not a valid username, then the spawn manager will be run as the current user. </td></tr>
140
- </table>
141
- </dl>
142
- <dl compact><dt><b>Exceptions:</b></dt><dd>
143
- <table border="0" cellspacing="2" cellpadding="0">
144
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call.">SystemException</a></em>&nbsp;</td><td>An error occured while trying to setup the spawn server. </td></tr>
145
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1IOException.html" title="Represents an error that occured during an I/O operation.">IOException</a></em>&nbsp;</td><td>The specified log file could not be opened. </td></tr>
146
- </table>
147
- </dl>
148
-
149
- </div>
150
- </div><p>
151
- <hr><h2>Member Function Documentation</h2>
152
- <a class="anchor" name="bcf8faeb4f431ae07ea0e20270661d08"></a><!-- doxytag: member="Passenger::StandardApplicationPool::clear" ref="bcf8faeb4f431ae07ea0e20270661d08" args="()" -->
153
- <div class="memitem">
154
- <div class="memproto">
155
- <table class="memname">
156
- <tr>
157
- <td class="memname">virtual void Passenger::StandardApplicationPool::clear </td>
158
- <td>(</td>
159
- <td class="paramname"> </td>
160
- <td>&nbsp;)&nbsp;</td>
161
- <td><code> [inline, virtual]</code></td>
162
- </tr>
163
- </table>
164
- </div>
165
- <div class="memdoc">
166
-
167
- <p>
168
- Clear all application instances that are currently in the pool.
169
- <p>
170
- This method is used by unit tests to verify that the implementation is correct, and thus should not be called directly.
171
- <p>Implements <a class="el" href="classPassenger_1_1ApplicationPool.html#74db4d7a693d45b16320b2296a0c0997">Passenger::ApplicationPool</a>.</p>
172
-
173
- </div>
174
- </div><p>
175
- <a class="anchor" name="ffc8f3ef8b1d925d203794d191d7fef4"></a><!-- doxytag: member="Passenger::StandardApplicationPool::get" ref="ffc8f3ef8b1d925d203794d191d7fef4" args="(const PoolOptions &amp;options)" -->
176
- <div class="memitem">
177
- <div class="memproto">
178
- <table class="memname">
179
- <tr>
180
- <td class="memname">virtual <a class="el" href="classPassenger_1_1Application.html#d14f673494991460b16246a527ad8ad9">Application::SessionPtr</a> Passenger::StandardApplicationPool::get </td>
181
- <td>(</td>
182
- <td class="paramtype">const <a class="el" href="structPassenger_1_1PoolOptions.html">PoolOptions</a> &amp;&nbsp;</td>
183
- <td class="paramname"> <em>options</em> </td>
184
- <td>&nbsp;)&nbsp;</td>
185
- <td><code> [inline, virtual]</code></td>
186
- </tr>
187
- </table>
188
- </div>
189
- <div class="memdoc">
190
-
191
- <p>
192
- Open a new session with the application specified by <code><a class="el" href="structPassenger_1_1PoolOptions.html#822039d204b48d9ed49184646734acf3" title="The root directory of the application to spawn.">PoolOptions.appRoot</a></code>.
193
- <p>
194
- See the class description for <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a>, as well as <a class="el" href="classPassenger_1_1Application.html#34636f796ff3924ad5ec142aaa581379" title="Connect to this application instance with the purpose of sending a request to the...">Application::connect()</a>, on how to use the returned session object.<p>
195
- Internally, this method may either spawn a new application instance, or use an existing one.<p>
196
- <dl compact><dt><b>Parameters:</b></dt><dd>
197
- <table border="0" cellspacing="2" cellpadding="0">
198
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>An object containing information on which application to open a session with, as well as spawning details. Spawning details will be used if the pool decides that spawning a new application instance is necessary. See <a class="el" href="classPassenger_1_1SpawnManager.html" title="Spawning of Ruby on Rails/Rack application instances.">SpawnManager</a> and <a class="el" href="structPassenger_1_1PoolOptions.html" title="This struct encapsulates information for ApplicationPool::get() and for SpawnManager::spawn()...">PoolOptions</a> for details. </td></tr>
199
- </table>
200
- </dl>
201
- <dl class="return" compact><dt><b>Returns:</b></dt><dd>A session object. </dd></dl>
202
- <dl compact><dt><b>Exceptions:</b></dt><dd>
203
- <table border="0" cellspacing="2" cellpadding="0">
204
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1SpawnException.html" title="Thrown when SpawnManager or ApplicationPool fails to spawn an application instance...">SpawnException</a></em>&nbsp;</td><td>An attempt was made to spawn a new application instance, but that attempt failed. </td></tr>
205
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1BusyException.html" title="The application pool is too busy and cannot fulfill a get() request.">BusyException</a></em>&nbsp;</td><td>The application pool is too busy right now, and cannot satisfy the request. One should either abort, or try again later. </td></tr>
206
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1IOException.html" title="Represents an error that occured during an I/O operation.">IOException</a></em>&nbsp;</td><td>Something else went wrong. </td></tr>
207
- <tr><td valign="top"></td><td valign="top"><em>thread_interrupted</em>&nbsp;</td><td></td></tr>
208
- </table>
209
- </dl>
210
- <dl class="note" compact><dt><b>Note:</b></dt><dd>Applications are uniquely identified with the application root string. So although <code>appRoot</code> does not have to be absolute, it should be. If one calls <code>get("/home/foo")</code> and <code>get("/home/../home/foo")</code>, then <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a> will think they're 2 different applications, and thus will spawn 2 application instances. </dd></dl>
211
-
212
- <p>Implements <a class="el" href="classPassenger_1_1ApplicationPool.html#0b206eb4eb2869423d75c042a0653c67">Passenger::ApplicationPool</a>.</p>
213
-
214
- </div>
215
- </div><p>
216
- <a class="anchor" name="7773c4a3dfbd88eac72401d063831788"></a><!-- doxytag: member="Passenger::StandardApplicationPool::getActive" ref="7773c4a3dfbd88eac72401d063831788" args="() const " -->
217
- <div class="memitem">
218
- <div class="memproto">
219
- <table class="memname">
220
- <tr>
221
- <td class="memname">virtual unsigned int Passenger::StandardApplicationPool::getActive </td>
222
- <td>(</td>
223
- <td class="paramname"> </td>
224
- <td>&nbsp;)&nbsp;</td>
225
- <td> const<code> [inline, virtual]</code></td>
226
- </tr>
227
- </table>
228
- </div>
229
- <div class="memdoc">
230
-
231
- <p>
232
- Get the number of active applications in the pool.
233
- <p>
234
- This method exposes an implementation detail of the underlying pooling algorithm. It is used by unit tests to verify that the implementation is correct, and thus should not be called directly.
235
- <p>Implements <a class="el" href="classPassenger_1_1ApplicationPool.html#06d1eae044d4d761ce77cf09049df8c8">Passenger::ApplicationPool</a>.</p>
236
-
237
- </div>
238
- </div><p>
239
- <a class="anchor" name="cdbfe2b9ffacdab4438c879c2411bf02"></a><!-- doxytag: member="Passenger::StandardApplicationPool::getCount" ref="cdbfe2b9ffacdab4438c879c2411bf02" args="() const " -->
240
- <div class="memitem">
241
- <div class="memproto">
242
- <table class="memname">
243
- <tr>
244
- <td class="memname">virtual unsigned int Passenger::StandardApplicationPool::getCount </td>
245
- <td>(</td>
246
- <td class="paramname"> </td>
247
- <td>&nbsp;)&nbsp;</td>
248
- <td> const<code> [inline, virtual]</code></td>
249
- </tr>
250
- </table>
251
- </div>
252
- <div class="memdoc">
253
-
254
- <p>
255
- Get the number of active applications in the pool.
256
- <p>
257
- This method exposes an implementation detail of the underlying pooling algorithm. It is used by unit tests to verify that the implementation is correct, and thus should not be called directly.
258
- <p>Implements <a class="el" href="classPassenger_1_1ApplicationPool.html#93b0277beb510855f85fee5de5c369bb">Passenger::ApplicationPool</a>.</p>
259
-
260
- </div>
261
- </div><p>
262
- <a class="anchor" name="6955152d237920988d20297d2fff5660"></a><!-- doxytag: member="Passenger::StandardApplicationPool::getSpawnServerPid" ref="6955152d237920988d20297d2fff5660" args="() const " -->
263
- <div class="memitem">
264
- <div class="memproto">
265
- <table class="memname">
266
- <tr>
267
- <td class="memname">virtual pid_t Passenger::StandardApplicationPool::getSpawnServerPid </td>
268
- <td>(</td>
269
- <td class="paramname"> </td>
270
- <td>&nbsp;)&nbsp;</td>
271
- <td> const<code> [inline, virtual]</code></td>
272
- </tr>
273
- </table>
274
- </div>
275
- <div class="memdoc">
276
-
277
- <p>
278
- Get the process ID of the spawn server that is used.
279
- <p>
280
- This method exposes an implementation detail. It is used by unit tests to verify that the implementation is correct, and thus should not be used directly.
281
- <p>Implements <a class="el" href="classPassenger_1_1ApplicationPool.html#d9149c3b434ef8e18fd15a77af1a6c2c">Passenger::ApplicationPool</a>.</p>
282
-
283
- </div>
284
- </div><p>
285
- <a class="anchor" name="04ef8c92da189520ad2022f4f82e9553"></a><!-- doxytag: member="Passenger::StandardApplicationPool::setMax" ref="04ef8c92da189520ad2022f4f82e9553" args="(unsigned int max)" -->
286
- <div class="memitem">
287
- <div class="memproto">
288
- <table class="memname">
289
- <tr>
290
- <td class="memname">virtual void Passenger::StandardApplicationPool::setMax </td>
291
- <td>(</td>
292
- <td class="paramtype">unsigned int&nbsp;</td>
293
- <td class="paramname"> <em>max</em> </td>
294
- <td>&nbsp;)&nbsp;</td>
295
- <td><code> [inline, virtual]</code></td>
296
- </tr>
297
- </table>
298
- </div>
299
- <div class="memdoc">
300
-
301
- <p>
302
- Set a hard limit on the number of application instances that this <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a> may spawn.
303
- <p>
304
- The exact behavior depends on the used algorithm, and is not specified by these API docs.<p>
305
- It is allowed to set a limit lower than the current number of spawned applications.
306
- <p>Implements <a class="el" href="classPassenger_1_1ApplicationPool.html#0e0f21972ab130c9c0f90c2212328794">Passenger::ApplicationPool</a>.</p>
307
-
308
- </div>
309
- </div><p>
310
- <a class="anchor" name="3bafcda8d880f70561ad8a9da16e26ef"></a><!-- doxytag: member="Passenger::StandardApplicationPool::setMaxPerApp" ref="3bafcda8d880f70561ad8a9da16e26ef" args="(unsigned int maxPerApp)" -->
311
- <div class="memitem">
312
- <div class="memproto">
313
- <table class="memname">
314
- <tr>
315
- <td class="memname">virtual void Passenger::StandardApplicationPool::setMaxPerApp </td>
316
- <td>(</td>
317
- <td class="paramtype">unsigned int&nbsp;</td>
318
- <td class="paramname"> <em>max</em> </td>
319
- <td>&nbsp;)&nbsp;</td>
320
- <td><code> [inline, virtual]</code></td>
321
- </tr>
322
- </table>
323
- </div>
324
- <div class="memdoc">
325
-
326
- <p>
327
- Set a hard limit on the number of application instances that a single application may spawn in this <a class="el" href="classPassenger_1_1ApplicationPool.html" title="A persistent pool of Applications.">ApplicationPool</a>.
328
- <p>
329
- The exact behavior depends on the used algorithm, and is not specified by these API docs.<p>
330
- It is allowed to set a limit lower than the current number of spawned applications.
331
- <p>Implements <a class="el" href="classPassenger_1_1ApplicationPool.html#b0437434c79b5444ac0faf768f1410e8">Passenger::ApplicationPool</a>.</p>
332
-
333
- </div>
334
- </div><p>
335
- <hr>The documentation for this class was generated from the following file:<ul>
336
- <li><a class="el" href="StandardApplicationPool_8h-source.html">StandardApplicationPool.h</a></ul>
337
- </div>
338
- <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 for Passenger by&nbsp;
339
- <a href="http://www.doxygen.org/index.html">
340
- <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
341
- </body>
342
- </html>