passenger 3.0.7 → 3.0.8

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 (439) hide show
  1. data/NEWS +27 -0
  2. data/README +1 -1
  3. data/bin/passenger-install-nginx-module +3 -1
  4. data/build/config.rb +2 -1
  5. data/build/cxx_tests.rb +7 -3
  6. data/build/documentation.rb +5 -40
  7. data/build/nginx.rb +0 -1
  8. data/build/packaging.rb +0 -6
  9. data/build/rake_extensions.rb +5 -0
  10. data/doc/Architectural overview.html +344 -77
  11. data/doc/Security of user switching support.html +338 -71
  12. data/doc/Users guide Apache with comments.html +4830 -0
  13. data/doc/Users guide Apache.html +695 -428
  14. data/doc/Users guide Apache.idmap.txt +80 -0
  15. data/doc/Users guide Apache.txt +5 -5
  16. data/doc/Users guide Nginx.html +591 -313
  17. data/doc/Users guide Nginx.txt +9 -3
  18. data/doc/Users guide Standalone.html +344 -77
  19. data/ext/boost/src/pthread/thread.cpp +1 -1
  20. data/ext/common/AccountsDatabase.h +1 -1
  21. data/ext/common/Constants.h +2 -2
  22. data/ext/common/Logging.h +2 -1
  23. data/ext/common/LoggingAgent/FilterSupport.h +107 -3
  24. data/ext/common/Session.h +1 -1
  25. data/ext/common/Utils.cpp +2 -0
  26. data/ext/common/Utils/Dechunker.h +232 -0
  27. data/ext/common/Utils/HttpHeaderBufferer.h +165 -0
  28. data/ext/common/Utils/StrIntUtils.cpp +51 -15
  29. data/ext/common/Utils/StrIntUtils.h +3 -0
  30. data/ext/common/Utils/StreamBoyerMooreHorspool.h +506 -0
  31. data/ext/nginx/Configuration.c +36 -282
  32. data/ext/nginx/ContentHandler.c +17 -0
  33. data/ext/nginx/HelperAgent.cpp +397 -39
  34. data/ext/oxt/tracable_exception.cpp +3 -1
  35. data/ext/ruby/extconf.rb +1 -0
  36. data/ext/ruby/passenger_native_support.c +3 -0
  37. data/helper-scripts/prespawn +113 -31
  38. data/lib/phusion_passenger.rb +2 -2
  39. data/lib/phusion_passenger/standalone/runtime_installer.rb +3 -2
  40. data/lib/phusion_passenger/standalone/start_command.rb +12 -12
  41. data/test/cxx/DechunkerTest.cpp +216 -0
  42. data/test/cxx/FilterSupportTest.cpp +31 -4
  43. data/test/cxx/HttpHeaderBuffererTest.cpp +203 -0
  44. data/test/cxx/UtilsTest.cpp +46 -3
  45. data/test/integration_tests/hello_world_rack_spec.rb +7 -0
  46. data/test/stub/rack/config.ru +6 -1
  47. data/test/stub/rails_apps/1.2/empty/public/dispatch.cgi +1 -1
  48. data/test/stub/rails_apps/1.2/empty/public/dispatch.fcgi +1 -1
  49. data/test/stub/rails_apps/1.2/empty/public/dispatch.rb +1 -1
  50. data/test/stub/rails_apps/2.0/empty/public/dispatch.cgi +1 -1
  51. data/test/stub/rails_apps/2.0/empty/public/dispatch.fcgi +1 -1
  52. data/test/stub/rails_apps/2.0/empty/public/dispatch.rb +1 -1
  53. data/test/stub/rails_apps/2.2/empty/public/dispatch.cgi +1 -1
  54. data/test/stub/rails_apps/2.2/empty/public/dispatch.fcgi +1 -1
  55. data/test/stub/rails_apps/2.2/empty/public/dispatch.rb +1 -1
  56. metadata +20 -403
  57. data/doc/Doxyfile +0 -241
  58. data/doc/cxxapi/AbstractSpawnManager_8h_source.html +0 -141
  59. data/doc/cxxapi/Account_8h_source.html +0 -206
  60. data/doc/cxxapi/AccountsDatabase_8h_source.html +0 -161
  61. data/doc/cxxapi/AgentBase_8h_source.html +0 -70
  62. data/doc/cxxapi/AgentsStarter_8h_source.html +0 -112
  63. data/doc/cxxapi/BCrypt_8h_source.html +0 -104
  64. data/doc/cxxapi/Blowfish_8h_source.html +0 -134
  65. data/doc/cxxapi/Bucket_8h_source.html +0 -118
  66. data/doc/cxxapi/Constants_8h_source.html +0 -79
  67. data/doc/cxxapi/ContentHandler_8h_source.html +0 -95
  68. data/doc/cxxapi/DirectoryMapper_8h_source.html +0 -311
  69. data/doc/cxxapi/EventedClient_8h_source.html +0 -733
  70. data/doc/cxxapi/EventedMessageServer_8h_source.html +0 -358
  71. data/doc/cxxapi/EventedServer_8h_source.html +0 -326
  72. data/doc/cxxapi/Exceptions_8h_source.html +0 -393
  73. data/doc/cxxapi/FileDescriptor_8h_source.html +0 -324
  74. data/doc/cxxapi/Hooks_8h_source.html +0 -76
  75. data/doc/cxxapi/HttpStatusExtractor_8h_source.html +0 -382
  76. data/doc/cxxapi/IniFile_8h_source.html +0 -527
  77. data/doc/cxxapi/Logging_8h_source.html +0 -796
  78. data/doc/cxxapi/MessageChannel_8h_source.html +0 -776
  79. data/doc/cxxapi/MessageClient_8h_source.html +0 -328
  80. data/doc/cxxapi/MessageReadersWriters_8h_source.html +0 -539
  81. data/doc/cxxapi/MessageServer_8h_source.html +0 -612
  82. data/doc/cxxapi/PoolOptions_8h_source.html +0 -549
  83. data/doc/cxxapi/Process_8h_source.html +0 -286
  84. data/doc/cxxapi/RandomGenerator_8h_source.html +0 -191
  85. data/doc/cxxapi/ResourceLocator_8h_source.html +0 -166
  86. data/doc/cxxapi/SafeLibev_8h_source.html +0 -180
  87. data/doc/cxxapi/ScgiRequestParser_8h_source.html +0 -406
  88. data/doc/cxxapi/ServerInstanceDir_8h_source.html +0 -378
  89. data/doc/cxxapi/Session_8h_source.html +0 -501
  90. data/doc/cxxapi/SpawnManager_8h_source.html +0 -647
  91. data/doc/cxxapi/StaticContentHandler_8h_source.html +0 -69
  92. data/doc/cxxapi/StaticString_8h_source.html +0 -329
  93. data/doc/cxxapi/StringListCreator_8h_source.html +0 -114
  94. data/doc/cxxapi/Utils_8h_source.html +0 -469
  95. data/doc/cxxapi/annotated.html +0 -87
  96. data/doc/cxxapi/apache2_2Configuration_8h_source.html +0 -82
  97. data/doc/cxxapi/classAgentWatcher-members.html +0 -54
  98. data/doc/cxxapi/classAgentWatcher.html +0 -419
  99. data/doc/cxxapi/classClient-members.html +0 -38
  100. data/doc/cxxapi/classClient.html +0 -123
  101. data/doc/cxxapi/classHooks-members.html +0 -40
  102. data/doc/cxxapi/classHooks.html +0 -153
  103. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager-members.html +0 -40
  104. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager.html +0 -187
  105. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.map +0 -3
  106. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.md5 +0 -1
  107. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.png +0 -0
  108. data/doc/cxxapi/classPassenger_1_1ArgumentException-members.html +0 -36
  109. data/doc/cxxapi/classPassenger_1_1ArgumentException.html +0 -56
  110. data/doc/cxxapi/classPassenger_1_1ArrayMessage-members.html +0 -37
  111. data/doc/cxxapi/classPassenger_1_1ArrayMessage.html +0 -113
  112. data/doc/cxxapi/classPassenger_1_1BufferedUpload-members.html +0 -38
  113. data/doc/cxxapi/classPassenger_1_1BufferedUpload.html +0 -112
  114. data/doc/cxxapi/classPassenger_1_1BusyException-members.html +0 -36
  115. data/doc/cxxapi/classPassenger_1_1BusyException.html +0 -54
  116. data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +0 -36
  117. data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +0 -51
  118. data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +0 -41
  119. data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +0 -223
  120. data/doc/cxxapi/classPassenger_1_1EOFException-members.html +0 -36
  121. data/doc/cxxapi/classPassenger_1_1EOFException.html +0 -61
  122. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.map +0 -3
  123. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.md5 +0 -1
  124. data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.png +0 -0
  125. data/doc/cxxapi/classPassenger_1_1EventFd-members.html +0 -36
  126. data/doc/cxxapi/classPassenger_1_1EventFd.html +0 -52
  127. data/doc/cxxapi/classPassenger_1_1EventedClient-members.html +0 -59
  128. data/doc/cxxapi/classPassenger_1_1EventedClient.html +0 -531
  129. data/doc/cxxapi/classPassenger_1_1EventedMessageServer-members.html +0 -37
  130. data/doc/cxxapi/classPassenger_1_1EventedMessageServer.html +0 -59
  131. data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.map +0 -3
  132. data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.md5 +0 -1
  133. data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.png +0 -0
  134. data/doc/cxxapi/classPassenger_1_1EventedServer-members.html +0 -37
  135. data/doc/cxxapi/classPassenger_1_1EventedServer.html +0 -93
  136. data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.map +0 -3
  137. data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.md5 +0 -1
  138. data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.png +0 -0
  139. data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +0 -41
  140. data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +0 -178
  141. data/doc/cxxapi/classPassenger_1_1FileDescriptorPair-members.html +0 -36
  142. data/doc/cxxapi/classPassenger_1_1FileDescriptorPair.html +0 -52
  143. data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +0 -36
  144. data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +0 -58
  145. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.map +0 -3
  146. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.md5 +0 -1
  147. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
  148. data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +0 -41
  149. data/doc/cxxapi/classPassenger_1_1FileSystemException.html +0 -66
  150. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.map +0 -3
  151. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.md5 +0 -1
  152. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.png +0 -0
  153. data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor-members.html +0 -39
  154. data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor.html +0 -128
  155. data/doc/cxxapi/classPassenger_1_1IOException-members.html +0 -36
  156. data/doc/cxxapi/classPassenger_1_1IOException.html +0 -61
  157. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +0 -4
  158. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +0 -1
  159. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
  160. data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +0 -57
  161. data/doc/cxxapi/classPassenger_1_1MessageChannel.html +0 -839
  162. data/doc/cxxapi/classPassenger_1_1MessageServer-members.html +0 -49
  163. data/doc/cxxapi/classPassenger_1_1MessageServer.html +0 -407
  164. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext-members.html +0 -36
  165. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext.html +0 -58
  166. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.map +0 -3
  167. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.md5 +0 -1
  168. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.png +0 -0
  169. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext-members.html +0 -41
  170. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext.html +0 -165
  171. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.map +0 -3
  172. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.md5 +0 -1
  173. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.png +0 -0
  174. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler-members.html +0 -39
  175. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler.html +0 -173
  176. data/doc/cxxapi/classPassenger_1_1Process-members.html +0 -44
  177. data/doc/cxxapi/classPassenger_1_1Process.html +0 -290
  178. data/doc/cxxapi/classPassenger_1_1RandomGenerator-members.html +0 -37
  179. data/doc/cxxapi/classPassenger_1_1RandomGenerator.html +0 -79
  180. data/doc/cxxapi/classPassenger_1_1ResourceLocator-members.html +0 -36
  181. data/doc/cxxapi/classPassenger_1_1ResourceLocator.html +0 -51
  182. data/doc/cxxapi/classPassenger_1_1RuntimeException-members.html +0 -36
  183. data/doc/cxxapi/classPassenger_1_1RuntimeException.html +0 -54
  184. data/doc/cxxapi/classPassenger_1_1SafeLibev-members.html +0 -36
  185. data/doc/cxxapi/classPassenger_1_1SafeLibev.html +0 -51
  186. data/doc/cxxapi/classPassenger_1_1ScalarMessage-members.html +0 -37
  187. data/doc/cxxapi/classPassenger_1_1ScalarMessage.html +0 -76
  188. data/doc/cxxapi/classPassenger_1_1ScgiRequestParser-members.html +0 -50
  189. data/doc/cxxapi/classPassenger_1_1ScgiRequestParser.html +0 -285
  190. data/doc/cxxapi/classPassenger_1_1SecurityException-members.html +0 -36
  191. data/doc/cxxapi/classPassenger_1_1SecurityException.html +0 -56
  192. data/doc/cxxapi/classPassenger_1_1Session-members.html +0 -53
  193. data/doc/cxxapi/classPassenger_1_1Session.html +0 -556
  194. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.map +0 -3
  195. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.md5 +0 -1
  196. data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.png +0 -0
  197. data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +0 -39
  198. data/doc/cxxapi/classPassenger_1_1SpawnException.html +0 -101
  199. data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +0 -42
  200. data/doc/cxxapi/classPassenger_1_1SpawnManager.html +0 -292
  201. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.map +0 -3
  202. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.md5 +0 -1
  203. data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.png +0 -0
  204. data/doc/cxxapi/classPassenger_1_1StandardSession-members.html +0 -54
  205. data/doc/cxxapi/classPassenger_1_1StandardSession.html +0 -394
  206. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.map +0 -3
  207. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.md5 +0 -1
  208. data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.png +0 -0
  209. data/doc/cxxapi/classPassenger_1_1StaticString-members.html +0 -36
  210. data/doc/cxxapi/classPassenger_1_1StaticString.html +0 -56
  211. data/doc/cxxapi/classPassenger_1_1SyntaxError-members.html +0 -36
  212. data/doc/cxxapi/classPassenger_1_1SyntaxError.html +0 -54
  213. data/doc/cxxapi/classPassenger_1_1SystemException-members.html +0 -40
  214. data/doc/cxxapi/classPassenger_1_1SystemException.html +0 -155
  215. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map +0 -4
  216. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5 +0 -1
  217. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
  218. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException-members.html +0 -40
  219. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException.html +0 -61
  220. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.map +0 -3
  221. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.md5 +0 -1
  222. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.png +0 -0
  223. data/doc/cxxapi/classPassenger_1_1TimeoutException-members.html +0 -36
  224. data/doc/cxxapi/classPassenger_1_1TimeoutException.html +0 -54
  225. data/doc/cxxapi/classPassenger_1_1Uint16Message-members.html +0 -36
  226. data/doc/cxxapi/classPassenger_1_1Uint16Message.html +0 -51
  227. data/doc/cxxapi/classPassenger_1_1Uint32Message-members.html +0 -36
  228. data/doc/cxxapi/classPassenger_1_1Uint32Message.html +0 -51
  229. data/doc/cxxapi/classServer-members.html +0 -36
  230. data/doc/cxxapi/classServer.html +0 -49
  231. data/doc/cxxapi/classServerInstanceDirToucher-members.html +0 -36
  232. data/doc/cxxapi/classServerInstanceDirToucher.html +0 -47
  233. data/doc/cxxapi/classes.html +0 -52
  234. data/doc/cxxapi/definitions_8h_source.html +0 -36
  235. data/doc/cxxapi/doxygen.css +0 -532
  236. data/doc/cxxapi/doxygen.png +0 -0
  237. data/doc/cxxapi/files.html +0 -76
  238. data/doc/cxxapi/ftv2blank.png +0 -0
  239. data/doc/cxxapi/ftv2doc.png +0 -0
  240. data/doc/cxxapi/ftv2folderclosed.png +0 -0
  241. data/doc/cxxapi/ftv2folderopen.png +0 -0
  242. data/doc/cxxapi/ftv2lastnode.png +0 -0
  243. data/doc/cxxapi/ftv2link.png +0 -0
  244. data/doc/cxxapi/ftv2mlastnode.png +0 -0
  245. data/doc/cxxapi/ftv2mnode.png +0 -0
  246. data/doc/cxxapi/ftv2node.png +0 -0
  247. data/doc/cxxapi/ftv2plastnode.png +0 -0
  248. data/doc/cxxapi/ftv2pnode.png +0 -0
  249. data/doc/cxxapi/ftv2vertline.png +0 -0
  250. data/doc/cxxapi/functions.html +0 -103
  251. data/doc/cxxapi/functions_0x62.html +0 -82
  252. data/doc/cxxapi/functions_0x63.html +0 -102
  253. data/doc/cxxapi/functions_0x64.html +0 -102
  254. data/doc/cxxapi/functions_0x65.html +0 -88
  255. data/doc/cxxapi/functions_0x66.html +0 -100
  256. data/doc/cxxapi/functions_0x67.html +0 -167
  257. data/doc/cxxapi/functions_0x68.html +0 -88
  258. data/doc/cxxapi/functions_0x69.html +0 -96
  259. data/doc/cxxapi/functions_0x6b.html +0 -80
  260. data/doc/cxxapi/functions_0x6c.html +0 -88
  261. data/doc/cxxapi/functions_0x6d.html +0 -88
  262. data/doc/cxxapi/functions_0x6e.html +0 -86
  263. data/doc/cxxapi/functions_0x6f.html +0 -94
  264. data/doc/cxxapi/functions_0x70.html +0 -94
  265. data/doc/cxxapi/functions_0x72.html +0 -110
  266. data/doc/cxxapi/functions_0x73.html +0 -171
  267. data/doc/cxxapi/functions_0x74.html +0 -85
  268. data/doc/cxxapi/functions_0x75.html +0 -85
  269. data/doc/cxxapi/functions_0x77.html +0 -92
  270. data/doc/cxxapi/functions_0x7e.html +0 -79
  271. data/doc/cxxapi/functions_enum.html +0 -49
  272. data/doc/cxxapi/functions_eval.html +0 -67
  273. data/doc/cxxapi/functions_func.html +0 -531
  274. data/doc/cxxapi/functions_vars.html +0 -278
  275. data/doc/cxxapi/graph_legend.dot +0 -22
  276. data/doc/cxxapi/graph_legend.html +0 -92
  277. data/doc/cxxapi/graph_legend.png +0 -0
  278. data/doc/cxxapi/group__Core.html +0 -46
  279. data/doc/cxxapi/group__Core.map +0 -3
  280. data/doc/cxxapi/group__Core.png +0 -0
  281. data/doc/cxxapi/group__Exceptions.html +0 -53
  282. data/doc/cxxapi/group__Hooks.html +0 -42
  283. data/doc/cxxapi/group__Hooks.map +0 -3
  284. data/doc/cxxapi/group__Hooks.png +0 -0
  285. data/doc/cxxapi/group__Support.html +0 -538
  286. data/doc/cxxapi/hierarchy.html +0 -101
  287. data/doc/cxxapi/index.html +0 -16
  288. data/doc/cxxapi/inherit__graph__0.map +0 -3
  289. data/doc/cxxapi/inherit__graph__0.md5 +0 -1
  290. data/doc/cxxapi/inherit__graph__0.png +0 -0
  291. data/doc/cxxapi/inherit__graph__1.map +0 -3
  292. data/doc/cxxapi/inherit__graph__1.md5 +0 -1
  293. data/doc/cxxapi/inherit__graph__1.png +0 -0
  294. data/doc/cxxapi/inherit__graph__10.map +0 -3
  295. data/doc/cxxapi/inherit__graph__10.md5 +0 -1
  296. data/doc/cxxapi/inherit__graph__10.png +0 -0
  297. data/doc/cxxapi/inherit__graph__11.map +0 -4
  298. data/doc/cxxapi/inherit__graph__11.md5 +0 -1
  299. data/doc/cxxapi/inherit__graph__11.png +0 -0
  300. data/doc/cxxapi/inherit__graph__12.map +0 -3
  301. data/doc/cxxapi/inherit__graph__12.md5 +0 -1
  302. data/doc/cxxapi/inherit__graph__12.png +0 -0
  303. data/doc/cxxapi/inherit__graph__13.map +0 -3
  304. data/doc/cxxapi/inherit__graph__13.md5 +0 -1
  305. data/doc/cxxapi/inherit__graph__13.png +0 -0
  306. data/doc/cxxapi/inherit__graph__14.map +0 -3
  307. data/doc/cxxapi/inherit__graph__14.md5 +0 -1
  308. data/doc/cxxapi/inherit__graph__14.png +0 -0
  309. data/doc/cxxapi/inherit__graph__15.map +0 -3
  310. data/doc/cxxapi/inherit__graph__15.md5 +0 -1
  311. data/doc/cxxapi/inherit__graph__15.png +0 -0
  312. data/doc/cxxapi/inherit__graph__16.map +0 -5
  313. data/doc/cxxapi/inherit__graph__16.md5 +0 -1
  314. data/doc/cxxapi/inherit__graph__16.png +0 -0
  315. data/doc/cxxapi/inherit__graph__17.map +0 -3
  316. data/doc/cxxapi/inherit__graph__17.md5 +0 -1
  317. data/doc/cxxapi/inherit__graph__17.png +0 -0
  318. data/doc/cxxapi/inherit__graph__18.map +0 -3
  319. data/doc/cxxapi/inherit__graph__18.md5 +0 -1
  320. data/doc/cxxapi/inherit__graph__18.png +0 -0
  321. data/doc/cxxapi/inherit__graph__19.map +0 -4
  322. data/doc/cxxapi/inherit__graph__19.md5 +0 -1
  323. data/doc/cxxapi/inherit__graph__19.png +0 -0
  324. data/doc/cxxapi/inherit__graph__2.map +0 -3
  325. data/doc/cxxapi/inherit__graph__2.md5 +0 -1
  326. data/doc/cxxapi/inherit__graph__2.png +0 -0
  327. data/doc/cxxapi/inherit__graph__20.map +0 -3
  328. data/doc/cxxapi/inherit__graph__20.md5 +0 -1
  329. data/doc/cxxapi/inherit__graph__20.png +0 -0
  330. data/doc/cxxapi/inherit__graph__21.map +0 -3
  331. data/doc/cxxapi/inherit__graph__21.md5 +0 -1
  332. data/doc/cxxapi/inherit__graph__21.png +0 -0
  333. data/doc/cxxapi/inherit__graph__22.map +0 -3
  334. data/doc/cxxapi/inherit__graph__22.md5 +0 -1
  335. data/doc/cxxapi/inherit__graph__22.png +0 -0
  336. data/doc/cxxapi/inherit__graph__23.map +0 -3
  337. data/doc/cxxapi/inherit__graph__23.md5 +0 -1
  338. data/doc/cxxapi/inherit__graph__23.png +0 -0
  339. data/doc/cxxapi/inherit__graph__24.map +0 -3
  340. data/doc/cxxapi/inherit__graph__24.md5 +0 -1
  341. data/doc/cxxapi/inherit__graph__24.png +0 -0
  342. data/doc/cxxapi/inherit__graph__25.map +0 -3
  343. data/doc/cxxapi/inherit__graph__25.md5 +0 -1
  344. data/doc/cxxapi/inherit__graph__25.png +0 -0
  345. data/doc/cxxapi/inherit__graph__26.map +0 -3
  346. data/doc/cxxapi/inherit__graph__26.md5 +0 -1
  347. data/doc/cxxapi/inherit__graph__26.png +0 -0
  348. data/doc/cxxapi/inherit__graph__27.map +0 -3
  349. data/doc/cxxapi/inherit__graph__27.md5 +0 -1
  350. data/doc/cxxapi/inherit__graph__27.png +0 -0
  351. data/doc/cxxapi/inherit__graph__28.map +0 -3
  352. data/doc/cxxapi/inherit__graph__28.md5 +0 -1
  353. data/doc/cxxapi/inherit__graph__28.png +0 -0
  354. data/doc/cxxapi/inherit__graph__29.map +0 -3
  355. data/doc/cxxapi/inherit__graph__29.md5 +0 -1
  356. data/doc/cxxapi/inherit__graph__29.png +0 -0
  357. data/doc/cxxapi/inherit__graph__3.map +0 -4
  358. data/doc/cxxapi/inherit__graph__3.md5 +0 -1
  359. data/doc/cxxapi/inherit__graph__3.png +0 -0
  360. data/doc/cxxapi/inherit__graph__30.map +0 -3
  361. data/doc/cxxapi/inherit__graph__30.md5 +0 -1
  362. data/doc/cxxapi/inherit__graph__30.png +0 -0
  363. data/doc/cxxapi/inherit__graph__31.map +0 -4
  364. data/doc/cxxapi/inherit__graph__31.md5 +0 -1
  365. data/doc/cxxapi/inherit__graph__31.png +0 -0
  366. data/doc/cxxapi/inherit__graph__32.map +0 -3
  367. data/doc/cxxapi/inherit__graph__32.md5 +0 -1
  368. data/doc/cxxapi/inherit__graph__32.png +0 -0
  369. data/doc/cxxapi/inherit__graph__33.map +0 -3
  370. data/doc/cxxapi/inherit__graph__33.md5 +0 -1
  371. data/doc/cxxapi/inherit__graph__33.png +0 -0
  372. data/doc/cxxapi/inherit__graph__34.map +0 -3
  373. data/doc/cxxapi/inherit__graph__34.md5 +0 -1
  374. data/doc/cxxapi/inherit__graph__34.png +0 -0
  375. data/doc/cxxapi/inherit__graph__35.map +0 -3
  376. data/doc/cxxapi/inherit__graph__35.md5 +0 -1
  377. data/doc/cxxapi/inherit__graph__35.png +0 -0
  378. data/doc/cxxapi/inherit__graph__36.map +0 -5
  379. data/doc/cxxapi/inherit__graph__36.md5 +0 -1
  380. data/doc/cxxapi/inherit__graph__36.png +0 -0
  381. data/doc/cxxapi/inherit__graph__37.map +0 -3
  382. data/doc/cxxapi/inherit__graph__37.md5 +0 -1
  383. data/doc/cxxapi/inherit__graph__37.png +0 -0
  384. data/doc/cxxapi/inherit__graph__38.map +0 -3
  385. data/doc/cxxapi/inherit__graph__38.md5 +0 -1
  386. data/doc/cxxapi/inherit__graph__38.png +0 -0
  387. data/doc/cxxapi/inherit__graph__39.map +0 -3
  388. data/doc/cxxapi/inherit__graph__39.md5 +0 -1
  389. data/doc/cxxapi/inherit__graph__39.png +0 -0
  390. data/doc/cxxapi/inherit__graph__4.map +0 -3
  391. data/doc/cxxapi/inherit__graph__4.md5 +0 -1
  392. data/doc/cxxapi/inherit__graph__4.png +0 -0
  393. data/doc/cxxapi/inherit__graph__40.map +0 -3
  394. data/doc/cxxapi/inherit__graph__40.md5 +0 -1
  395. data/doc/cxxapi/inherit__graph__40.png +0 -0
  396. data/doc/cxxapi/inherit__graph__41.map +0 -3
  397. data/doc/cxxapi/inherit__graph__41.md5 +0 -1
  398. data/doc/cxxapi/inherit__graph__41.png +0 -0
  399. data/doc/cxxapi/inherit__graph__5.map +0 -3
  400. data/doc/cxxapi/inherit__graph__5.md5 +0 -1
  401. data/doc/cxxapi/inherit__graph__5.png +0 -0
  402. data/doc/cxxapi/inherit__graph__6.map +0 -3
  403. data/doc/cxxapi/inherit__graph__6.md5 +0 -1
  404. data/doc/cxxapi/inherit__graph__6.png +0 -0
  405. data/doc/cxxapi/inherit__graph__7.map +0 -3
  406. data/doc/cxxapi/inherit__graph__7.md5 +0 -1
  407. data/doc/cxxapi/inherit__graph__7.png +0 -0
  408. data/doc/cxxapi/inherit__graph__8.map +0 -3
  409. data/doc/cxxapi/inherit__graph__8.md5 +0 -1
  410. data/doc/cxxapi/inherit__graph__8.png +0 -0
  411. data/doc/cxxapi/inherit__graph__9.map +0 -3
  412. data/doc/cxxapi/inherit__graph__9.md5 +0 -1
  413. data/doc/cxxapi/inherit__graph__9.png +0 -0
  414. data/doc/cxxapi/inherits.html +0 -165
  415. data/doc/cxxapi/main.html +0 -28
  416. data/doc/cxxapi/modules.html +0 -36
  417. data/doc/cxxapi/namespacePassenger.html +0 -585
  418. data/doc/cxxapi/namespacemembers.html +0 -190
  419. data/doc/cxxapi/namespacemembers_enum.html +0 -48
  420. data/doc/cxxapi/namespacemembers_eval.html +0 -57
  421. data/doc/cxxapi/namespacemembers_func.html +0 -114
  422. data/doc/cxxapi/namespacemembers_type.html +0 -54
  423. data/doc/cxxapi/namespaces.html +0 -37
  424. data/doc/cxxapi/nginx_2Configuration_8h_source.html +0 -126
  425. data/doc/cxxapi/ngx__http__passenger__module_8h_source.html +0 -95
  426. data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard-members.html +0 -36
  427. data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html +0 -51
  428. data/doc/cxxapi/structPassenger_1_1PoolOptions-members.html +0 -67
  429. data/doc/cxxapi/structPassenger_1_1PoolOptions.html +0 -647
  430. data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash-members.html +0 -36
  431. data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash.html +0 -51
  432. data/doc/cxxapi/tab_b.gif +0 -0
  433. data/doc/cxxapi/tab_l.gif +0 -0
  434. data/doc/cxxapi/tab_r.gif +0 -0
  435. data/doc/cxxapi/tabs.css +0 -105
  436. data/doc/cxxapi/tree.html +0 -249
  437. data/doc/template/horo.rb +0 -613
  438. data/ext/libev/config.h +0 -122
  439. data/ext/nginx/HttpStatusExtractor.h +0 -351
