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
@@ -0,0 +1,114 @@
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: Configuration.h Source File</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><a href="namespaces.html"><span>Namespaces</span></a></li>
14
+ <li><a href="annotated.html"><span>Classes</span></a></li>
15
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
16
+ </ul>
17
+ </div>
18
+ <div class="tabs">
19
+ <ul>
20
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
21
+ </ul>
22
+ </div>
23
+ <h1>Configuration.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
24
+ <a name="l00002"></a>00002 <span class="comment"> * Copyright (C) Igor Sysoev</span>
25
+ <a name="l00003"></a>00003 <span class="comment"> * Copyright (C) 2007 Manlio Perillo (manlio.perillo@gmail.com)</span>
26
+ <a name="l00004"></a>00004 <span class="comment"> * Copyright (C) 2010 Phusion</span>
27
+ <a name="l00005"></a>00005 <span class="comment"> *</span>
28
+ <a name="l00006"></a>00006 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
29
+ <a name="l00007"></a>00007 <span class="comment"> * modification, are permitted provided that the following conditions</span>
30
+ <a name="l00008"></a>00008 <span class="comment"> * are met:</span>
31
+ <a name="l00009"></a>00009 <span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
32
+ <a name="l00010"></a>00010 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
33
+ <a name="l00011"></a>00011 <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
34
+ <a name="l00012"></a>00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
35
+ <a name="l00013"></a>00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
36
+ <a name="l00014"></a>00014 <span class="comment"> *</span>
37
+ <a name="l00015"></a>00015 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND</span>
38
+ <a name="l00016"></a>00016 <span class="comment"> * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span>
39
+ <a name="l00017"></a>00017 <span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span>
40
+ <a name="l00018"></a>00018 <span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE</span>
41
+ <a name="l00019"></a>00019 <span class="comment"> * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</span>
42
+ <a name="l00020"></a>00020 <span class="comment"> * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</span>
43
+ <a name="l00021"></a>00021 <span class="comment"> * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</span>
44
+ <a name="l00022"></a>00022 <span class="comment"> * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span>
45
+ <a name="l00023"></a>00023 <span class="comment"> * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</span>
46
+ <a name="l00024"></a>00024 <span class="comment"> * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</span>
47
+ <a name="l00025"></a>00025 <span class="comment"> * SUCH DAMAGE.</span>
48
+ <a name="l00026"></a>00026 <span class="comment"> */</span>
49
+ <a name="l00027"></a>00027
50
+ <a name="l00028"></a>00028 <span class="preprocessor">#ifndef _PASSENGER_NGINX_CONFIGURATION_H_</span>
51
+ <a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define _PASSENGER_NGINX_CONFIGURATION_H_</span>
52
+ <a name="l00030"></a>00030 <span class="preprocessor"></span>
53
+ <a name="l00031"></a>00031 <span class="preprocessor">#include &lt;ngx_config.h&gt;</span>
54
+ <a name="l00032"></a>00032 <span class="preprocessor">#include &lt;ngx_http.h&gt;</span>
55
+ <a name="l00033"></a>00033
56
+ <a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
57
+ <a name="l00035"></a>00035 ngx_http_upstream_conf_t upstream_config;
58
+ <a name="l00036"></a>00036 ngx_str_t index;
59
+ <a name="l00037"></a>00037 ngx_array_t *flushes;
60
+ <a name="l00038"></a>00038 ngx_array_t *vars_len;
61
+ <a name="l00039"></a>00039 ngx_array_t *vars;
62
+ <a name="l00040"></a>00040 ngx_array_t *vars_source;
63
+ <a name="l00041"></a>00041
64
+ <a name="l00042"></a>00042 ngx_flag_t enabled;
65
+ <a name="l00043"></a>00043 ngx_flag_t use_global_queue;
66
+ <a name="l00044"></a>00044 ngx_flag_t friendly_error_pages;
67
+ <a name="l00045"></a>00045 ngx_flag_t analytics;
68
+ <a name="l00046"></a>00046 ngx_str_t environment;
69
+ <a name="l00047"></a>00047 ngx_str_t user;
70
+ <a name="l00048"></a>00048 ngx_str_t group;
71
+ <a name="l00049"></a>00049 ngx_str_t spawn_method;
72
+ <a name="l00050"></a>00050 ngx_str_t app_group_name;
73
+ <a name="l00051"></a>00051 ngx_str_t app_rights;
74
+ <a name="l00052"></a>00052 ngx_int_t min_instances;
75
+ <a name="l00053"></a>00053 ngx_int_t framework_spawner_idle_time;
76
+ <a name="l00054"></a>00054 ngx_int_t app_spawner_idle_time;
77
+ <a name="l00055"></a>00055 ngx_array_t *base_uris;
78
+ <a name="l00056"></a>00056
79
+ <a name="l00057"></a>00057 <span class="comment">/************************************/</span>
80
+ <a name="l00058"></a>00058 } passenger_loc_conf_t;
81
+ <a name="l00059"></a>00059
82
+ <a name="l00060"></a>00060 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
83
+ <a name="l00061"></a>00061 ngx_str_t root_dir;
84
+ <a name="l00062"></a>00062 ngx_str_t ruby;
85
+ <a name="l00063"></a>00063 ngx_uint_t log_level;
86
+ <a name="l00064"></a>00064 ngx_uint_t max_pool_size;
87
+ <a name="l00065"></a>00065 ngx_uint_t max_instances_per_app;
88
+ <a name="l00066"></a>00066 ngx_uint_t pool_idle_time;
89
+ <a name="l00067"></a>00067 ngx_flag_t user_switching;
90
+ <a name="l00068"></a>00068 ngx_str_t default_user;
91
+ <a name="l00069"></a>00069 ngx_str_t default_group;
92
+ <a name="l00070"></a>00070 ngx_str_t analytics_log_dir;
93
+ <a name="l00071"></a>00071 ngx_str_t analytics_log_user;
94
+ <a name="l00072"></a>00072 ngx_str_t analytics_log_group;
95
+ <a name="l00073"></a>00073 ngx_str_t analytics_log_permissions;
96
+ <a name="l00074"></a>00074 ngx_array_t *prestart_uris;
97
+ <a name="l00075"></a>00075 } passenger_main_conf_t;
98
+ <a name="l00076"></a>00076
99
+ <a name="l00077"></a>00077 <span class="keyword">extern</span> <span class="keyword">const</span> ngx_command_t passenger_commands[];
100
+ <a name="l00078"></a>00078 <span class="keyword">extern</span> passenger_main_conf_t passenger_main_conf;
101
+ <a name="l00079"></a>00079
102
+ <a name="l00080"></a>00080 <span class="keywordtype">void</span> *passenger_create_main_conf(ngx_conf_t *cf);
103
+ <a name="l00081"></a>00081 <span class="keywordtype">char</span> *passenger_init_main_conf(ngx_conf_t *cf, <span class="keywordtype">void</span> *conf_pointer);
104
+ <a name="l00082"></a>00082 <span class="keywordtype">void</span> *passenger_create_loc_conf(ngx_conf_t *cf);
105
+ <a name="l00083"></a>00083 <span class="keywordtype">char</span> *passenger_merge_loc_conf(ngx_conf_t *cf, <span class="keywordtype">void</span> *parent, <span class="keywordtype">void</span> *child);
106
+ <a name="l00084"></a>00084
107
+ <a name="l00085"></a>00085 <span class="preprocessor">#endif </span><span class="comment">/* _PASSENGER_NGINX_CONFIGURATION_H_ */</span>
108
+ <a name="l00086"></a>00086
109
+ </pre></div></div>
110
+ <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 21 12:22:45 2010 for Passenger by&nbsp;
111
+ <a href="http://www.doxygen.org/index.html">
112
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
113
+ </body>
114
+ </html>
@@ -0,0 +1,91 @@
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: ngx_http_passenger_module.h Source File</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><a href="namespaces.html"><span>Namespaces</span></a></li>
14
+ <li><a href="annotated.html"><span>Classes</span></a></li>
15
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
16
+ </ul>
17
+ </div>
18
+ <div class="tabs">
19
+ <ul>
20
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
21
+ </ul>
22
+ </div>
23
+ <h1>ngx_http_passenger_module.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
24
+ <a name="l00002"></a>00002 <span class="comment"> * Copyright (C) Igor Sysoev</span>
25
+ <a name="l00003"></a>00003 <span class="comment"> * Copyright (C) 2007 Manlio Perillo (manlio.perillo@gmail.com)</span>
26
+ <a name="l00004"></a>00004 <span class="comment"> * Copyright (C) 2010 Phusion</span>
27
+ <a name="l00005"></a>00005 <span class="comment"> *</span>
28
+ <a name="l00006"></a>00006 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
29
+ <a name="l00007"></a>00007 <span class="comment"> * modification, are permitted provided that the following conditions</span>
30
+ <a name="l00008"></a>00008 <span class="comment"> * are met:</span>
31
+ <a name="l00009"></a>00009 <span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
32
+ <a name="l00010"></a>00010 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
33
+ <a name="l00011"></a>00011 <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
34
+ <a name="l00012"></a>00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
35
+ <a name="l00013"></a>00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
36
+ <a name="l00014"></a>00014 <span class="comment"> *</span>
37
+ <a name="l00015"></a>00015 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND</span>
38
+ <a name="l00016"></a>00016 <span class="comment"> * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span>
39
+ <a name="l00017"></a>00017 <span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span>
40
+ <a name="l00018"></a>00018 <span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE</span>
41
+ <a name="l00019"></a>00019 <span class="comment"> * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</span>
42
+ <a name="l00020"></a>00020 <span class="comment"> * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</span>
43
+ <a name="l00021"></a>00021 <span class="comment"> * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</span>
44
+ <a name="l00022"></a>00022 <span class="comment"> * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span>
45
+ <a name="l00023"></a>00023 <span class="comment"> * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</span>
46
+ <a name="l00024"></a>00024 <span class="comment"> * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</span>
47
+ <a name="l00025"></a>00025 <span class="comment"> * SUCH DAMAGE.</span>
48
+ <a name="l00026"></a>00026 <span class="comment"> */</span>
49
+ <a name="l00027"></a>00027
50
+ <a name="l00028"></a>00028 <span class="preprocessor">#ifndef _PASSENGER_NGINX_MODULE_H_</span>
51
+ <a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define _PASSENGER_NGINX_MODULE_H_</span>
52
+ <a name="l00030"></a>00030 <span class="preprocessor"></span>
53
+ <a name="l00031"></a>00031 <span class="preprocessor">#include &lt;ngx_core.h&gt;</span>
54
+ <a name="l00032"></a>00032 <span class="preprocessor">#include "../common/AgentsStarter.h"</span>
55
+ <a name="l00033"></a>00033 <span class="preprocessor">#include "../common/Utils/CachedFileStat.h"</span>
56
+ <a name="l00034"></a>00034 <span class="comment"></span>
57
+ <a name="l00035"></a>00035 <span class="comment">/**</span>
58
+ <a name="l00036"></a>00036 <span class="comment"> * The Nginx version number as an integer.</span>
59
+ <a name="l00037"></a>00037 <span class="comment"> * For example, on nginx 1.7.30 this value is 1007030.</span>
60
+ <a name="l00038"></a>00038 <span class="comment"> */</span>
61
+ <a name="l00039"></a>00039 <span class="preprocessor">#define NGINX_VERSION_NUM \</span>
62
+ <a name="l00040"></a>00040 <span class="preprocessor"> (1000000 * PASSENGER_NGINX_MAJOR_VERSION + \</span>
63
+ <a name="l00041"></a>00041 <span class="preprocessor"> 1000 * PASSENGER_NGINX_MINOR_VERSION + \</span>
64
+ <a name="l00042"></a>00042 <span class="preprocessor"> PASSENGER_NGINX_MICRO_VERSION)</span>
65
+ <a name="l00043"></a>00043 <span class="preprocessor"></span>
66
+ <a name="l00044"></a>00044 <span class="keyword">extern</span> ngx_module_t ngx_http_passenger_module;
67
+ <a name="l00045"></a>00045 <span class="comment"></span>
68
+ <a name="l00046"></a>00046 <span class="comment">/**</span>
69
+ <a name="l00047"></a>00047 <span class="comment"> * A static schema string to be assigned to Nginx 'upstream' strctures.</span>
70
+ <a name="l00048"></a>00048 <span class="comment"> */</span>
71
+ <a name="l00049"></a>00049 <span class="keyword">extern</span> ngx_str_t passenger_schema_string;
72
+ <a name="l00050"></a>00050
73
+ <a name="l00051"></a>00051 <span class="keyword">extern</span> ngx_str_t passenger_placeholder_upstream_address;
74
+ <a name="l00052"></a>00052 <span class="comment"></span>
75
+ <a name="l00053"></a>00053 <span class="comment">/**</span>
76
+ <a name="l00054"></a>00054 <span class="comment"> * A CachedFileStat object used for caching stat() calls.</span>
77
+ <a name="l00055"></a>00055 <span class="comment"> */</span>
78
+ <a name="l00056"></a>00056 <span class="keyword">extern</span> CachedFileStat *passenger_stat_cache;
79
+ <a name="l00057"></a>00057
80
+ <a name="l00058"></a>00058 <span class="keyword">extern</span> AgentsStarter *passenger_agents_starter;
81
+ <a name="l00059"></a>00059
82
+ <a name="l00060"></a>00060 <span class="keyword">extern</span> ngx_cycle_t *passenger_current_cycle;
83
+ <a name="l00061"></a>00061
84
+ <a name="l00062"></a>00062 <span class="preprocessor">#endif </span><span class="comment">/* _PASSENGER_NGINX_MODULE_H_ */</span>
85
+ <a name="l00063"></a>00063
86
+ </pre></div></div>
87
+ <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 21 12:22:45 2010 for Passenger by&nbsp;
88
+ <a href="http://www.doxygen.org/index.html">
89
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
90
+ </body>
91
+ </html>
@@ -10,6 +10,7 @@
10
10
  <ul>
11
11
  <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
12
  <li><a href="modules.html"><span>Modules</span></a></li>
13
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13
14
  <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
14
15
  <li><a href="files.html"><span>Files</span></a></li>
15
16
  </ul>
@@ -25,7 +26,7 @@
25
26
  <div class="contents">
26
27
  <h1>Passenger::AnythingToString&lt; T &gt; Member List</h1>This is the complete list of members for <a class="el" href="structPassenger_1_1AnythingToString.html">Passenger::AnythingToString&lt; T &gt;</a>, including all inherited members.<p><table>
27
28
  </table></div>
28
- <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 for Passenger by&nbsp;
29
+ <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 21 12:22:48 2010 for Passenger by&nbsp;
29
30
  <a href="http://www.doxygen.org/index.html">
30
31
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
31
32
  </body>
@@ -10,6 +10,7 @@
10
10
  <ul>
11
11
  <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
12
  <li><a href="modules.html"><span>Modules</span></a></li>
13
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13
14
  <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
14
15
  <li><a href="files.html"><span>Files</span></a></li>
15
16
  </ul>
@@ -21,7 +22,7 @@
21
22
  <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
22
23
  </ul>
23
24
  </div>
24
- <div class="navpath"><b>Passenger</b>::<a class="el" href="structPassenger_1_1AnythingToString.html">AnythingToString</a>
25
+ <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="structPassenger_1_1AnythingToString.html">AnythingToString</a>
25
26
  </div>
26
27
  </div>
27
28
  <div class="contents">
@@ -44,7 +45,7 @@ Used internally by <a class="el" href="group__Support.html#gf6fab368d70c18fdf16b
44
45
  Do not use directly. <hr>The documentation for this struct was generated from the following file:<ul>
45
46
  <li><a class="el" href="Utils_8h-source.html">Utils.h</a></ul>
46
47
  </div>
47
- <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 for Passenger by&nbsp;
48
+ <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 21 12:22:48 2010 for Passenger by&nbsp;
48
49
  <a href="http://www.doxygen.org/index.html">
49
50
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
50
51
  </body>
@@ -10,6 +10,7 @@
10
10
  <ul>
11
11
  <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
12
  <li><a href="modules.html"><span>Modules</span></a></li>
13
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13
14
  <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
14
15
  <li><a href="files.html"><span>Files</span></a></li>
15
16
  </ul>
@@ -25,7 +26,7 @@
25
26
  <div class="contents">
26
27
  <h1>Passenger::AnythingToString&lt; vector&lt; string &gt; &gt; Member List</h1>This is the complete list of members for <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>, including all inherited members.<p><table>
27
28
  </table></div>
28
- <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 for Passenger by&nbsp;
29
+ <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 21 12:22:48 2010 for Passenger by&nbsp;
29
30
  <a href="http://www.doxygen.org/index.html">
30
31
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
31
32
  </body>
@@ -10,6 +10,7 @@
10
10
  <ul>
11
11
  <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
12
  <li><a href="modules.html"><span>Modules</span></a></li>
13
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13
14
  <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
14
15
  <li><a href="files.html"><span>Files</span></a></li>
15
16
  </ul>
@@ -21,7 +22,7 @@
21
22
  <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
22
23
  </ul>
23
24
  </div>
24
- <div class="navpath"><b>Passenger</b>::<a class="el" href="structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html">AnythingToString&lt; vector&lt; string &gt; &gt;</a>
25
+ <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html">AnythingToString&lt; vector&lt; string &gt; &gt;</a>
25
26
  </div>
26
27
  </div>
27
28
  <div class="contents">
@@ -44,7 +45,7 @@ Used internally by <a class="el" href="group__Support.html#gf6fab368d70c18fdf16b
44
45
  Do not use directly. <hr>The documentation for this struct was generated from the following file:<ul>
45
46
  <li><a class="el" href="Utils_8h-source.html">Utils.h</a></ul>
46
47
  </div>
47
- <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 for Passenger by&nbsp;
48
+ <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 21 12:22:48 2010 for Passenger by&nbsp;
48
49
  <a href="http://www.doxygen.org/index.html">
49
50
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
50
51
  </body>
@@ -0,0 +1,33 @@
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><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>Passenger::MessageServer::MessageServer::DisconnectEventBroadcastGuard Member List</h1>This is the complete list of members for <a class="el" href="structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html">Passenger::MessageServer::MessageServer::DisconnectEventBroadcastGuard</a>, including all inherited members.<p><table>
28
+ </table></div>
29
+ <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 21 12:22:48 2010 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.8 </small></address>
32
+ </body>
33
+ </html>
@@ -0,0 +1,49 @@
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::MessageServer::MessageServer::DisconnectEventBroadcastGuard Struct 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><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_1MessageServer.html">MessageServer</a>::<a class="el" href="structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html">DisconnectEventBroadcastGuard</a>
26
+ </div>
27
+ </div>
28
+ <div class="contents">
29
+ <h1>Passenger::MessageServer::MessageServer::DisconnectEventBroadcastGuard Struct Reference</h1><!-- doxytag: class="Passenger::MessageServer::DisconnectEventBroadcastGuard" -->Calls clientDisconnected() on all handlers when destroyed.
30
+ <a href="#_details">More...</a>
31
+ <p>
32
+ <code>#include &lt;<a class="el" href="MessageServer_8h-source.html">MessageServer.h</a>&gt;</code>
33
+ <p>
34
+
35
+ <p>
36
+ <a href="structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
37
+ <tr><td></td></tr>
38
+ </table>
39
+ <hr><a name="_details"></a><h2>Detailed Description</h2>
40
+ Calls clientDisconnected() on all handlers when destroyed.
41
+ <p>
42
+ <hr>The documentation for this struct was generated from the following file:<ul>
43
+ <li><a class="el" href="MessageServer_8h-source.html">MessageServer.h</a></ul>
44
+ </div>
45
+ <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 21 12:22:48 2010 for Passenger by&nbsp;
46
+ <a href="http://www.doxygen.org/index.html">
47
+ <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
48
+ </body>
49
+ </html>
@@ -10,6 +10,7 @@
10
10
  <ul>