@@ -1,3 +0,0 @@
1
- <map id="G" name="G">
2
- <area shape="rect" id="node3" href="$classPassenger_1_1StandardSession.html" title="A &quot;standard&quot; implementation of Session." alt="" coords="5,83,211,112"/>
3
- </map>
@@ -1 +0,0 @@
1
- f31235f65ac59d3f1a094ede9749d187
@@ -1,39 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Member List</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- </div>
29
- <div class="contents">
30
- <h1>Passenger::SpawnException Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1SpawnException.html">Passenger::SpawnException</a>, including all inherited members.<table>
31
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1SpawnException.html#a6f675a37edd7070875d0744e7dd010a1">getErrorPage</a>() const </td><td><a class="el" href="classPassenger_1_1SpawnException.html">Passenger::SpawnException</a></td><td><code> [inline]</code></td></tr>
32
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1SpawnException.html#ae65dc272e183fd9e5637a4091cc6bbf4">hasErrorPage</a>() const </td><td><a class="el" href="classPassenger_1_1SpawnException.html">Passenger::SpawnException</a></td><td><code> [inline]</code></td></tr>
33
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1SpawnException.html#a99538fa117c984660607a7e163ab4158">isHTML</a>() const </td><td><a class="el" href="classPassenger_1_1SpawnException.html">Passenger::SpawnException</a></td><td><code> [inline]</code></td></tr>
34
- </table></div>
35
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
36
- <a href="http://www.doxygen.org/index.html">
37
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
38
- </body>
39
- </html>
@@ -1,101 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Passenger::SpawnException Class Reference</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="classPassenger_1_1SpawnException.html">SpawnException</a>
29
- </div>
30
- </div>
31
- <div class="contents">
32
- <h1>Passenger::SpawnException Class Reference</h1><!-- doxytag: class="Passenger::SpawnException" -->
33
- <p>Thrown when <a class="el" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation.">SpawnManager</a> or ApplicationPool fails to spawn an application instance.
34
- <a href="#_details">More...</a></p>
35
-
36
- <p><code>#include &lt;<a class="el" href="Exceptions_8h_source.html">Exceptions.h</a>&gt;</code></p>
37
-
38
- <p><a href="classPassenger_1_1SpawnException-members.html">List of all members.</a></p>
39
- <table border="0" cellpadding="0" cellspacing="0">
40
- <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
41
- <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae65dc272e183fd9e5637a4091cc6bbf4"></a><!-- doxytag: member="Passenger::SpawnException::hasErrorPage" ref="ae65dc272e183fd9e5637a4091cc6bbf4" args="() const " -->
42
- bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SpawnException.html#ae65dc272e183fd9e5637a4091cc6bbf4">hasErrorPage</a> () const </td></tr>
43
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether an error page is available. <br/></td></tr>
44
- <tr><td class="memItemLeft" align="right" valign="top">const string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SpawnException.html#a6f675a37edd7070875d0744e7dd010a1">getErrorPage</a> () const </td></tr>
45
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the error page content. <a href="#a6f675a37edd7070875d0744e7dd010a1"></a><br/></td></tr>
46
- <tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SpawnException.html#a99538fa117c984660607a7e163ab4158">isHTML</a> () const </td></tr>
47
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether the error page content is HTML. <a href="#a99538fa117c984660607a7e163ab4158"></a><br/></td></tr>
48
- </table>
49
- <hr/><a name="_details"></a><h2>Detailed Description</h2>
50
- <p>Thrown when <a class="el" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation.">SpawnManager</a> or ApplicationPool fails to spawn an application instance. </p>
51
- <p>The exception may contain an error page, which is a user-friendly HTML page with details about the error. </p>
52
- <hr/><h2>Member Function Documentation</h2>
53
- <a class="anchor" id="a6f675a37edd7070875d0744e7dd010a1"></a><!-- doxytag: member="Passenger::SpawnException::getErrorPage" ref="a6f675a37edd7070875d0744e7dd010a1" args="() const " -->
54
- <div class="memitem">
55
- <div class="memproto">
56
- <table class="memname">
57
- <tr>
58
- <td class="memname">const string Passenger::SpawnException::getErrorPage </td>
59
- <td>(</td>
60
- <td class="paramname"></td>
61
- <td>&nbsp;)&nbsp;</td>
62
- <td> const<code> [inline]</code></td>
63
- </tr>
64
- </table>
65
- </div>
66
- <div class="memdoc">
67
-
68
- <p>Return the error page content. </p>
69
- <dl class="pre"><dt><b>Precondition:</b></dt><dd><a class="el" href="classPassenger_1_1SpawnException.html#ae65dc272e183fd9e5637a4091cc6bbf4" title="Check whether an error page is available.">hasErrorPage()</a> </dd></dl>
70
-
71
- </div>
72
- </div>
73
- <a class="anchor" id="a99538fa117c984660607a7e163ab4158"></a><!-- doxytag: member="Passenger::SpawnException::isHTML" ref="a99538fa117c984660607a7e163ab4158" args="() const " -->
74
- <div class="memitem">
75
- <div class="memproto">
76
- <table class="memname">
77
- <tr>
78
- <td class="memname">bool Passenger::SpawnException::isHTML </td>
79
- <td>(</td>
80
- <td class="paramname"></td>
81
- <td>&nbsp;)&nbsp;</td>
82
- <td> const<code> [inline]</code></td>
83
- </tr>
84
- </table>
85
- </div>
86
- <div class="memdoc">
87
-
88
- <p>Whether the error page content is HTML. </p>
89
- <dl class="pre"><dt><b>Precondition:</b></dt><dd><a class="el" href="classPassenger_1_1SpawnException.html#ae65dc272e183fd9e5637a4091cc6bbf4" title="Check whether an error page is available.">hasErrorPage()</a> </dd></dl>
90
-
91
- </div>
92
- </div>
93
- <hr/>The documentation for this class was generated from the following file:<ul>
94
- <li><a class="el" href="Exceptions_8h_source.html">Exceptions.h</a></li>
95
- </ul>
96
- </div>
97
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
98
- <a href="http://www.doxygen.org/index.html">
99
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
100
- </body>
101
- </html>
@@ -1,42 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Member List</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- </div>
29
- <div class="contents">
30
- <h1>Passenger::SpawnManager Member List</h1>This is the complete list of members for <a class="el" href="classPassenger_1_1SpawnManager.html">Passenger::SpawnManager</a>, including all inherited members.<table>
31
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1SpawnManager.html#af34df8cfccfc64507999f1b48bc5a126">getServerPid</a>() const </td><td><a class="el" href="classPassenger_1_1SpawnManager.html">Passenger::SpawnManager</a></td><td><code> [inline, virtual]</code></td></tr>
32
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1SpawnManager.html#a9210212c23c5a8ee5ee4dd5c9dcdf57d">killSpawnServer</a>() const </td><td><a class="el" href="classPassenger_1_1SpawnManager.html">Passenger::SpawnManager</a></td><td><code> [inline, virtual]</code></td></tr>
33
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1SpawnManager.html#aad71b2ea9431f3286f23a6e6f80e0981">reload</a>(const string &amp;appRoot)</td><td><a class="el" href="classPassenger_1_1SpawnManager.html">Passenger::SpawnManager</a></td><td><code> [inline, virtual]</code></td></tr>
34
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1SpawnManager.html#a88a94ba4d41dab492cb1dc8a0f998973">spawn</a>(const PoolOptions &amp;options)</td><td><a class="el" href="classPassenger_1_1SpawnManager.html">Passenger::SpawnManager</a></td><td><code> [inline, virtual]</code></td></tr>
35
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1SpawnManager.html#a50cf2d13d1a5ab8809108d3de7d9326b">SpawnManager</a>(const string &amp;spawnServerCommand, const ServerInstanceDir::GenerationPtr &amp;generation, const AccountsDatabasePtr &amp;accountsDatabase=AccountsDatabasePtr(), const string &amp;rubyCommand=&quot;ruby&quot;, const AnalyticsLoggerPtr &amp;analyticsLogger=AnalyticsLoggerPtr(), int logLevel=0, const string &amp;debugLogFile=&quot;&quot;)</td><td><a class="el" href="classPassenger_1_1SpawnManager.html">Passenger::SpawnManager</a></td><td><code> [inline]</code></td></tr>
36
- <tr class="memlist"><td><a class="el" href="classPassenger_1_1SpawnManager.html#ab4dfcb11c58b07d8144b18dd99abed45">spawnServerStarted</a>()</td><td><a class="el" href="classPassenger_1_1SpawnManager.html">Passenger::SpawnManager</a></td><td><code> [inline, protected, virtual]</code></td></tr>
37
- </table></div>
38
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
39
- <a href="http://www.doxygen.org/index.html">
40
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
41
- </body>
42
- </html>
@@ -1,292 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <title>Passenger: Passenger::SpawnManager Class Reference</title>
6
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
7
- <link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
- </head>
9
- <body>
10
- <!-- Generated by Doxygen 1.6.2 -->
11
- <div class="navigation" id="top">
12
- <div class="tabs">
13
- <ul>
14
- <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
15
- <li><a href="modules.html"><span>Modules</span></a></li>
16
- <li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
- <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
18
- <li><a href="files.html"><span>Files</span></a></li>
19
- </ul>
20
- </div>
21
- <div class="tabs">
22
- <ul>
23
- <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
24
- <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
25
- <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
26
- </ul>
27
- </div>
28
- <div class="navpath"><a class="el" href="namespacePassenger.html">Passenger</a>::<a class="el" href="classPassenger_1_1SpawnManager.html">SpawnManager</a>
29
- </div>
30
- </div>
31
- <div class="contents">
32
- <h1>Passenger::SpawnManager Class Reference<br/>
33
- <small>
34
- [<a class="el" href="group__Support.html">Apache-independent support classes and function</a>]</small>
35
- </h1><!-- doxytag: class="Passenger::SpawnManager" --><!-- doxytag: inherits="Passenger::AbstractSpawnManager" -->
36
- <p>An <a class="el" href="classPassenger_1_1AbstractSpawnManager.html" title="Spawning of application processes.">AbstractSpawnManager</a> implementation.
37
- <a href="#_details">More...</a></p>
38
-
39
- <p><code>#include &lt;<a class="el" href="SpawnManager_8h_source.html">SpawnManager.h</a>&gt;</code></p>
40
- <div class="dynheader">
41
- Inheritance diagram for Passenger::SpawnManager:</div>
42
- <div class="dynsection">
43
- <div class="center"><img src="classPassenger_1_1SpawnManager__inherit__graph.png" border="0" usemap="#Passenger_1_1SpawnManager_inherit__map" alt="Inheritance graph"/></div>
44
- <map name="Passenger_1_1SpawnManager_inherit__map" id="Passenger_1_1SpawnManager_inherit__map">
45
- <area shape="rect" id="node2" href="classPassenger_1_1AbstractSpawnManager.html" title="Spawning of application processes." alt="" coords="5,5,253,35"/></map>
46
- <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
47
-
48
- <p><a href="classPassenger_1_1SpawnManager-members.html">List of all members.</a></p>
49
- <table border="0" cellpadding="0" cellspacing="0">
50
- <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
51
- <tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SpawnManager.html#a50cf2d13d1a5ab8809108d3de7d9326b">SpawnManager</a> (const string &amp;spawnServerCommand, const ServerInstanceDir::GenerationPtr &amp;generation, const AccountsDatabasePtr &amp;accountsDatabase=AccountsDatabasePtr(), const string &amp;rubyCommand=&quot;ruby&quot;, const AnalyticsLoggerPtr &amp;analyticsLogger=AnalyticsLoggerPtr(), int logLevel=0, const string &amp;debugLogFile=&quot;&quot;)</td></tr>
52
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a new <a class="el" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation.">SpawnManager</a>. <a href="#a50cf2d13d1a5ab8809108d3de7d9326b"></a><br/></td></tr>
53
- <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacePassenger.html#aced1f248465136b313c6dec5fe6ca492">ProcessPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SpawnManager.html#a88a94ba4d41dab492cb1dc8a0f998973">spawn</a> (const <a class="el" href="structPassenger_1_1PoolOptions.html">PoolOptions</a> &amp;options)</td></tr>
54
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spawn a new application process. <a href="#a88a94ba4d41dab492cb1dc8a0f998973"></a><br/></td></tr>
55
- <tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SpawnManager.html#aad71b2ea9431f3286f23a6e6f80e0981">reload</a> (const string &amp;appRoot)</td></tr>
56
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shutdown the ApplicationSpawner server that's running at the given application root. <a href="#aad71b2ea9431f3286f23a6e6f80e0981"></a><br/></td></tr>
57
- <tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SpawnManager.html#a9210212c23c5a8ee5ee4dd5c9dcdf57d">killSpawnServer</a> () const </td></tr>
58
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forcefully kill the spawn server. <a href="#a9210212c23c5a8ee5ee4dd5c9dcdf57d"></a><br/></td></tr>
59
- <tr><td class="memItemLeft" align="right" valign="top">virtual pid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SpawnManager.html#af34df8cfccfc64507999f1b48bc5a126">getServerPid</a> () const </td></tr>
60
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the spawn server's PID. <a href="#af34df8cfccfc64507999f1b48bc5a126"></a><br/></td></tr>
61
- <tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
62
- <tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SpawnManager.html#ab4dfcb11c58b07d8144b18dd99abed45">spawnServerStarted</a> ()</td></tr>
63
- <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A method which is called after the spawn server has started. <a href="#ab4dfcb11c58b07d8144b18dd99abed45"></a><br/></td></tr>
64
- </table>
65
- <hr/><a name="_details"></a><h2>Detailed Description</h2>
66
- <p>An <a class="el" href="classPassenger_1_1AbstractSpawnManager.html" title="Spawning of application processes.">AbstractSpawnManager</a> implementation. </p>
67
- <p>Internally, this class makes use of a spawn server, which is written in Ruby. This server is automatically started when a <a class="el" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation.">SpawnManager</a> instance is created, and automatically shutdown when that instance is destroyed. The existance of the spawn server is almost totally transparent to users of this class. Spawn requests are sent to the server, and details about the spawned process is returned.</p>
68
- <p>If the spawn server dies during the middle of an operation, it will be restarted. See <a class="el" href="classPassenger_1_1SpawnManager.html#a88a94ba4d41dab492cb1dc8a0f998973" title="Spawn a new application process.">spawn()</a> for full details.</p>
69
- <p>The communication channel with the server is anonymous, i.e. no other processes can access the communication channel, so communication is guaranteed to be safe (unless, of course, if the spawn server itself is a trojan).</p>
70
- <p>The server will try to keep the spawning time as small as possible, by keeping corresponding Ruby on Rails frameworks and application code in memory. So the second time a process of the same application is spawned, the spawn time is significantly lower than the first time. Nevertheless, spawning is a relatively expensive operation (compared to the processing of a typical HTTP request/response), and so should be avoided whenever possible.</p>
71
- <p>See the documentation of the spawn server for full implementation details. </p>
72
- <hr/><h2>Constructor &amp; Destructor Documentation</h2>
73
- <a class="anchor" id="a50cf2d13d1a5ab8809108d3de7d9326b"></a><!-- doxytag: member="Passenger::SpawnManager::SpawnManager" ref="a50cf2d13d1a5ab8809108d3de7d9326b" args="(const string &amp;spawnServerCommand, const ServerInstanceDir::GenerationPtr &amp;generation, const AccountsDatabasePtr &amp;accountsDatabase=AccountsDatabasePtr(), const string &amp;rubyCommand=&quot;ruby&quot;, const AnalyticsLoggerPtr &amp;analyticsLogger=AnalyticsLoggerPtr(), int logLevel=0, const string &amp;debugLogFile=&quot;&quot;)" -->
74
- <div class="memitem">
75
- <div class="memproto">
76
- <table class="memname">
77
- <tr>
78
- <td class="memname">Passenger::SpawnManager::SpawnManager </td>
79
- <td>(</td>
80
- <td class="paramtype">const string &amp;&nbsp;</td>
81
- <td class="paramname"> <em>spawnServerCommand</em>, </td>
82
- </tr>
83
- <tr>
84
- <td class="paramkey"></td>
85
- <td></td>
86
- <td class="paramtype">const ServerInstanceDir::GenerationPtr &amp;&nbsp;</td>
87
- <td class="paramname"> <em>generation</em>, </td>
88
- </tr>
89
- <tr>
90
- <td class="paramkey"></td>
91
- <td></td>
92
- <td class="paramtype">const AccountsDatabasePtr &amp;&nbsp;</td>
93
- <td class="paramname"> <em>accountsDatabase</em> = <code>AccountsDatabasePtr()</code>, </td>
94
- </tr>
95
- <tr>
96
- <td class="paramkey"></td>
97
- <td></td>
98
- <td class="paramtype">const string &amp;&nbsp;</td>
99
- <td class="paramname"> <em>rubyCommand</em> = <code>&quot;ruby&quot;</code>, </td>
100
- </tr>
101
- <tr>
102
- <td class="paramkey"></td>
103
- <td></td>
104
- <td class="paramtype">const AnalyticsLoggerPtr &amp;&nbsp;</td>
105
- <td class="paramname"> <em>analyticsLogger</em> = <code>AnalyticsLoggerPtr()</code>, </td>
106
- </tr>
107
- <tr>
108
- <td class="paramkey"></td>
109
- <td></td>
110
- <td class="paramtype">int&nbsp;</td>
111
- <td class="paramname"> <em>logLevel</em> = <code>0</code>, </td>
112
- </tr>
113
- <tr>
114
- <td class="paramkey"></td>
115
- <td></td>
116
- <td class="paramtype">const string &amp;&nbsp;</td>
117
- <td class="paramname"> <em>debugLogFile</em> = <code>&quot;&quot;</code></td><td>&nbsp;</td>
118
- </tr>
119
- <tr>
120
- <td></td>
121
- <td>)</td>
122
- <td></td><td></td><td><code> [inline]</code></td>
123
- </tr>
124
- </table>
125
- </div>
126
- <div class="memdoc">
127
-
128
- <p>Construct a new <a class="el" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation.">SpawnManager</a>. </p>
129
- <dl><dt><b>Parameters:</b></dt><dd>
130
- <table border="0" cellspacing="2" cellpadding="0">
131
- <tr><td valign="top"></td><td valign="top"><em>spawnServerCommand</em>&nbsp;</td><td>The filename of the spawn server to use. </td></tr>
132
- <tr><td valign="top"></td><td valign="top"><em>generation</em>&nbsp;</td><td>The server instance dir generation in which generation-specific are stored. </td></tr>
133
- <tr><td valign="top"></td><td valign="top"><em>accountsDatabase</em>&nbsp;</td><td>An accounts database. <a class="el" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation.">SpawnManager</a> will automatically create a new account for each spawned process, assigning it the rights as set in the <a class="el" href="structPassenger_1_1PoolOptions.html" title="This struct encapsulates information for ApplicationPool::get() and for SpawnManager::spawn()...">PoolOptions</a> object. This account is also automatically deleted when no longer needed. May be a null pointer. </td></tr>
134
- <tr><td valign="top"></td><td valign="top"><em>rubyCommand</em>&nbsp;</td><td>The Ruby interpreter's command. </td></tr>
135
- </table>
136
- </dd>
137
- </dl>
138
- <dl><dt><b>Exceptions:</b></dt><dd>
139
- <table border="0" cellspacing="2" cellpadding="0">
140
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1RuntimeException.html" title="A generic runtime exception.">RuntimeException</a></em>&nbsp;</td><td>An error occurred while creating a Unix server socket. </td></tr>
141
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call.">SystemException</a></em>&nbsp;</td><td>An error occured while trying to setup the spawn server. </td></tr>
142
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1IOException.html" title="Represents an error that occured during an I/O operation.">IOException</a></em>&nbsp;</td><td>An error occurred while generating random data. </td></tr>
143
- </table>
144
- </dd>
145
- </dl>
146
-
147
- </div>
148
- </div>
149
- <hr/><h2>Member Function Documentation</h2>
150
- <a class="anchor" id="af34df8cfccfc64507999f1b48bc5a126"></a><!-- doxytag: member="Passenger::SpawnManager::getServerPid" ref="af34df8cfccfc64507999f1b48bc5a126" args="() const " -->
151
- <div class="memitem">
152
- <div class="memproto">
153
- <table class="memname">
154
- <tr>
155
- <td class="memname">virtual pid_t Passenger::SpawnManager::getServerPid </td>
156
- <td>(</td>
157
- <td class="paramname"></td>
158
- <td>&nbsp;)&nbsp;</td>
159
- <td> const<code> [inline, virtual]</code></td>
160
- </tr>
161
- </table>
162
- </div>
163
- <div class="memdoc">
164
-
165
- <p>Returns the spawn server's PID. </p>
166
- <p>Used within unit tests. </p>
167
-
168
- <p>Implements <a class="el" href="classPassenger_1_1AbstractSpawnManager.html#aa630e8c364f391b54c0bfb723326836a">Passenger::AbstractSpawnManager</a>.</p>
169
-
170
- </div>
171
- </div>
172
- <a class="anchor" id="a9210212c23c5a8ee5ee4dd5c9dcdf57d"></a><!-- doxytag: member="Passenger::SpawnManager::killSpawnServer" ref="a9210212c23c5a8ee5ee4dd5c9dcdf57d" args="() const " -->
173
- <div class="memitem">
174
- <div class="memproto">
175
- <table class="memname">
176
- <tr>
177
- <td class="memname">virtual void Passenger::SpawnManager::killSpawnServer </td>
178
- <td>(</td>
179
- <td class="paramname"></td>
180
- <td>&nbsp;)&nbsp;</td>
181
- <td> const<code> [inline, virtual]</code></td>
182
- </tr>
183
- </table>
184
- </div>
185
- <div class="memdoc">
186
-
187
- <p>Forcefully kill the spawn server. </p>
188
- <p>This AbstractSpawnManager's state will not be modified, so that it won't know that the spawn server is killed until next time it sends a command to it.</p>
189
- <p>Used within unit tests. </p>
190
-
191
- <p>Implements <a class="el" href="classPassenger_1_1AbstractSpawnManager.html#a225574ef363847058554fde9d5704950">Passenger::AbstractSpawnManager</a>.</p>
192
-
193
- </div>
194
- </div>
195
- <a class="anchor" id="aad71b2ea9431f3286f23a6e6f80e0981"></a><!-- doxytag: member="Passenger::SpawnManager::reload" ref="aad71b2ea9431f3286f23a6e6f80e0981" args="(const string &amp;appRoot)" -->
196
- <div class="memitem">
197
- <div class="memproto">
198
- <table class="memname">
199
- <tr>
200
- <td class="memname">virtual void Passenger::SpawnManager::reload </td>
201
- <td>(</td>
202
- <td class="paramtype">const string &amp;&nbsp;</td>
203
- <td class="paramname"> <em>appRoot</em></td>
204
- <td>&nbsp;)&nbsp;</td>
205
- <td><code> [inline, virtual]</code></td>
206
- </tr>
207
- </table>
208
- </div>
209
- <div class="memdoc">
210
-
211
- <p>Shutdown the ApplicationSpawner server that's running at the given application root. </p>
212
- <p>This method should be called when it's time to reload an application.</p>
213
- <dl><dt><b>Exceptions:</b></dt><dd>
214
- <table border="0" cellspacing="2" cellpadding="0">
215
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call.">SystemException</a></em>&nbsp;</td><td>Unable to communicate with the spawn server, even after a restart. </td></tr>
216
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1SpawnException.html" title="Thrown when SpawnManager or ApplicationPool fails to spawn an application instance...">SpawnException</a></em>&nbsp;</td><td>The spawn server died unexpectedly, and a restart was attempted, but it failed. </td></tr>
217
- </table>
218
- </dd>
219
- </dl>
220
-
221
- <p>Implements <a class="el" href="classPassenger_1_1AbstractSpawnManager.html#a5043681dbfb9b77fa0679c510ede853c">Passenger::AbstractSpawnManager</a>.</p>
222
-
223
- </div>
224
- </div>
225
- <a class="anchor" id="a88a94ba4d41dab492cb1dc8a0f998973"></a><!-- doxytag: member="Passenger::SpawnManager::spawn" ref="a88a94ba4d41dab492cb1dc8a0f998973" args="(const PoolOptions &amp;options)" -->
226
- <div class="memitem">
227
- <div class="memproto">
228
- <table class="memname">
229
- <tr>
230
- <td class="memname">virtual <a class="el" href="namespacePassenger.html#aced1f248465136b313c6dec5fe6ca492">ProcessPtr</a> Passenger::SpawnManager::spawn </td>
231
- <td>(</td>
232
- <td class="paramtype">const <a class="el" href="structPassenger_1_1PoolOptions.html">PoolOptions</a> &amp;&nbsp;</td>
233
- <td class="paramname"> <em>options</em></td>
234
- <td>&nbsp;)&nbsp;</td>
235
- <td><code> [inline, virtual]</code></td>
236
- </tr>
237
- </table>
238
- </div>
239
- <div class="memdoc">
240
-
241
- <p>Spawn a new application process. </p>
242
- <p>Spawning details are to be passed via the <code>options</code> argument.</p>
243
- <p>If the spawn server died during the spawning process, then the server will be automatically restarted, and another spawn attempt will be made. If restarting the server fails, or if the second spawn attempt fails, then an exception will be thrown.</p>
244
- <dl><dt><b>Parameters:</b></dt><dd>
245
- <table border="0" cellspacing="2" cellpadding="0">
246
- <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>An object containing the details for this spawn operation, such as which application to spawn. See <a class="el" href="structPassenger_1_1PoolOptions.html" title="This struct encapsulates information for ApplicationPool::get() and for SpawnManager::spawn()...">PoolOptions</a> for details. </td></tr>
247
- </table>
248
- </dd>
249
- </dl>
250
- <dl class="return"><dt><b>Returns:</b></dt><dd>A smart pointer to a <a class="el" href="classPassenger_1_1Process.html" title="Represents a single application process, as spawned by SpawnManager or by ApplicationPool::Interface...">Process</a> object, which represents the application process that has been spawned. Use this object to communicate with the spawned process. </dd></dl>
251
- <dl><dt><b>Exceptions:</b></dt><dd>
252
- <table border="0" cellspacing="2" cellpadding="0">
253
- <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1SpawnException.html" title="Thrown when SpawnManager or ApplicationPool fails to spawn an application instance...">SpawnException</a></em>&nbsp;</td><td>Something went wrong. </td></tr>
254
- <tr><td valign="top"></td><td valign="top"><em>boost::thread_interrupted</em>&nbsp;</td><td></td></tr>
255
- <tr><td valign="top"></td><td valign="top"><em>Anything</em>&nbsp;</td><td>thrown by options.environmentVariables-&gt;getItems(). </td></tr>
256
- </table>
257
- </dd>
258
- </dl>
259
-
260
- <p>Implements <a class="el" href="classPassenger_1_1AbstractSpawnManager.html#a6ca7efc68595bf962f5cce5e6407f176">Passenger::AbstractSpawnManager</a>.</p>
261
-
262
- </div>
263
- </div>
264
- <a class="anchor" id="ab4dfcb11c58b07d8144b18dd99abed45"></a><!-- doxytag: member="Passenger::SpawnManager::spawnServerStarted" ref="ab4dfcb11c58b07d8144b18dd99abed45" args="()" -->
265
- <div class="memitem">
266
- <div class="memproto">
267
- <table class="memname">
268
- <tr>
269
- <td class="memname">virtual void Passenger::SpawnManager::spawnServerStarted </td>
270
- <td>(</td>
271
- <td class="paramname"></td>
272
- <td>&nbsp;)&nbsp;</td>
273
- <td><code> [inline, protected, virtual]</code></td>
274
- </tr>
275
- </table>
276
- </div>
277
- <div class="memdoc">
278
-
279
- <p>A method which is called after the spawn server has started. </p>
280
- <p>It doesn't do anything by default and serves as a hook for unit tests. </p>
281
-
282
- </div>
283
- </div>
284
- <hr/>The documentation for this class was generated from the following file:<ul>
285
- <li><a class="el" href="SpawnManager_8h_source.html">SpawnManager.h</a></li>
286
- </ul>
287
- </div>
288
- <hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
289
- <a href="http://www.doxygen.org/index.html">
290
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
291
- </body>
292
- </html>