11
11
  <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
12
  <li><a href="modules.html"><span>Modules</span></a></li>
13
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13
14
  <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
14
15
  <li><a href="files.html"><span>Files</span></a></li>
15
16
  </ul>
@@ -24,25 +25,36 @@
24
25
  </div>
25
26
  <div class="contents">
26
27
  <h1>Passenger::PoolOptions Member List</h1>This is the complete list of members for <a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a>, including all inherited members.<p><table>
28
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#dce57f30c4f33d8b55726d0eaa15addf">appGroupName</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
27
29
  <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#822039d204b48d9ed49184646734acf3">appRoot</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
28
30
  <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#5a2f27a853e33c22da71430216d798cf">appSpawnerTimeout</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
29
31
  <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#5e1c129ae0b8be350c7ed238eec8a8c9">appType</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
32
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#85c99df1b3d74b47c73049e20f0a7192">baseURI</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
33
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#fdbe6d3418132ff3ca17427778e0948c">defaultGroup</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
34
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#f9e15d356066ebd5f1454dca7937374f">defaultUser</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
30
35
  <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#4324bb724859905f9991faa9b90aedbc">environment</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
36
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#aa4f5d4ae1534ada8613fbe497a38924">environmentVariables</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
31
37
  <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#cbbea86958b42ffa7989680ed1587c70">frameworkSpawnerTimeout</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
32
- <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#7feed1c0a150ffc9bd003f5535d675db">lowerPrivilege</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
33
- <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#ec92a9f5d0a265a77fbfdb549f39557a">lowestUser</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
38
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#43eb2294bff16bbcbafec569babca883">getAppGroupName</a>() const </td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td><code> [inline]</code></td></tr>
39
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#6292899199727c513fd641d313c42372">group</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
40
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#1709d96d9d5d59ce79c90434a45cb076">initiateSession</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
41
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#ce54185a9981f103a036a7ac3e768612">log</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
34
42
  <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#70251ed3cb3713cb26a0b166c6b015c0">maxRequests</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
35
- <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#f61aa527e17a4f2bb5d66260749d17cd">memoryLimit</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
43
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#9d887031bbee2ad75ed88c8533ce41c1">minProcesses</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
36
44
  <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#b2b7c72144c108657e3ad4ac9f6e26f4">PoolOptions</a>()</td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td><code> [inline]</code></td></tr>
37
- <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#038861a1ee8bda738325c38ce511347d">PoolOptions</a>(const string &amp;appRoot, bool lowerPrivilege=true, const string &amp;lowestUser=&quot;nobody&quot;, const string &amp;environment=&quot;production&quot;, const string &amp;spawnMethod=&quot;smart&quot;, const string &amp;appType=&quot;rails&quot;, long frameworkSpawnerTimeout=-1, long appSpawnerTimeout=-1, unsigned long maxRequests=0, unsigned long memoryLimit=0, bool useGlobalQueue=false, unsigned long statThrottleRate=0, const string &amp;restartDir=&quot;&quot;)</td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td><code> [inline]</code></td></tr>
38
- <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#eaa4faa9716475b2592c7506d2834ba6">PoolOptions</a>(const vector&lt; string &gt; &amp;vec, unsigned int startIndex=0)</td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td><code> [inline]</code></td></tr>
45
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#3e80ba601729a1a1eedc33cbc2217949">PoolOptions</a>(const string &amp;appRoot, string appGroupName=&quot;&quot;, const string &amp;appType=&quot;rails&quot;, const string &amp;environment=&quot;production&quot;, const string &amp;spawnMethod=&quot;smart-lv2&quot;, const string &amp;user=&quot;&quot;, const string &amp;group=&quot;&quot;, const string &amp;defaultUser=&quot;&quot;, const string &amp;defaultGroup=&quot;&quot;, long frameworkSpawnerTimeout=-1, long appSpawnerTimeout=-1, const string &amp;baseURI=&quot;/&quot;, unsigned long maxRequests=0, unsigned long minProcesses=0, bool useGlobalQueue=false, unsigned long statThrottleRate=0, const string &amp;restartDir=&quot;&quot;, Account::Rights rights=DEFAULT_BACKEND_ACCOUNT_RIGHTS, const AnalyticsLogPtr &amp;log=AnalyticsLogPtr())</td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td><code> [inline]</code></td></tr>
46
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#0caa024c33da2f68b5c79b41122397b3">PoolOptions</a>(const vector&lt; string &gt; &amp;vec, unsigned int startIndex=0, AnalyticsLoggerPtr analyticsLogger=AnalyticsLoggerPtr())</td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td><code> [inline]</code></td></tr>
47
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#d3d545cee2806198797fc6b4197ff87b">printExceptions</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
39
48
  <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#b0f889f70a3ed22f2423d110ddaf26f5">restartDir</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
49
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#45665fffc8a20ea60a3fcafaff8627ab">rights</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
50
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#cb2df1a0b558e7fa457e46373c17b679">serializeEnvironmentVariables</a>() const </td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td><code> [inline]</code></td></tr>
40
51
  <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#feb629e3ced79f5a2dbccc1beeeeab9e">spawnMethod</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
41
52
  <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#eaf5a998b4a5da2246685c2dfb8a8c6d">statThrottleRate</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
42
- <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#b5e62e9abf7b89b8d3e5cdfb14e9d2af">toVector</a>(vector&lt; string &gt; &amp;vec) const </td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td><code> [inline]</code></td></tr>
53
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#437e077b0ab037f4e86680e9164a694e">toVector</a>(vector&lt; string &gt; &amp;vec, bool storeEnvVars=true) const </td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td><code> [inline]</code></td></tr>
43
54
  <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#b610e568a7b5d3bb27460d6e35952b7e">useGlobalQueue</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
55
+ <tr class="memlist"><td><a class="el" href="structPassenger_1_1PoolOptions.html#7bb617271b0a61645b17b9815ebf300c">user</a></td><td><a class="el" href="structPassenger_1_1PoolOptions.html">Passenger::PoolOptions</a></td><td></td></tr>
44
56
  </table></div>
45
- <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 for Passenger by&nbsp;
57
+ <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 21 12:22:48 2010 for Passenger by&nbsp;
46
58
  <a href="http://www.doxygen.org/index.html">
47
59
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
48
60
  </body>
@@ -10,6 +10,7 @@
10
10
  <ul>
11
11
  <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12
12
  <li><a href="modules.html"><span>Modules</span></a></li>
13
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13
14
  <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
14
15
  <li><a href="files.html"><span>Files</span></a></li>
15
16
  </ul>
@@ -21,11 +22,11 @@
21
22
  <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
22
23
  </ul>
23
24
  </div>
24
- <div class="navpath"><b>Passenger</b>::<a class="el" href="structPassenger_1_1PoolOptions.html">PoolOptions</a>
25
+ <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="structPassenger_1_1PoolOptions.html">PoolOptions</a>
25
26
  </div>
26
27
  </div>
27
28
  <div class="contents">
28
- <h1>Passenger::PoolOptions Struct Reference</h1><!-- doxytag: class="Passenger::PoolOptions" -->This struct encapsulates information for <a class="el" href="classPassenger_1_1ApplicationPool.html#0b206eb4eb2869423d75c042a0653c67" title="Open a new session with the application specified by PoolOptions.appRoot.">ApplicationPool::get()</a> and for <a class="el" href="classPassenger_1_1SpawnManager.html#af035d564cc4e6683508939c9d6dbb64" title="Spawn a new instance of an application.">SpawnManager::spawn()</a>, such as which application is to be spawned.
29
+ <h1>Passenger::PoolOptions Struct Reference</h1><!-- doxytag: class="Passenger::PoolOptions" -->This struct encapsulates information for ApplicationPool::get() and for <a class="el" href="classPassenger_1_1SpawnManager.html#88a94ba4d41dab492cb1dc8a0f998973" title="Spawn a new application process.">SpawnManager::spawn()</a>, such as which application is to be spawned.
29
30
  <a href="#_details">More...</a>
30
31
  <p>
31
32
  <code>#include &lt;<a class="el" href="PoolOptions_8h-source.html">PoolOptions.h</a>&gt;</code>
@@ -38,48 +39,69 @@
38
39
  <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#b2b7c72144c108657e3ad4ac9f6e26f4">PoolOptions</a> ()</td></tr>
39
40
 
40
41
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new <a class="el" href="structPassenger_1_1PoolOptions.html" title="This struct encapsulates information for ApplicationPool::get() and for SpawnManager::spawn()...">PoolOptions</a> object with the default values filled in. <a href="#b2b7c72144c108657e3ad4ac9f6e26f4"></a><br></td></tr>
41
- <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="038861a1ee8bda738325c38ce511347d"></a><!-- doxytag: member="Passenger::PoolOptions::PoolOptions" ref="038861a1ee8bda738325c38ce511347d" args="(const string &amp;appRoot, bool lowerPrivilege=true, const string &amp;lowestUser=&quot;nobody&quot;, const string &amp;environment=&quot;production&quot;, const string &amp;spawnMethod=&quot;smart&quot;, const string &amp;appType=&quot;rails&quot;, long frameworkSpawnerTimeout=&#45;1, long appSpawnerTimeout=&#45;1, unsigned long maxRequests=0, unsigned long memoryLimit=0, bool useGlobalQueue=false, unsigned long statThrottleRate=0, const string &amp;restartDir=&quot;&quot;)" -->
42
- &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#038861a1ee8bda738325c38ce511347d">PoolOptions</a> (const string &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#822039d204b48d9ed49184646734acf3">appRoot</a>, bool <a class="el" href="structPassenger_1_1PoolOptions.html#7feed1c0a150ffc9bd003f5535d675db">lowerPrivilege</a>=true, const string &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#ec92a9f5d0a265a77fbfdb549f39557a">lowestUser</a>=&quot;nobody&quot;, const string &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#4324bb724859905f9991faa9b90aedbc">environment</a>=&quot;production&quot;, const string &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#feb629e3ced79f5a2dbccc1beeeeab9e">spawnMethod</a>=&quot;smart&quot;, const string &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#5e1c129ae0b8be350c7ed238eec8a8c9">appType</a>=&quot;rails&quot;, long <a class="el" href="structPassenger_1_1PoolOptions.html#cbbea86958b42ffa7989680ed1587c70">frameworkSpawnerTimeout</a>=-1, long <a class="el" href="structPassenger_1_1PoolOptions.html#5a2f27a853e33c22da71430216d798cf">appSpawnerTimeout</a>=-1, unsigned long <a class="el" href="structPassenger_1_1PoolOptions.html#70251ed3cb3713cb26a0b166c6b015c0">maxRequests</a>=0, unsigned long <a class="el" href="structPassenger_1_1PoolOptions.html#f61aa527e17a4f2bb5d66260749d17cd">memoryLimit</a>=0, bool <a class="el" href="structPassenger_1_1PoolOptions.html#b610e568a7b5d3bb27460d6e35952b7e">useGlobalQueue</a>=false, unsigned long <a class="el" href="structPassenger_1_1PoolOptions.html#eaf5a998b4a5da2246685c2dfb8a8c6d">statThrottleRate</a>=0, const string &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#b0f889f70a3ed22f2423d110ddaf26f5">restartDir</a>=&quot;&quot;)</td></tr>
42
+ <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3e80ba601729a1a1eedc33cbc2217949"></a><!-- doxytag: member="Passenger::PoolOptions::PoolOptions" ref="3e80ba601729a1a1eedc33cbc2217949" args="(const string &amp;appRoot, string appGroupName=&quot;&quot;, const string &amp;appType=&quot;rails&quot;, const string &amp;environment=&quot;production&quot;, const string &amp;spawnMethod=&quot;smart&#45;lv2&quot;, const string &amp;user=&quot;&quot;, const string &amp;group=&quot;&quot;, const string &amp;defaultUser=&quot;&quot;, const string &amp;defaultGroup=&quot;&quot;, long frameworkSpawnerTimeout=&#45;1, long appSpawnerTimeout=&#45;1, const string &amp;baseURI=&quot;/&quot;, unsigned long maxRequests=0, unsigned long minProcesses=0, bool useGlobalQueue=false, unsigned long statThrottleRate=0, const string &amp;restartDir=&quot;&quot;, Account::Rights rights=DEFAULT_BACKEND_ACCOUNT_RIGHTS, const AnalyticsLogPtr &amp;log=AnalyticsLogPtr())" -->
43
+ &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#3e80ba601729a1a1eedc33cbc2217949">PoolOptions</a> (const string &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#822039d204b48d9ed49184646734acf3">appRoot</a>, string <a class="el" href="structPassenger_1_1PoolOptions.html#dce57f30c4f33d8b55726d0eaa15addf">appGroupName</a>=&quot;&quot;, const string &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#5e1c129ae0b8be350c7ed238eec8a8c9">appType</a>=&quot;rails&quot;, const string &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#4324bb724859905f9991faa9b90aedbc">environment</a>=&quot;production&quot;, const string &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#feb629e3ced79f5a2dbccc1beeeeab9e">spawnMethod</a>=&quot;smart-lv2&quot;, const string &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#7bb617271b0a61645b17b9815ebf300c">user</a>=&quot;&quot;, const string &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#6292899199727c513fd641d313c42372">group</a>=&quot;&quot;, const string &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#f9e15d356066ebd5f1454dca7937374f">defaultUser</a>=&quot;&quot;, const string &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#fdbe6d3418132ff3ca17427778e0948c">defaultGroup</a>=&quot;&quot;, long <a class="el" href="structPassenger_1_1PoolOptions.html#cbbea86958b42ffa7989680ed1587c70">frameworkSpawnerTimeout</a>=-1, long <a class="el" href="structPassenger_1_1PoolOptions.html#5a2f27a853e33c22da71430216d798cf">appSpawnerTimeout</a>=-1, const string &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#85c99df1b3d74b47c73049e20f0a7192">baseURI</a>=&quot;/&quot;, unsigned long <a class="el" href="structPassenger_1_1PoolOptions.html#70251ed3cb3713cb26a0b166c6b015c0">maxRequests</a>=0, unsigned long <a class="el" href="structPassenger_1_1PoolOptions.html#9d887031bbee2ad75ed88c8533ce41c1">minProcesses</a>=0, bool <a class="el" href="structPassenger_1_1PoolOptions.html#b610e568a7b5d3bb27460d6e35952b7e">useGlobalQueue</a>=false, unsigned long <a class="el" href="structPassenger_1_1PoolOptions.html#eaf5a998b4a5da2246685c2dfb8a8c6d">statThrottleRate</a>=0, const string &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#b0f889f70a3ed22f2423d110ddaf26f5">restartDir</a>=&quot;&quot;, Account::Rights <a class="el" href="structPassenger_1_1PoolOptions.html#45665fffc8a20ea60a3fcafaff8627ab">rights</a>=DEFAULT_BACKEND_ACCOUNT_RIGHTS, const AnalyticsLogPtr &amp;<a class="el" href="structPassenger_1_1PoolOptions.html#ce54185a9981f103a036a7ac3e768612">log</a>=AnalyticsLogPtr())</td></tr>
43
44
 
44
45
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new <a class="el" href="structPassenger_1_1PoolOptions.html" title="This struct encapsulates information for ApplicationPool::get() and for SpawnManager::spawn()...">PoolOptions</a> object with the given values. <br></td></tr>
45
- <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#eaa4faa9716475b2592c7506d2834ba6">PoolOptions</a> (const vector&lt; string &gt; &amp;vec, unsigned int startIndex=0)</td></tr>
46
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#0caa024c33da2f68b5c79b41122397b3">PoolOptions</a> (const vector&lt; string &gt; &amp;vec, unsigned int startIndex=0, AnalyticsLoggerPtr analyticsLogger=AnalyticsLoggerPtr())</td></tr>
46
47
 
47
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new <a class="el" href="structPassenger_1_1PoolOptions.html" title="This struct encapsulates information for ApplicationPool::get() and for SpawnManager::spawn()...">PoolOptions</a> object from the given string vector. <a href="#eaa4faa9716475b2592c7506d2834ba6"></a><br></td></tr>
48
- <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#b5e62e9abf7b89b8d3e5cdfb14e9d2af">toVector</a> (vector&lt; string &gt; &amp;vec) const </td></tr>
48
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new <a class="el" href="structPassenger_1_1PoolOptions.html" title="This struct encapsulates information for ApplicationPool::get() and for SpawnManager::spawn()...">PoolOptions</a> object from the given string vector. <a href="#0caa024c33da2f68b5c79b41122397b3"></a><br></td></tr>
49
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#437e077b0ab037f4e86680e9164a694e">toVector</a> (vector&lt; string &gt; &amp;vec, bool storeEnvVars=true) const </td></tr>
49
50
 
50
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append the information in this <a class="el" href="structPassenger_1_1PoolOptions.html" title="This struct encapsulates information for ApplicationPool::get() and for SpawnManager::spawn()...">PoolOptions</a> object to the given string vector. <a href="#b5e62e9abf7b89b8d3e5cdfb14e9d2af"></a><br></td></tr>
51
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append the information in this <a class="el" href="structPassenger_1_1PoolOptions.html" title="This struct encapsulates information for ApplicationPool::get() and for SpawnManager::spawn()...">PoolOptions</a> object to the given string vector. <a href="#437e077b0ab037f4e86680e9164a694e"></a><br></td></tr>
52
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#43eb2294bff16bbcbafec569babca883">getAppGroupName</a> () const </td></tr>
53
+
54
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the app group name. <a href="#43eb2294bff16bbcbafec569babca883"></a><br></td></tr>
55
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#cb2df1a0b558e7fa457e46373c17b679">serializeEnvironmentVariables</a> () const </td></tr>
56
+
57
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Serializes the items in environmentVariables into a string, which can be used to create a SimpleStringListCreator object. <a href="#cb2df1a0b558e7fa457e46373c17b679"></a><br></td></tr>
51
58
  <tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
52
59
  <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#822039d204b48d9ed49184646734acf3">appRoot</a></td></tr>
53
60
 
54
61
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The root directory of the application to spawn. <a href="#822039d204b48d9ed49184646734acf3"></a><br></td></tr>
55
- <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#7feed1c0a150ffc9bd003f5535d675db">lowerPrivilege</a></td></tr>
62
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#dce57f30c4f33d8b55726d0eaa15addf">appGroupName</a></td></tr>
56
63
 
57
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether to lower the application's privileges. <a href="#7feed1c0a150ffc9bd003f5535d675db"></a><br></td></tr>
58
- <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec92a9f5d0a265a77fbfdb549f39557a"></a><!-- doxytag: member="Passenger::PoolOptions::lowestUser" ref="ec92a9f5d0a265a77fbfdb549f39557a" args="" -->
59
- string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#ec92a9f5d0a265a77fbfdb549f39557a">lowestUser</a></td></tr>
64
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A name used by ApplicationPool to uniquely identify an application. <a href="#dce57f30c4f33d8b55726d0eaa15addf"></a><br></td></tr>
65
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#5e1c129ae0b8be350c7ed238eec8a8c9">appType</a></td></tr>
60
66
 
61
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The user to fallback to if lowering privilege fails. <br></td></tr>
67
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The application type. <a href="#5e1c129ae0b8be350c7ed238eec8a8c9"></a><br></td></tr>
62
68
  <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#4324bb724859905f9991faa9b90aedbc">environment</a></td></tr>
63
69
 
64
70
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The RAILS_ENV/RACK_ENV environment that should be used. <a href="#4324bb724859905f9991faa9b90aedbc"></a><br></td></tr>
65
71
  <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#feb629e3ced79f5a2dbccc1beeeeab9e">spawnMethod</a></td></tr>
66
72
 
67
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The spawn method to use. <a href="#feb629e3ced79f5a2dbccc1beeeeab9e"></a><br></td></tr>
68
- <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#5e1c129ae0b8be350c7ed238eec8a8c9">appType</a></td></tr>
73
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Method with which application processes should be spawned. <a href="#feb629e3ced79f5a2dbccc1beeeeab9e"></a><br></td></tr>
74
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#7bb617271b0a61645b17b9815ebf300c">user</a></td></tr>
69
75
 
70
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The application type. <a href="#5e1c129ae0b8be350c7ed238eec8a8c9"></a><br></td></tr>
76
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See overview. <a href="#7bb617271b0a61645b17b9815ebf300c"></a><br></td></tr>
77
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#6292899199727c513fd641d313c42372">group</a></td></tr>
78
+
79
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See class overview. <a href="#6292899199727c513fd641d313c42372"></a><br></td></tr>
80
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#f9e15d356066ebd5f1454dca7937374f">defaultUser</a></td></tr>
81
+
82
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See class overview. <a href="#f9e15d356066ebd5f1454dca7937374f"></a><br></td></tr>
83
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#fdbe6d3418132ff3ca17427778e0948c">defaultGroup</a></td></tr>
84
+
85
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See class overview. <a href="#fdbe6d3418132ff3ca17427778e0948c"></a><br></td></tr>
71
86
  <tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#cbbea86958b42ffa7989680ed1587c70">frameworkSpawnerTimeout</a></td></tr>
72
87
 
73
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The idle timeout, in seconds, of Rails framework spawners. <a href="#cbbea86958b42ffa7989680ed1587c70"></a><br></td></tr>
88
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The idle timeout, in seconds, of framework spawners. <a href="#cbbea86958b42ffa7989680ed1587c70"></a><br></td></tr>
74
89
  <tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#5a2f27a853e33c22da71430216d798cf">appSpawnerTimeout</a></td></tr>
75
90
 
76
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The idle timeout, in seconds, of Rails application spawners. <a href="#5a2f27a853e33c22da71430216d798cf"></a><br></td></tr>
91
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The idle timeout, in seconds, of application spawners. <a href="#5a2f27a853e33c22da71430216d798cf"></a><br></td></tr>
92
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">StringListCreatorPtr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#aa4f5d4ae1534ada8613fbe497a38924">environmentVariables</a></td></tr>
93
+
94
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Environment variables which should be passed to the spawned application process. <a href="#aa4f5d4ae1534ada8613fbe497a38924"></a><br></td></tr>
95
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#85c99df1b3d74b47c73049e20f0a7192">baseURI</a></td></tr>
96
+
97
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base URI on which the application runs. <a href="#85c99df1b3d74b47c73049e20f0a7192"></a><br></td></tr>
77
98
  <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#70251ed3cb3713cb26a0b166c6b015c0">maxRequests</a></td></tr>
78
99
 
79
100
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum number of requests that the spawned application may process before exiting. <a href="#70251ed3cb3713cb26a0b166c6b015c0"></a><br></td></tr>
80
- <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#f61aa527e17a4f2bb5d66260749d17cd">memoryLimit</a></td></tr>
101
+ <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9d887031bbee2ad75ed88c8533ce41c1"></a><!-- doxytag: member="Passenger::PoolOptions::minProcesses" ref="9d887031bbee2ad75ed88c8533ce41c1" args="" -->
102
+ unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#9d887031bbee2ad75ed88c8533ce41c1">minProcesses</a></td></tr>
81
103
 
82
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum amount of memory (in MB) the spawned application may use. <a href="#f61aa527e17a4f2bb5d66260749d17cd"></a><br></td></tr>
104
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The minimum number of processes for the current group that the application pool's cleaner thread should keep around. <br></td></tr>
83
105
  <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#b610e568a7b5d3bb27460d6e35952b7e">useGlobalQueue</a></td></tr>
84
106
 
85
107
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether to use a global queue instead of a per-backend process queue. <a href="#b610e568a7b5d3bb27460d6e35952b7e"></a><br></td></tr>
@@ -89,15 +111,29 @@ string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="st
89
111
  <tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#b0f889f70a3ed22f2423d110ddaf26f5">restartDir</a></td></tr>
90
112
 
91
113
  <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The directory which contains restart.txt and always_restart.txt. <a href="#b0f889f70a3ed22f2423d110ddaf26f5"></a><br></td></tr>
114
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">Account::Rights&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#45665fffc8a20ea60a3fcafaff8627ab">rights</a></td></tr>
115
+
116
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Any rights that the spawned application process may have. <a href="#45665fffc8a20ea60a3fcafaff8627ab"></a><br></td></tr>
117
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">AnalyticsLogPtr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#ce54185a9981f103a036a7ac3e768612">log</a></td></tr>
118
+
119
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An analytics log object to log things to. <a href="#ce54185a9981f103a036a7ac3e768612"></a><br></td></tr>
120
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#1709d96d9d5d59ce79c90434a45cb076">initiateSession</a></td></tr>
121
+
122
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether the session returned by ApplicationPool::Interface::get() should be automatically initiated. <a href="#1709d96d9d5d59ce79c90434a45cb076"></a><br></td></tr>
123
+ <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html#d3d545cee2806198797fc6b4197ff87b">printExceptions</a></td></tr>
124
+
125
+ <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether application processes should print exceptions that occurred during application initialization. <a href="#d3d545cee2806198797fc6b4197ff87b"></a><br></td></tr>
92
126
  </table>
93
127
  <hr><a name="_details"></a><h2>Detailed Description</h2>
94
- This struct encapsulates information for <a class="el" href="classPassenger_1_1ApplicationPool.html#0b206eb4eb2869423d75c042a0653c67" title="Open a new session with the application specified by PoolOptions.appRoot.">ApplicationPool::get()</a> and for <a class="el" href="classPassenger_1_1SpawnManager.html#af035d564cc4e6683508939c9d6dbb64" title="Spawn a new instance of an application.">SpawnManager::spawn()</a>, such as which application is to be spawned.
128
+ This struct encapsulates information for ApplicationPool::get() and for <a class="el" href="classPassenger_1_1SpawnManager.html#88a94ba4d41dab492cb1dc8a0f998973" title="Spawn a new application process.">SpawnManager::spawn()</a>, such as which application is to be spawned.
95
129
  <p>
96
- <h2>Notes on privilege lowering support</h2>
130
+ <h2>Privilege lowering support</h2>
97
131
  <p>
98
- If <code>lowerPrivilege</code> is true, then it will be attempt to switch the spawned application instance to the user who owns the application's <code>config/environment.rb</code>, and to the default group of that user.<p>
99
- If that user doesn't exist on the system, or if that user is root, then it will be attempted to switch to the username given by <code>lowestUser</code> (and to the default group of that user). If <code>lowestUser</code> doesn't exist either, or if switching user failed (because the spawn server process does not have the privilege to do so), then the application will be spawned anyway, without reporting an error.<p>
100
- It goes without saying that lowering privilege is only possible if the spawn server is running as root (and thus, by induction, that Phusion Passenger and Apache's control process are also running as root). Note that if Apache is listening on port 80, then its control process must be running as root. See "doc/Security of user switching.txt" for a detailed explanation. <hr><h2>Constructor &amp; Destructor Documentation</h2>
132
+ If <em>user</em> is given and isn't the empty string, then the application process will run as the given username. Otherwise, the owner of the application's startup file (e.g. config/environment.rb or config.ru) will be used.<p>
133
+ If <em>group</em> is given and isn't the empty string, then the application process will run as the given group name. If it's set to the special value "!STARTUP_FILE!", then the startup file's group will be used. Otherwise, the primary group of the user that the application process will run as, will be used as group.<p>
134
+ If the user or group that the application process attempts to switch to doesn't exist, then <em>default_user</em> and <em>default_group</em>, respectively, will be used.<p>
135
+ Phusion <a class="el" href="namespacePassenger.html" title="A random.">Passenger</a> will attempt to avoid running the application process as root: if <em>user</em> or <em>group</em> is set to the root user or the root group, or if the startup file is owned by root, then <em>default_user</em> and <em>default_group</em> will be used instead.<p>
136
+ All this only happen if Phusion <a class="el" href="namespacePassenger.html" title="A random.">Passenger</a> has root privileges. If not, then these options have no effect. <hr><h2>Constructor &amp; Destructor Documentation</h2>
101
137
  <a class="anchor" name="b2b7c72144c108657e3ad4ac9f6e26f4"></a><!-- doxytag: member="Passenger::PoolOptions::PoolOptions" ref="b2b7c72144c108657e3ad4ac9f6e26f4" args="()" -->
102
138
  <div class="memitem">
103
139
  <div class="memproto">
@@ -119,7 +155,7 @@ Creates a new <a class="el" href="structPassenger_1_1PoolOptions.html" title="Th
119
155
  One must still set appRoot manually, after having used this constructor.
120
156
  </div>
121
157
  </div><p>
122
- <a class="anchor" name="eaa4faa9716475b2592c7506d2834ba6"></a><!-- doxytag: member="Passenger::PoolOptions::PoolOptions" ref="eaa4faa9716475b2592c7506d2834ba6" args="(const vector&lt; string &gt; &amp;vec, unsigned int startIndex=0)" -->
158
+ <a class="anchor" name="0caa024c33da2f68b5c79b41122397b3"></a><!-- doxytag: member="Passenger::PoolOptions::PoolOptions" ref="0caa024c33da2f68b5c79b41122397b3" args="(const vector&lt; string &gt; &amp;vec, unsigned int startIndex=0, AnalyticsLoggerPtr analyticsLogger=AnalyticsLoggerPtr())" -->
123
159
  <div class="memitem">
124
160
  <div class="memproto">
125
161
  <table class="memname">
@@ -133,7 +169,13 @@ One must still set appRoot manually, after having used this constructor.
133
169
  <td class="paramkey"></td>
134
170
  <td></td>
135
171
  <td class="paramtype">unsigned int&nbsp;</td>
136
- <td class="paramname"> <em>startIndex</em> = <code>0</code></td><td>&nbsp;</td>
172
+ <td class="paramname"> <em>startIndex</em> = <code>0</code>, </td>
173
+ </tr>
174
+ <tr>
175
+ <td class="paramkey"></td>
176
+ <td></td>
177
+ <td class="paramtype">AnalyticsLoggerPtr&nbsp;</td>
178
+ <td class="paramname"> <em>analyticsLogger</em> = <code>AnalyticsLoggerPtr()</code></td><td>&nbsp;</td>
137
179
  </tr>
138
180
  <tr>
139
181
  <td></td>
@@ -147,7 +189,7 @@ One must still set appRoot manually, after having used this constructor.
147
189
  <p>
148
190
  Creates a new <a class="el" href="structPassenger_1_1PoolOptions.html" title="This struct encapsulates information for ApplicationPool::get() and for SpawnManager::spawn()...">PoolOptions</a> object from the given string vector.
149
191
  <p>
150
- This vector contains information that's written to by <a class="el" href="structPassenger_1_1PoolOptions.html#b5e62e9abf7b89b8d3e5cdfb14e9d2af" title="Append the information in this PoolOptions object to the given string vector.">toVector()</a>.<p>
192
+ This vector contains information that's written to by <a class="el" href="structPassenger_1_1PoolOptions.html#437e077b0ab037f4e86680e9164a694e" title="Append the information in this PoolOptions object to the given string vector.">toVector()</a>.<p>
151
193
  For example: <div class="fragment"><pre class="fragment"> <a class="code" href="structPassenger_1_1PoolOptions.html#b2b7c72144c108657e3ad4ac9f6e26f4" title="Creates a new PoolOptions object with the default values filled in.">PoolOptions</a> options(...);
152
194
  vector&lt;string&gt; vec;
153
195
 
@@ -161,21 +203,42 @@ For example: <div class="fragment"><pre class="fragment"> <a class="code" href
161
203
  <table border="0" cellspacing="2" cellpadding="0">
162
204
  <tr><td valign="top"></td><td valign="top"><em>vec</em>&nbsp;</td><td>The vector containing spawn options information. </td></tr>
163
205
  <tr><td valign="top"></td><td valign="top"><em>startIndex</em>&nbsp;</td><td>The index in vec at which the information starts. </td></tr>
206
+ <tr><td valign="top"></td><td valign="top"><em>analyticsLogger</em>&nbsp;</td><td>If given, and the vector contains logging information, then the 'log' member will be constructed using this logger. </td></tr>
164
207
  </table>
165
208
  </dl>
166
209
 
167
210
  </div>
168
211
  </div><p>
169
212
  <hr><h2>Member Function Documentation</h2>
170
- <a class="anchor" name="b5e62e9abf7b89b8d3e5cdfb14e9d2af"></a><!-- doxytag: member="Passenger::PoolOptions::toVector" ref="b5e62e9abf7b89b8d3e5cdfb14e9d2af" args="(vector&lt; string &gt; &amp;vec) const " -->
213
+ <a class="anchor" name="43eb2294bff16bbcbafec569babca883"></a><!-- doxytag: member="Passenger::PoolOptions::getAppGroupName" ref="43eb2294bff16bbcbafec569babca883" args="() const " -->
171
214
  <div class="memitem">
172
215
  <div class="memproto">
173
216
  <table class="memname">
174
217
  <tr>
175
- <td class="memname">void Passenger::PoolOptions::toVector </td>
218
+ <td class="memname">string Passenger::PoolOptions::getAppGroupName </td>
176
219
  <td>(</td>
177
- <td class="paramtype">vector&lt; string &gt; &amp;&nbsp;</td>
178
- <td class="paramname"> <em>vec</em> </td>
220
+ <td class="paramname"> </td>
221
+ <td>&nbsp;)&nbsp;</td>
222
+ <td> const<code> [inline]</code></td>
223
+ </tr>
224
+ </table>
225
+ </div>
226
+ <div class="memdoc">
227
+
228
+ <p>
229
+ Returns the app group name.
230
+ <p>
231
+ If there is no explicitly set app group name then the app root is considered to be the app group name.
232
+ </div>
233
+ </div><p>
234
+ <a class="anchor" name="cb2df1a0b558e7fa457e46373c17b679"></a><!-- doxytag: member="Passenger::PoolOptions::serializeEnvironmentVariables" ref="cb2df1a0b558e7fa457e46373c17b679" args="() const " -->
235
+ <div class="memitem">
236
+ <div class="memproto">
237
+ <table class="memname">
238
+ <tr>
239
+ <td class="memname">string Passenger::PoolOptions::serializeEnvironmentVariables </td>
240
+ <td>(</td>
241
+ <td class="paramname"> </td>
179
242
  <td>&nbsp;)&nbsp;</td>
180
243
  <td> const<code> [inline]</code></td>
181
244
  </tr>
@@ -183,13 +246,79 @@ For example: <div class="fragment"><pre class="fragment"> <a class="code" href
183
246
  </div>
184
247
  <div class="memdoc">
185
248
 
249
+ <p>
250
+ Serializes the items in environmentVariables into a string, which can be used to create a SimpleStringListCreator object.
251
+ <p>
252
+ <dl compact><dt><b>Exceptions:</b></dt><dd>
253
+ <table border="0" cellspacing="2" cellpadding="0">
254
+ <tr><td valign="top"></td><td valign="top"><em>Anything</em>&nbsp;</td><td>thrown by environmentVariables-&gt;getItems(). </td></tr>
255
+ </table>
256
+ </dl>
257
+
258
+ </div>
259
+ </div><p>
260
+ <a class="anchor" name="437e077b0ab037f4e86680e9164a694e"></a><!-- doxytag: member="Passenger::PoolOptions::toVector" ref="437e077b0ab037f4e86680e9164a694e" args="(vector&lt; string &gt; &amp;vec, bool storeEnvVars=true) const " -->
261
+ <div class="memitem">
262
+ <div class="memproto">
263
+ <table class="memname">
264
+ <tr>
265
+ <td class="memname">void Passenger::PoolOptions::toVector </td>
266
+ <td>(</td>
267
+ <td class="paramtype">vector&lt; string &gt; &amp;&nbsp;</td>
268
+ <td class="paramname"> <em>vec</em>, </td>
269
+ </tr>
270
+ <tr>
271
+ <td class="paramkey"></td>
272
+ <td></td>
273
+ <td class="paramtype">bool&nbsp;</td>
274
+ <td class="paramname"> <em>storeEnvVars</em> = <code>true</code></td><td>&nbsp;</td>
275
+ </tr>
276
+ <tr>
277
+ <td></td>
278
+ <td>)</td>
279
+ <td></td><td></td><td> const<code> [inline]</code></td>
280
+ </tr>
281
+ </table>
282
+ </div>
283
+ <div class="memdoc">
284
+
186
285
  <p>
187
286
  Append the information in this <a class="el" href="structPassenger_1_1PoolOptions.html" title="This struct encapsulates information for ApplicationPool::get() and for SpawnManager::spawn()...">PoolOptions</a> object to the given string vector.
188
287
  <p>
189
- The resulting array could, for example, be used as a message to be sent to the spawn server.
288
+ The resulting array could, for example, be used as a message to be sent to the spawn server.<p>
289
+ <dl compact><dt><b>Parameters:</b></dt><dd>
290
+ <table border="0" cellspacing="2" cellpadding="0">
291
+ <tr><td valign="top"></td><td valign="top"><em>vec</em>&nbsp;</td><td>The vector to store the information in. </td></tr>
292
+ <tr><td valign="top"></td><td valign="top"><em>storeEnvVars</em>&nbsp;</td><td>Whether to store environment variable information into vec as well. </td></tr>
293
+ </table>
294
+ </dl>
295
+ <dl compact><dt><b>Exceptions:</b></dt><dd>
296
+ <table border="0" cellspacing="2" cellpadding="0">
297
+ <tr><td valign="top"></td><td valign="top"><em>Anything</em>&nbsp;</td><td>thrown by environmentVariables-&gt;getItems(). </td></tr>
298
+ </table>
299
+ </dl>
300
+
190
301
  </div>
191
302
  </div><p>
192
303
  <hr><h2>Member Data Documentation</h2>
304
+ <a class="anchor" name="dce57f30c4f33d8b55726d0eaa15addf"></a><!-- doxytag: member="Passenger::PoolOptions::appGroupName" ref="dce57f30c4f33d8b55726d0eaa15addf" args="" -->
305
+ <div class="memitem">
306
+ <div class="memproto">
307
+ <table class="memname">
308
+ <tr>
309
+ <td class="memname">string <a class="el" href="structPassenger_1_1PoolOptions.html#dce57f30c4f33d8b55726d0eaa15addf">Passenger::PoolOptions::appGroupName</a> </td>
310
+ </tr>
311
+ </table>
312
+ </div>
313
+ <div class="memdoc">
314
+
315
+ <p>
316
+ A name used by ApplicationPool to uniquely identify an application.
317
+ <p>
318
+ If one tries to get() from the application pool with name "A", then get() again with name "B", then the latter will spawn a new application process, even if both get() requests have the same app root.<p>
319
+ If left empty (the default), then the app root is used as the app group name.
320
+ </div>
321
+ </div><p>
193
322
  <a class="anchor" name="822039d204b48d9ed49184646734acf3"></a><!-- doxytag: member="Passenger::PoolOptions::appRoot" ref="822039d204b48d9ed49184646734acf3" args="" -->
194
323
  <div class="memitem">
195
324
  <div class="memproto">
@@ -219,10 +348,10 @@ In case of a Ruby on Rails application, this is the folder that contains 'app/',
219
348
  <div class="memdoc">
220
349
 
221
350
  <p>
222
- The idle timeout, in seconds, of Rails application spawners.
351
+ The idle timeout, in seconds, of application spawners.
223
352
  <p>
224
- A timeout of 0 means that the application spawner should never idle timeout. A timeout of -1 means that the default timeout value should be used.<p>
225
- For more details about Rails application spawners, please read the documentation on the Railz::ApplicationSpawner Ruby class.
353
+ See the "Spawning methods explained" section of the users guide for information about application spawners.<p>
354
+ A timeout of 0 means that the application spawner should never idle timeout. A timeout of -1 means that the default timeout value should be used.
226
355
  </div>
227
356
  </div><p>
228
357
  <a class="anchor" name="5e1c129ae0b8be350c7ed238eec8a8c9"></a><!-- doxytag: member="Passenger::PoolOptions::appType" ref="5e1c129ae0b8be350c7ed238eec8a8c9" args="" -->
@@ -239,7 +368,60 @@ For more details about Rails application spawners, please read the documentation
239
368
  <p>
240
369
  The application type.
241
370
  <p>
242
- Either "rails", "rack" or "wsgi".
371
+ Either "rails" (default), "rack" or "wsgi".
372
+ </div>
373
+ </div><p>
374
+ <a class="anchor" name="85c99df1b3d74b47c73049e20f0a7192"></a><!-- doxytag: member="Passenger::PoolOptions::baseURI" ref="85c99df1b3d74b47c73049e20f0a7192" args="" -->
375
+ <div class="memitem">
376
+ <div class="memproto">
377
+ <table class="memname">
378
+ <tr>
379
+ <td class="memname">string <a class="el" href="structPassenger_1_1PoolOptions.html#85c99df1b3d74b47c73049e20f0a7192">Passenger::PoolOptions::baseURI</a> </td>
380
+ </tr>
381
+ </table>
382
+ </div>
383
+ <div class="memdoc">
384
+
385
+ <p>
386
+ The base URI on which the application runs.
387
+ <p>
388
+ If the application is running on the root URI, then this value must be "/".<p>
389
+ <dl class="invariant" compact><dt><b>Invariant:</b></dt><dd>baseURI != "" </dd></dl>
390
+
391
+ </div>
392
+ </div><p>
393
+ <a class="anchor" name="fdbe6d3418132ff3ca17427778e0948c"></a><!-- doxytag: member="Passenger::PoolOptions::defaultGroup" ref="fdbe6d3418132ff3ca17427778e0948c" args="" -->
394
+ <div class="memitem">
395
+ <div class="memproto">
396
+ <table class="memname">
397
+ <tr>
398
+ <td class="memname">string <a class="el" href="structPassenger_1_1PoolOptions.html#fdbe6d3418132ff3ca17427778e0948c">Passenger::PoolOptions::defaultGroup</a> </td>
399
+ </tr>
400
+ </table>
401
+ </div>
402
+ <div class="memdoc">
403
+
404
+ <p>
405
+ See class overview.
406
+ <p>
407
+ Defaults to the defaultUser's primary group.
408
+ </div>
409
+ </div><p>
410
+ <a class="anchor" name="f9e15d356066ebd5f1454dca7937374f"></a><!-- doxytag: member="Passenger::PoolOptions::defaultUser" ref="f9e15d356066ebd5f1454dca7937374f" args="" -->
411
+ <div class="memitem">
412
+ <div class="memproto">
413
+ <table class="memname">
414
+ <tr>
415
+ <td class="memname">string <a class="el" href="structPassenger_1_1PoolOptions.html#f9e15d356066ebd5f1454dca7937374f">Passenger::PoolOptions::defaultUser</a> </td>
416
+ </tr>
417
+ </table>
418
+ </div>
419
+ <div class="memdoc">
420
+
421
+ <p>
422
+ See class overview.
423
+ <p>
424
+ Defaults to "nobody".
243
425
  </div>
244
426
  </div><p>
245
427
  <a class="anchor" name="4324bb724859905f9991faa9b90aedbc"></a><!-- doxytag: member="Passenger::PoolOptions::environment" ref="4324bb724859905f9991faa9b90aedbc" args="" -->
@@ -256,7 +438,27 @@ Either "rails", "rack" or "wsgi".
256
438
  <p>
257
439
  The RAILS_ENV/RACK_ENV environment that should be used.
258
440
  <p>
259
- May not be an empty string.
441
+ May not be an empty string. The default is "production".
442
+ </div>
443
+ </div><p>
444
+ <a class="anchor" name="aa4f5d4ae1534ada8613fbe497a38924"></a><!-- doxytag: member="Passenger::PoolOptions::environmentVariables" ref="aa4f5d4ae1534ada8613fbe497a38924" args="" -->
445
+ <div class="memitem">
446
+ <div class="memproto">
447
+ <table class="memname">
448
+ <tr>
449
+ <td class="memname">StringListCreatorPtr <a class="el" href="structPassenger_1_1PoolOptions.html#aa4f5d4ae1534ada8613fbe497a38924">Passenger::PoolOptions::environmentVariables</a> </td>
450
+ </tr>
451
+ </table>
452
+ </div>
453
+ <div class="memdoc">
454
+
455
+ <p>
456
+ Environment variables which should be passed to the spawned application process.
457
+ <p>
458
+ If a new application process is started, then the getItems() method on this object will be called, which is to return environment variables that should be passed to the newly spawned backend process. Odd indices in the resulting array contain keys, even indices contain the value for the key in the previous index.<p>
459
+ May be set to NULL.<p>
460
+ <dl class="invariant" compact><dt><b>Invariant:</b></dt><dd>environmentVariables.size() is an even number. </dd></dl>
461
+
260
462
  </div>
261
463
  </div><p>
262
464
  <a class="anchor" name="cbbea86958b42ffa7989680ed1587c70"></a><!-- doxytag: member="Passenger::PoolOptions::frameworkSpawnerTimeout" ref="cbbea86958b42ffa7989680ed1587c70" args="" -->
@@ -271,27 +473,61 @@ May not be an empty string.
271
473
  <div class="memdoc">
272
474
 
273
475
  <p>
274
- The idle timeout, in seconds, of Rails framework spawners.
476
+ The idle timeout, in seconds, of framework spawners.
477
+ <p>
478
+ See the "Spawning methods explained" section of the users guide for information about framework spawners.<p>
479
+ A timeout of 0 means that the framework spawner should never idle timeout. A timeout of -1 means that the default timeout value should be used.
480
+ </div>
481
+ </div><p>
482
+ <a class="anchor" name="6292899199727c513fd641d313c42372"></a><!-- doxytag: member="Passenger::PoolOptions::group" ref="6292899199727c513fd641d313c42372" args="" -->
483
+ <div class="memitem">
484
+ <div class="memproto">
485
+ <table class="memname">
486
+ <tr>
487
+ <td class="memname">string <a class="el" href="structPassenger_1_1PoolOptions.html#6292899199727c513fd641d313c42372">Passenger::PoolOptions::group</a> </td>
488
+ </tr>
489
+ </table>
490
+ </div>
491
+ <div class="memdoc">
492
+
493
+ <p>
494
+ See class overview.
275
495
  <p>
276
- A timeout of 0 means that the framework spawner should never idle timeout. A timeout of -1 means that the default timeout value should be used.<p>
277
- For more details about Rails framework spawners, please read the documentation on the Railz::FrameworkSpawner Ruby class.
496
+
278
497
  </div>
279
498
  </div><p>
280
- <a class="anchor" name="7feed1c0a150ffc9bd003f5535d675db"></a><!-- doxytag: member="Passenger::PoolOptions::lowerPrivilege" ref="7feed1c0a150ffc9bd003f5535d675db" args="" -->
499
+ <a class="anchor" name="1709d96d9d5d59ce79c90434a45cb076"></a><!-- doxytag: member="Passenger::PoolOptions::initiateSession" ref="1709d96d9d5d59ce79c90434a45cb076" args="" -->
281
500
  <div class="memitem">
282
501
  <div class="memproto">
283
502
  <table class="memname">
284
503
  <tr>
285
- <td class="memname">bool <a class="el" href="structPassenger_1_1PoolOptions.html#7feed1c0a150ffc9bd003f5535d675db">Passenger::PoolOptions::lowerPrivilege</a> </td>
504
+ <td class="memname">bool <a class="el" href="structPassenger_1_1PoolOptions.html#1709d96d9d5d59ce79c90434a45cb076">Passenger::PoolOptions::initiateSession</a> </td>
286
505
  </tr>
287
506
  </table>
288
507
  </div>
289
508
  <div class="memdoc">
290
509
 
291
510
  <p>
292
- Whether to lower the application's privileges.
511
+ Whether the session returned by ApplicationPool::Interface::get() should be automatically initiated.
293
512
  <p>
513
+ Defaults to true.
514
+ </div>
515
+ </div><p>
516
+ <a class="anchor" name="ce54185a9981f103a036a7ac3e768612"></a><!-- doxytag: member="Passenger::PoolOptions::log" ref="ce54185a9981f103a036a7ac3e768612" args="" -->
517
+ <div class="memitem">
518
+ <div class="memproto">
519
+ <table class="memname">
520
+ <tr>
521
+ <td class="memname">AnalyticsLogPtr <a class="el" href="structPassenger_1_1PoolOptions.html#ce54185a9981f103a036a7ac3e768612">Passenger::PoolOptions::log</a> </td>
522
+ </tr>
523
+ </table>
524
+ </div>
525
+ <div class="memdoc">
294
526
 
527
+ <p>
528
+ An analytics log object to log things to.
529
+ <p>
530
+ May be the null pointer, in which case analytics logging is disabled.
295
531
  </div>
296
532
  </div><p>
297
533
  <a class="anchor" name="70251ed3cb3713cb26a0b166c6b015c0"></a><!-- doxytag: member="Passenger::PoolOptions::maxRequests" ref="70251ed3cb3713cb26a0b166c6b015c0" args="" -->
@@ -311,21 +547,21 @@ The maximum number of requests that the spawned application may process before e
311
547
  A value of 0 means unlimited.
312
548
  </div>
313
549
  </div><p>
314
- <a class="anchor" name="f61aa527e17a4f2bb5d66260749d17cd"></a><!-- doxytag: member="Passenger::PoolOptions::memoryLimit" ref="f61aa527e17a4f2bb5d66260749d17cd" args="" -->
550
+ <a class="anchor" name="d3d545cee2806198797fc6b4197ff87b"></a><!-- doxytag: member="Passenger::PoolOptions::printExceptions" ref="d3d545cee2806198797fc6b4197ff87b" args="" -->
315
551
  <div class="memitem">
316
552
  <div class="memproto">
317
553
  <table class="memname">
318
554
  <tr>
319
- <td class="memname">unsigned long <a class="el" href="structPassenger_1_1PoolOptions.html#f61aa527e17a4f2bb5d66260749d17cd">Passenger::PoolOptions::memoryLimit</a> </td>
555
+ <td class="memname">bool <a class="el" href="structPassenger_1_1PoolOptions.html#d3d545cee2806198797fc6b4197ff87b">Passenger::PoolOptions::printExceptions</a> </td>
320
556
  </tr>
321
557
  </table>
322
558
  </div>
323
559
  <div class="memdoc">
324
560
 
325
561
  <p>
326
- The maximum amount of memory (in MB) the spawned application may use.
562
+ Whether application processes should print exceptions that occurred during application initialization.
327
563
  <p>
328
- A value of 0 means unlimited.
564
+ Defaults to true.
329
565
  </div>
330
566
  </div><p>
331
567
  <a class="anchor" name="b0f889f70a3ed22f2423d110ddaf26f5"></a><!-- doxytag: member="Passenger::PoolOptions::restartDir" ref="b0f889f70a3ed22f2423d110ddaf26f5" args="" -->
@@ -345,6 +581,23 @@ The directory which contains restart.txt and always_restart.txt.
345
581
  An empty string means that the default directory should be used.
346
582
  </div>
347
583
  </div><p>
584
+ <a class="anchor" name="45665fffc8a20ea60a3fcafaff8627ab"></a><!-- doxytag: member="Passenger::PoolOptions::rights" ref="45665fffc8a20ea60a3fcafaff8627ab" args="" -->
585
+ <div class="memitem">
586
+ <div class="memproto">
587
+ <table class="memname">
588
+ <tr>
589
+ <td class="memname">Account::Rights <a class="el" href="structPassenger_1_1PoolOptions.html#45665fffc8a20ea60a3fcafaff8627ab">Passenger::PoolOptions::rights</a> </td>
590
+ </tr>
591
+ </table>
592
+ </div>
593
+ <div class="memdoc">
594
+
595
+ <p>
596
+ Any rights that the spawned application process may have.
597
+ <p>
598
+ The <a class="el" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation.">SpawnManager</a> will create a new account for each spawned app, and that account will be assigned these rights.
599
+ </div>
600
+ </div><p>
348
601
  <a class="anchor" name="feb629e3ced79f5a2dbccc1beeeeab9e"></a><!-- doxytag: member="Passenger::PoolOptions::spawnMethod" ref="feb629e3ced79f5a2dbccc1beeeeab9e" args="" -->
349
602
  <div class="memitem">
350
603
  <div class="memproto">
@@ -357,9 +610,9 @@ An empty string means that the default directory should be used.
357
610
  <div class="memdoc">
358
611
 
359
612
  <p>
360
- The spawn method to use.
613
+ Method with which application processes should be spawned.
361
614
  <p>
362
- Either "smart" or "conservative". See the Ruby class <code><a class="el" href="classPassenger_1_1SpawnManager.html" title="Spawning of Ruby on Rails/Rack application instances.">SpawnManager</a></code> for details.
615
+ Different methods have different performance and compatibility properties. Available methods are "smart-lv2" (default), "smart" and "conservative". The different spawning methods are explained in the "Spawning methods explained" section of the users guide.
363
616
  </div>
364
617
  </div><p>
365
618
  <a class="anchor" name="eaf5a998b4a5da2246685c2dfb8a8c6d"></a><!-- doxytag: member="Passenger::PoolOptions::statThrottleRate" ref="eaf5a998b4a5da2246685c2dfb8a8c6d" args="" -->
@@ -376,7 +629,7 @@ Either "smart" or "conservative". See the Ruby class <code><a class="el" href="c
376
629
  <p>
377
630
  A throttling rate for file stats.
378
631
  <p>
379
- When set to a non-zero value N, restart.txt and other files which are usually stat()ted on every <a class="el" href="classPassenger_1_1ApplicationPool.html#0b206eb4eb2869423d75c042a0653c67" title="Open a new session with the application specified by PoolOptions.appRoot.">ApplicationPool::get()</a> call will be stat()ed at most every N seconds.
632
+ When set to a non-zero value N, restart.txt and other files which are usually stat()ted on every ApplicationPool::get() call will be stat()ed at most every N seconds.
380
633
  </div>
381
634
  </div><p>
382
635
  <a class="anchor" name="b610e568a7b5d3bb27460d6e35952b7e"></a><!-- doxytag: member="Passenger::PoolOptions::useGlobalQueue" ref="b610e568a7b5d3bb27460d6e35952b7e" args="" -->
@@ -393,14 +646,31 @@ When set to a non-zero value N, restart.txt and other files which are usually st
393
646
  <p>
394
647
  Whether to use a global queue instead of a per-backend process queue.
395
648
  <p>
396
- This option is only used by <a class="el" href="classPassenger_1_1ApplicationPool.html#0b206eb4eb2869423d75c042a0653c67" title="Open a new session with the application specified by PoolOptions.appRoot.">ApplicationPool::get()</a>.<p>
649
+ This option is only used by ApplicationPool::get().<p>
397
650
  If enabled, when all backend processes are active, get() will wait until there's at least one backend process that's idle, instead of queuing the request into a random process's private queue. This is especially useful if a website has one or more long-running requests.
651
+ </div>
652
+ </div><p>
653
+ <a class="anchor" name="7bb617271b0a61645b17b9815ebf300c"></a><!-- doxytag: member="Passenger::PoolOptions::user" ref="7bb617271b0a61645b17b9815ebf300c" args="" -->
654
+ <div class="memitem">
655
+ <div class="memproto">
656
+ <table class="memname">
657
+ <tr>
658
+ <td class="memname">string <a class="el" href="structPassenger_1_1PoolOptions.html#7bb617271b0a61645b17b9815ebf300c">Passenger::PoolOptions::user</a> </td>
659
+ </tr>
660
+ </table>
661
+ </div>
662
+ <div class="memdoc">
663
+
664
+ <p>
665
+ See overview.
666
+ <p>
667
+
398
668
  </div>
399
669
  </div><p>
400
670
  <hr>The documentation for this struct was generated from the following file:<ul>
401
671
  <li><a class="el" href="PoolOptions_8h-source.html">PoolOptions.h</a></ul>
402
672
  </div>
403
- <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 8 22:35:12 2009 for Passenger by&nbsp;
673
+ <hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 21 12:22:48 2010 for Passenger by&nbsp;
404
674
  <a href="http://www.doxygen.org/index.html">
405
675
  <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
406
676
  </body>