passenger 5.0.20 → 5.0.21

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 (408) hide show
  1. checksums.yaml +8 -8
  2. checksums.yaml.gz.asc +7 -7
  3. data.tar.gz.asc +7 -7
  4. data/CHANGELOG +14 -0
  5. data/CONTRIBUTORS +1 -0
  6. data/README.md +1 -1
  7. data/Rakefile +4 -1
  8. data/bin/passenger +3 -2
  9. data/bin/passenger-config +3 -2
  10. data/bin/passenger-install-apache2-module +3 -3
  11. data/bin/passenger-install-nginx-module +10 -3
  12. data/bin/passenger-memory-stats +3 -2
  13. data/bin/passenger-status +3 -2
  14. data/build/agent.rb +4 -3
  15. data/build/apache2.rb +3 -2
  16. data/build/basics.rb +3 -2
  17. data/build/common_library.rb +9 -8
  18. data/build/cplusplus_support.rb +3 -2
  19. data/build/cxx_dependency_map.rb +67 -134
  20. data/build/cxx_tests.rb +3 -2
  21. data/build/documentation.rb +3 -2
  22. data/build/integration_tests.rb +3 -2
  23. data/build/misc.rb +3 -22
  24. data/build/nginx.rb +3 -2
  25. data/build/node_tests.rb +3 -2
  26. data/build/oxt_tests.rb +3 -2
  27. data/build/packaging.rb +4 -3
  28. data/build/ruby_extension.rb +3 -2
  29. data/build/ruby_tests.rb +3 -2
  30. data/build/test_basics.rb +3 -2
  31. data/dev/copy_boost_headers +3 -2
  32. data/doc/Design and Architecture.html +1 -1
  33. data/doc/Design and Architecture.txt +1 -1
  34. data/doc/Users guide Apache.html +1 -1
  35. data/doc/Users guide Nginx.html +1 -1
  36. data/doc/users_guide_snippets/appendix_a_about.txt +1 -1
  37. data/man/passenger-config.1 +0 -2
  38. data/man/passenger-memory-stats.8 +0 -2
  39. data/man/passenger-status.8 +0 -2
  40. data/src/agent/AgentMain.cpp +3 -2
  41. data/src/agent/Core/ApiServer.h +3 -2
  42. data/src/agent/Core/ApplicationPool/BasicGroupInfo.h +3 -2
  43. data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +3 -2
  44. data/src/agent/Core/ApplicationPool/Common.h +3 -2
  45. data/src/agent/Core/ApplicationPool/Context.h +3 -2
  46. data/src/agent/Core/ApplicationPool/ErrorRenderer.h +3 -2
  47. data/src/agent/Core/ApplicationPool/Group.h +3 -2
  48. data/src/agent/Core/ApplicationPool/Group/InitializationAndShutdown.cpp +3 -2
  49. data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +3 -2
  50. data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +3 -2
  51. data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +3 -2
  52. data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +3 -2
  53. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +3 -2
  54. data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +3 -2
  55. data/src/agent/Core/ApplicationPool/Group/SpawningAndRestarting.cpp +3 -2
  56. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +3 -2
  57. data/src/agent/Core/ApplicationPool/Group/Verification.cpp +3 -2
  58. data/src/agent/Core/ApplicationPool/Implementation.cpp +3 -2
  59. data/src/agent/Core/ApplicationPool/Options.h +3 -11
  60. data/src/agent/Core/ApplicationPool/Pool.h +3 -2
  61. data/src/agent/Core/ApplicationPool/Pool/AnalyticsCollection.cpp +3 -2
  62. data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +3 -2
  63. data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +3 -2
  64. data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +3 -2
  65. data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +3 -2
  66. data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +3 -2
  67. data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +3 -2
  68. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +3 -2
  69. data/src/agent/Core/ApplicationPool/Process.h +3 -2
  70. data/src/agent/Core/ApplicationPool/Session.h +3 -2
  71. data/src/agent/Core/ApplicationPool/Socket.h +3 -2
  72. data/src/agent/Core/CoreMain.cpp +3 -2
  73. data/src/agent/Core/OptionParser.h +3 -2
  74. data/src/agent/Core/RequestHandler.h +3 -2
  75. data/src/agent/Core/RequestHandler/AppResponse.h +3 -2
  76. data/src/agent/Core/RequestHandler/BufferBody.cpp +3 -2
  77. data/src/agent/Core/RequestHandler/CheckoutSession.cpp +3 -2
  78. data/src/agent/Core/RequestHandler/Client.h +3 -2
  79. data/src/agent/Core/RequestHandler/ForwardResponse.cpp +3 -2
  80. data/src/agent/Core/RequestHandler/Hooks.cpp +4 -2
  81. data/src/agent/Core/RequestHandler/InitRequest.cpp +13 -4
  82. data/src/agent/Core/RequestHandler/Request.h +10 -2
  83. data/src/agent/Core/RequestHandler/SendRequest.cpp +40 -9
  84. data/src/agent/Core/RequestHandler/TurboCaching.h +3 -2
  85. data/src/agent/Core/RequestHandler/Utils.cpp +3 -2
  86. data/src/agent/Core/ResponseCache.h +3 -2
  87. data/src/agent/Core/SpawningKit/BackgroundIOCapturer.h +3 -2
  88. data/src/agent/Core/SpawningKit/Config.h +3 -2
  89. data/src/agent/Core/SpawningKit/DirectSpawner.h +3 -2
  90. data/src/agent/Core/SpawningKit/DummySpawner.h +3 -2
  91. data/src/agent/Core/SpawningKit/Factory.h +3 -2
  92. data/src/agent/Core/SpawningKit/Options.h +3 -2
  93. data/src/agent/Core/SpawningKit/PipeWatcher.h +3 -2
  94. data/src/agent/Core/SpawningKit/Result.h +3 -2
  95. data/src/agent/Core/SpawningKit/SmartSpawner.h +3 -2
  96. data/src/agent/Core/SpawningKit/Spawner.h +18 -2
  97. data/src/agent/Core/SpawningKit/UserSwitchingRules.h +3 -2
  98. data/src/agent/Core/UnionStation/Connection.h +3 -2
  99. data/src/agent/Core/UnionStation/Core.h +3 -2
  100. data/src/agent/Core/UnionStation/StopwatchLog.h +3 -2
  101. data/src/agent/Core/UnionStation/Transaction.h +3 -2
  102. data/src/agent/Shared/ApiServerUtils.h +3 -2
  103. data/src/agent/Shared/ApplicationPoolApiKey.h +3 -2
  104. data/src/agent/Shared/Base.cpp +3 -2
  105. data/src/agent/Shared/Base.h +3 -2
  106. data/src/agent/SpawnPreparer/SpawnPreparerMain.cpp +3 -2
  107. data/src/agent/SystemMetrics/SystemMetricsMain.cpp +3 -2
  108. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +3 -2
  109. data/src/agent/UstRouter/ApiServer.h +3 -2
  110. data/src/agent/UstRouter/Client.h +3 -2
  111. data/src/agent/UstRouter/Controller.h +3 -2
  112. data/src/agent/UstRouter/DataStoreId.h +3 -2
  113. data/src/agent/UstRouter/FileSink.h +3 -2
  114. data/src/agent/UstRouter/LogSink.h +3 -2
  115. data/src/agent/UstRouter/OptionParser.h +3 -2
  116. data/src/agent/UstRouter/RemoteSender.h +3 -2
  117. data/src/agent/UstRouter/RemoteSink.h +3 -2
  118. data/src/agent/UstRouter/Transaction.h +3 -2
  119. data/src/agent/UstRouter/UstRouterMain.cpp +3 -2
  120. data/src/agent/Watchdog/AgentWatcher.cpp +3 -2
  121. data/src/agent/Watchdog/ApiServer.h +3 -2
  122. data/src/agent/Watchdog/CoreWatcher.cpp +3 -2
  123. data/src/agent/Watchdog/InstanceDirToucher.cpp +3 -2
  124. data/src/agent/Watchdog/UstRouterWatcher.cpp +3 -2
  125. data/src/agent/Watchdog/WatchdogMain.cpp +4 -3
  126. data/src/apache2_module/Bucket.cpp +3 -2
  127. data/src/apache2_module/Bucket.h +3 -2
  128. data/src/apache2_module/Configuration.cpp +3 -2
  129. data/src/apache2_module/Configuration.h +3 -2
  130. data/src/apache2_module/Configuration.hpp +3 -2
  131. data/src/apache2_module/ConfigurationCommands.cpp +3 -2
  132. data/src/apache2_module/ConfigurationCommands.cpp.erb +3 -2
  133. data/src/apache2_module/ConfigurationFields.hpp +3 -2
  134. data/src/apache2_module/ConfigurationFields.hpp.erb +3 -2
  135. data/src/apache2_module/ConfigurationSetters.cpp +3 -2
  136. data/src/apache2_module/ConfigurationSetters.cpp.erb +3 -2
  137. data/src/apache2_module/CreateDirConfig.cpp +3 -2
  138. data/src/apache2_module/CreateDirConfig.cpp.erb +3 -2
  139. data/src/apache2_module/DirectoryMapper.h +3 -2
  140. data/src/apache2_module/Hooks.cpp +12 -11
  141. data/src/apache2_module/Hooks.h +3 -2
  142. data/src/apache2_module/MergeDirConfig.cpp +3 -2
  143. data/src/apache2_module/MergeDirConfig.cpp.erb +3 -2
  144. data/src/apache2_module/SetHeaders.cpp +3 -2
  145. data/src/apache2_module/SetHeaders.cpp.erb +3 -2
  146. data/src/apache2_module/mod_passenger.c +3 -2
  147. data/src/cxx_supportlib/AppTypes.cpp +3 -2
  148. data/src/cxx_supportlib/AppTypes.h +3 -2
  149. data/src/cxx_supportlib/BackgroundEventLoop.cpp +3 -2
  150. data/src/cxx_supportlib/BackgroundEventLoop.h +3 -2
  151. data/src/cxx_supportlib/Constants.h +4 -7
  152. data/src/cxx_supportlib/Constants.h.erb +3 -4
  153. data/src/cxx_supportlib/DataStructures/HashedStaticString.h +3 -2
  154. data/src/cxx_supportlib/DataStructures/LString.h +3 -2
  155. data/src/cxx_supportlib/DataStructures/StringKeyTable.h +3 -2
  156. data/src/cxx_supportlib/Exceptions.cpp +3 -2
  157. data/src/cxx_supportlib/Exceptions.h +3 -2
  158. data/src/cxx_supportlib/FileDescriptor.h +3 -2
  159. data/src/cxx_supportlib/Hooks.h +3 -2
  160. data/src/cxx_supportlib/InstanceDirectory.h +4 -3
  161. data/src/cxx_supportlib/Logging.cpp +3 -2
  162. data/src/cxx_supportlib/Logging.h +3 -2
  163. data/src/cxx_supportlib/MemoryKit/mbuf.h +1 -1
  164. data/src/cxx_supportlib/MemoryKit/palloc.cpp +1 -1
  165. data/src/cxx_supportlib/MemoryKit/palloc.h +1 -1
  166. data/src/cxx_supportlib/MessageClient.h +3 -2
  167. data/src/cxx_supportlib/MessageReadersWriters.h +3 -2
  168. data/src/cxx_supportlib/RandomGenerator.h +3 -2
  169. data/src/cxx_supportlib/ResourceLocator.h +3 -2
  170. data/src/cxx_supportlib/SafeLibev.h +3 -2
  171. data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +3 -2
  172. data/src/cxx_supportlib/ServerKit/Channel.h +3 -2
  173. data/src/cxx_supportlib/ServerKit/Client.h +3 -2
  174. data/src/cxx_supportlib/ServerKit/ClientRef.h +3 -2
  175. data/src/cxx_supportlib/ServerKit/Context.h +3 -2
  176. data/src/cxx_supportlib/ServerKit/CookieUtils.h +3 -2
  177. data/src/cxx_supportlib/ServerKit/Errors.h +3 -2
  178. data/src/cxx_supportlib/ServerKit/FdSinkChannel.h +3 -2
  179. data/src/cxx_supportlib/ServerKit/FdSourceChannel.h +3 -2
  180. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +3 -2
  181. data/src/cxx_supportlib/ServerKit/FileBufferedFdSinkChannel.h +3 -2
  182. data/src/cxx_supportlib/ServerKit/HeaderTable.h +3 -2
  183. data/src/cxx_supportlib/ServerKit/Hooks.h +3 -2
  184. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +3 -2
  185. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParserState.h +3 -2
  186. data/src/cxx_supportlib/ServerKit/HttpClient.h +3 -2
  187. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +3 -2
  188. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +3 -2
  189. data/src/cxx_supportlib/ServerKit/HttpRequest.h +3 -2
  190. data/src/cxx_supportlib/ServerKit/HttpRequestRef.h +3 -2
  191. data/src/cxx_supportlib/ServerKit/HttpServer.h +3 -2
  192. data/src/cxx_supportlib/ServerKit/Implementation.cpp +3 -2
  193. data/src/cxx_supportlib/ServerKit/Server.h +3 -2
  194. data/src/cxx_supportlib/StaticString.h +3 -2
  195. data/src/cxx_supportlib/UnionStationFilterSupport.cpp +3 -2
  196. data/src/cxx_supportlib/UnionStationFilterSupport.h +3 -2
  197. data/src/cxx_supportlib/Utils.cpp +3 -2
  198. data/src/cxx_supportlib/Utils.h +3 -2
  199. data/src/cxx_supportlib/Utils/AnsiColorConstants.h +3 -2
  200. data/src/cxx_supportlib/Utils/BlockingQueue.h +3 -2
  201. data/src/cxx_supportlib/Utils/BufferedIO.h +3 -2
  202. data/src/cxx_supportlib/Utils/CachedFileStat.cpp +3 -2
  203. data/src/cxx_supportlib/Utils/CachedFileStat.h +3 -2
  204. data/src/cxx_supportlib/Utils/CachedFileStat.hpp +3 -2
  205. data/src/cxx_supportlib/Utils/ClassUtils.h +20 -2
  206. data/src/cxx_supportlib/Utils/Curl.h +3 -2
  207. data/src/cxx_supportlib/Utils/DateParsing.h +3 -2
  208. data/src/cxx_supportlib/Utils/FastStringStream.h +3 -2
  209. data/src/cxx_supportlib/Utils/FileChangeChecker.h +3 -2
  210. data/src/cxx_supportlib/Utils/HashMap.h +3 -2
  211. data/src/cxx_supportlib/Utils/Hasher.cpp +3 -2
  212. data/src/cxx_supportlib/Utils/Hasher.h +3 -2
  213. data/src/cxx_supportlib/Utils/HttpConstants.h +3 -2
  214. data/src/cxx_supportlib/Utils/IOUtils.cpp +3 -2
  215. data/src/cxx_supportlib/Utils/IOUtils.h +3 -2
  216. data/src/cxx_supportlib/Utils/IniFile.h +3 -2
  217. data/src/cxx_supportlib/Utils/JsonUtils.h +3 -2
  218. data/src/cxx_supportlib/Utils/LargeFiles.h +3 -2
  219. data/src/cxx_supportlib/Utils/MemZeroGuard.h +3 -2
  220. data/src/cxx_supportlib/Utils/MemoryBarrier.h +3 -2
  221. data/src/cxx_supportlib/Utils/MessageIO.h +3 -2
  222. data/src/cxx_supportlib/Utils/MessagePassing.h +4 -3
  223. data/src/cxx_supportlib/Utils/OptionParsing.h +3 -2
  224. data/src/cxx_supportlib/Utils/ProcessMetricsCollector.h +3 -2
  225. data/src/cxx_supportlib/Utils/ScopeGuard.h +3 -2
  226. data/src/cxx_supportlib/Utils/SpeedMeter.h +3 -2
  227. data/src/cxx_supportlib/Utils/StrIntUtils.cpp +3 -2
  228. data/src/cxx_supportlib/Utils/StrIntUtils.h +3 -2
  229. data/src/cxx_supportlib/Utils/StrIntUtilsNoStrictAliasing.cpp +3 -2
  230. data/src/cxx_supportlib/Utils/StringMap.h +3 -2
  231. data/src/cxx_supportlib/Utils/StringScanning.h +3 -2
  232. data/src/cxx_supportlib/Utils/SystemMetricsCollector.h +3 -2
  233. data/src/cxx_supportlib/Utils/SystemTime.cpp +3 -2
  234. data/src/cxx_supportlib/Utils/SystemTime.h +3 -2
  235. data/src/cxx_supportlib/Utils/Timer.h +3 -2
  236. data/src/cxx_supportlib/Utils/VariantMap.h +3 -2
  237. data/src/cxx_supportlib/{AgentsStarter.cpp → WatchdogLauncher.cpp} +42 -41
  238. data/src/cxx_supportlib/{AgentsStarter.h → WatchdogLauncher.h} +99 -112
  239. data/src/cxx_supportlib/oxt/backtrace.hpp +1 -1
  240. data/src/cxx_supportlib/oxt/detail/backtrace_disabled.hpp +1 -1
  241. data/src/cxx_supportlib/oxt/detail/backtrace_enabled.hpp +1 -1
  242. data/src/cxx_supportlib/oxt/detail/context.hpp +1 -1
  243. data/src/cxx_supportlib/oxt/detail/spin_lock_darwin.hpp +1 -1
  244. data/src/cxx_supportlib/oxt/detail/spin_lock_gcc_x86.hpp +1 -1
  245. data/src/cxx_supportlib/oxt/detail/spin_lock_portable.hpp +1 -1
  246. data/src/cxx_supportlib/oxt/detail/spin_lock_pthreads.hpp +1 -1
  247. data/src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp +1 -1
  248. data/src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp +1 -1
  249. data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +1 -1
  250. data/src/cxx_supportlib/oxt/implementation.cpp +1 -1
  251. data/src/cxx_supportlib/oxt/initialize.hpp +1 -1
  252. data/src/cxx_supportlib/oxt/macros.hpp +1 -1
  253. data/src/cxx_supportlib/oxt/spin_lock.hpp +1 -1
  254. data/src/cxx_supportlib/oxt/system_calls.cpp +1 -1
  255. data/src/cxx_supportlib/oxt/system_calls.hpp +1 -1
  256. data/src/cxx_supportlib/oxt/thread.hpp +1 -1
  257. data/src/cxx_supportlib/oxt/tracable_exception.hpp +1 -1
  258. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +1 -1
  259. data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +2 -2
  260. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/Changes +0 -0
  261. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/LICENSE +0 -0
  262. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/Makefile.am +0 -0
  263. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/Makefile.in +0 -0
  264. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/README +0 -0
  265. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/aclocal.m4 +0 -0
  266. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/autogen.sh +0 -0
  267. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/config.guess +0 -0
  268. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/config.h.in +0 -0
  269. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/config.sub +0 -0
  270. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/configure +0 -0
  271. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/configure.ac +0 -0
  272. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/depcomp +0 -0
  273. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev++.h +0 -0
  274. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev.c +0 -0
  275. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev.h +0 -0
  276. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev_epoll.c +0 -0
  277. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev_kqueue.c +0 -0
  278. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev_poll.c +0 -0
  279. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev_port.c +0 -0
  280. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev_select.c +0 -0
  281. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev_vars.h +0 -0
  282. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev_win32.c +0 -0
  283. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ev_wrap.h +0 -0
  284. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/event.c +0 -0
  285. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/event.h +0 -0
  286. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/install-sh +0 -0
  287. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/libev.m4 +0 -0
  288. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/ltmain.sh +0 -0
  289. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/missing +0 -0
  290. data/src/cxx_supportlib/{vendor-copy → vendor-modified}/libev/mkinstalldirs +0 -0
  291. data/src/helper-scripts/backtrace-sanitizer.rb +3 -2
  292. data/src/helper-scripts/crash-watch.rb +1 -1
  293. data/src/helper-scripts/download_binaries/extconf.rb +3 -2
  294. data/src/helper-scripts/meteor-loader.rb +3 -2
  295. data/src/helper-scripts/node-loader.js +8 -5
  296. data/src/helper-scripts/prespawn +3 -2
  297. data/src/helper-scripts/rack-loader.rb +6 -3
  298. data/src/helper-scripts/rack-preloader.rb +6 -3
  299. data/src/helper-scripts/wsgi-loader.py +3 -2
  300. data/src/nginx_module/CacheLocationConfig.c +3 -2
  301. data/src/nginx_module/CacheLocationConfig.c.erb +3 -2
  302. data/src/nginx_module/Configuration.c +1 -1
  303. data/src/nginx_module/Configuration.h +1 -1
  304. data/src/nginx_module/ConfigurationCommands.c +3 -2
  305. data/src/nginx_module/ConfigurationCommands.c.erb +3 -2
  306. data/src/nginx_module/ConfigurationFields.h +3 -2
  307. data/src/nginx_module/ConfigurationFields.h.erb +3 -2
  308. data/src/nginx_module/ContentHandler.c +7 -7
  309. data/src/nginx_module/ContentHandler.h +1 -1
  310. data/src/nginx_module/CreateLocationConfig.c +3 -2
  311. data/src/nginx_module/CreateLocationConfig.c.erb +3 -2
  312. data/src/nginx_module/MergeLocationConfig.c +3 -2
  313. data/src/nginx_module/MergeLocationConfig.c.erb +3 -2
  314. data/src/nginx_module/StaticContentHandler.c +1 -1
  315. data/src/nginx_module/StaticContentHandler.h +1 -1
  316. data/src/nginx_module/config +1 -1
  317. data/src/nginx_module/ngx_http_passenger_module.c +46 -46
  318. data/src/nginx_module/ngx_http_passenger_module.h +3 -3
  319. data/src/nodejs_supportlib/phusion_passenger/line_reader.js +3 -2
  320. data/src/ruby_native_extension/extconf.rb +3 -2
  321. data/src/ruby_native_extension/passenger_native_support.c +6 -5
  322. data/src/ruby_supportlib/phusion_passenger.rb +4 -3
  323. data/src/ruby_supportlib/phusion_passenger/abstract_installer.rb +3 -2
  324. data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +3 -2
  325. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +3 -2
  326. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +3 -2
  327. data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +3 -2
  328. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +3 -2
  329. data/src/ruby_supportlib/phusion_passenger/common_library.rb +6 -5
  330. data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +3 -2
  331. data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +3 -2
  332. data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +3 -2
  333. data/src/ruby_supportlib/phusion_passenger/config/build_native_support_command.rb +3 -2
  334. data/src/ruby_supportlib/phusion_passenger/config/command.rb +3 -2
  335. data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +3 -2
  336. data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +3 -2
  337. data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +3 -2
  338. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +3 -2
  339. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +3 -2
  340. data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +3 -2
  341. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +3 -2
  342. data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +3 -2
  343. data/src/ruby_supportlib/phusion_passenger/config/list_instances_command.rb +3 -2
  344. data/src/ruby_supportlib/phusion_passenger/config/main.rb +3 -2
  345. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +25 -3
  346. data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +3 -2
  347. data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +4 -3
  348. data/src/ruby_supportlib/phusion_passenger/config/system_metrics_command.rb +3 -2
  349. data/src/ruby_supportlib/phusion_passenger/config/utils.rb +3 -2
  350. data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +3 -2
  351. data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +3 -2
  352. data/src/ruby_supportlib/phusion_passenger/constants.rb +3 -11
  353. data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +3 -2
  354. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +21 -2
  355. data/src/ruby_supportlib/phusion_passenger/message_channel.rb +8 -2
  356. data/src/ruby_supportlib/phusion_passenger/message_client.rb +3 -2
  357. data/src/ruby_supportlib/phusion_passenger/native_support.rb +3 -2
  358. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +3 -2
  359. data/src/ruby_supportlib/phusion_passenger/packaging.rb +3 -2
  360. data/src/ruby_supportlib/phusion_passenger/platform_info.rb +3 -2
  361. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +3 -2
  362. data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +3 -2
  363. data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +3 -2
  364. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +3 -2
  365. data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +3 -2
  366. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +3 -2
  367. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck.rb +6 -0
  368. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +5 -1
  369. data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +3 -2
  370. data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +61 -0
  371. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +3 -2
  372. data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +3 -2
  373. data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +3 -2
  374. data/src/ruby_supportlib/phusion_passenger/plugin.rb +3 -2
  375. data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +3 -2
  376. data/src/ruby_supportlib/phusion_passenger/public_api.rb +3 -2
  377. data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +3 -2
  378. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +18 -6
  379. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +3 -2
  380. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +3 -2
  381. data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +45 -18
  382. data/src/ruby_supportlib/phusion_passenger/ruby_core_io_enhancements.rb +3 -2
  383. data/src/ruby_supportlib/phusion_passenger/simple_benchmarking.rb +3 -2
  384. data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +8 -7
  385. data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +3 -2
  386. data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +4 -3
  387. data/src/ruby_supportlib/phusion_passenger/standalone/control_utils.rb +3 -2
  388. data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +3 -2
  389. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +23 -20
  390. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +3 -2
  391. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +3 -2
  392. data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +8 -3
  393. data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +8 -3
  394. data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +5 -3
  395. data/src/ruby_supportlib/phusion_passenger/utils.rb +3 -2
  396. data/src/ruby_supportlib/phusion_passenger/utils/ansi_colors.rb +3 -2
  397. data/src/ruby_supportlib/phusion_passenger/utils/download.rb +3 -2
  398. data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +3 -2
  399. data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +3 -2
  400. data/src/ruby_supportlib/phusion_passenger/utils/lock.rb +3 -2
  401. data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +3 -2
  402. data/src/ruby_supportlib/phusion_passenger/utils/progress_bar.rb +3 -2
  403. data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +3 -2
  404. data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +3 -2
  405. metadata +36 -37
  406. metadata.gz.asc +7 -7
  407. data/src/cxx_supportlib/Account.h +0 -171
  408. data/src/cxx_supportlib/AccountsDatabase.h +0 -125
@@ -1,8 +1,9 @@
1
1
  /*
2
2
  * Phusion Passenger - https://www.phusionpassenger.com/
3
- * Copyright (c) 2010-2015 Phusion
3
+ * Copyright (c) 2010-2015 Phusion Holding B.V.
4
4
  *
5
- * "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
5
+ * "Passenger", "Phusion Passenger" and "Union Station" are registered
6
+ * trademarks of Phusion Holding B.V.
6
7
  *
7
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
8
9
  * of this software and associated documentation files (the "Software"), to deal
@@ -22,8 +23,8 @@
22
23
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
24
  * THE SOFTWARE.
24
25
  */
25
- #ifndef _PASSENGER_AGENTS_STARTER_HPP_
26
- #define _PASSENGER_AGENTS_STARTER_HPP_
26
+ #ifndef _PASSENGER_WATCHDOG_LAUNCHER_HPsg
27
+ #define _PASSENGER_WATCHDOG_LAUNCHER_HPsg
27
28
 
28
29
 
29
30
  #include <sys/types.h>
@@ -34,51 +35,51 @@
34
35
  #endif
35
36
 
36
37
  typedef enum {
37
- AS_APACHE,
38
- AS_NGINX,
39
- AS_STANDALONE
40
- } PP_AgentsStarterType;
38
+ IM_APACHE,
39
+ IM_NGINX,
40
+ IM_STANDALONE
41
+ } PsgIntegrationMode;
41
42
 
42
- typedef void PP_AgentsStarter;
43
- typedef void PP_VariantMap;
44
- typedef void (*PP_AfterForkCallback)(void *);
43
+ typedef void PsgWatchdogLauncher;
44
+ typedef void PsgVariantMap;
45
+ typedef void (*PsgAfterForkCallback)(void *);
45
46
 
46
- PP_VariantMap *pp_variant_map_new();
47
- void pp_variant_map_set(PP_VariantMap *m,
47
+ PsgVariantMap *psg_variant_map_new();
48
+ void psg_variant_map_set(PsgVariantMap *m,
48
49
  const char *name,
49
50
  const char *value,
50
51
  unsigned int value_len);
51
- void pp_variant_map_set2(PP_VariantMap *m,
52
+ void psg_variant_map_set2(PsgVariantMap *m,
52
53
  const char *name,
53
54
  unsigned int name_len,
54
55
  const char *value,
55
56
  unsigned int value_len);
56
- void pp_variant_map_set_int(PP_VariantMap *m,
57
+ void psg_variant_map_set_int(PsgVariantMap *m,
57
58
  const char *name,
58
59
  int value);
59
- void pp_variant_map_set_bool(PP_VariantMap *m,
60
+ void psg_variant_map_set_bool(PsgVariantMap *m,
60
61
  const char *name,
61
62
  int value);
62
- void pp_variant_map_set_strset(PP_VariantMap *m,
63
+ void psg_variant_map_set_strset(PsgVariantMap *m,
63
64
  const char *name,
64
65
  const char **strs,
65
66
  unsigned int count);
66
- void pp_variant_map_free(PP_VariantMap *m);
67
+ void psg_variant_map_free(PsgVariantMap *m);
67
68
 
68
- PP_AgentsStarter *pp_agents_starter_new(PP_AgentsStarterType type,
69
+ PsgWatchdogLauncher *psg_watchdog_launcher_new(PsgIntegrationMode mode,
69
70
  char **error_message);
70
- int pp_agents_starter_start(PP_AgentsStarter *as,
71
+ int psg_watchdog_launcher_start(PsgWatchdogLauncher *launcher,
71
72
  const char *passengerRoot,
72
- PP_VariantMap *params,
73
- const PP_AfterForkCallback afterFork,
73
+ PsgVariantMap *params,
74
+ const PsgAfterForkCallback afterFork,
74
75
  void *callbackArgument,
75
76
  char **errorMessage);
76
- const char *pp_agents_starter_get_core_address(PP_AgentsStarter *as, unsigned int *size);
77
- const char *pp_agents_starter_get_core_password(PP_AgentsStarter *as, unsigned int *size);
78
- const char *pp_agents_starter_get_instance_dir(PP_AgentsStarter *as, unsigned int *size);
79
- pid_t pp_agents_starter_get_pid(PP_AgentsStarter *as);
80
- void pp_agents_starter_detach(PP_AgentsStarter *as);
81
- void pp_agents_starter_free(PP_AgentsStarter *as);
77
+ const char *psg_watchdog_launcher_get_core_address(PsgWatchdogLauncher *launcher, unsigned int *size);
78
+ const char *psg_watchdog_launcher_get_core_password(PsgWatchdogLauncher *launcher, unsigned int *size);
79
+ const char *psg_watchdog_launcher_get_instance_dir(PsgWatchdogLauncher *launcher, unsigned int *size);
80
+ pid_t psg_watchdog_launcher_get_pid(PsgWatchdogLauncher *launcher);
81
+ void psg_watchdog_launcher_detach(PsgWatchdogLauncher *launcher);
82
+ void psg_watchdog_launcher_free(PsgWatchdogLauncher *launcher);
82
83
 
83
84
  #ifdef __cplusplus
84
85
  } /* extern "C" */
@@ -108,6 +109,7 @@ void pp_agents_starter_free(PP_AgentsStarter *as);
108
109
  #include <Utils/Timer.h>
109
110
  #include <Utils/ScopeGuard.h>
110
111
  #include <Utils/VariantMap.h>
112
+ #include <Utils/ClassUtils.h>
111
113
 
112
114
  namespace Passenger {
113
115
 
@@ -116,32 +118,52 @@ using namespace boost;
116
118
  using namespace oxt;
117
119
 
118
120
  /**
119
- * Utility class for starting various Phusion Passenger agents through the watchdog.
121
+ * Utility class for starting various the Passenger watchdog.
120
122
  */
121
- class AgentsStarter {
122
- private:
123
- PP_AgentsStarterType type;
123
+ class WatchdogLauncher {
124
+ /**
125
+ * Whether the starter process is Apache, Nginx or
126
+ * Passenger Standalone.
127
+ */
128
+ P_RO_PROPERTY(private, PsgIntegrationMode, IntegrationMode);
124
129
 
125
- /** The watchdog's PID. Equals 0 if the watchdog hasn't been started yet
126
- * or if detach() is called. */
127
- pid_t pid;
130
+ /**
131
+ * The watchdog's PID. Equals 0 if the watchdog hasn't been started yet
132
+ * or if `detach()` is called.
133
+ */
134
+ P_RO_PROPERTY(private, pid_t, Pid);
128
135
 
129
- /******* Information about the started services. Only valid when pid != 0. *******/
136
+ // Note: the use of `CONST_REF` in the properties below is intentional.
137
+ // The C getter functions return the string pointer directly.
130
138
 
131
- /** The watchdog's feedback file descriptor. */
132
- FileDescriptor feedbackFd;
139
+ /**
140
+ * The address on which the Passenger core listens for HTTP requests,
141
+ * and the corresponding password.
142
+ *
143
+ * Only valid when `getPid() != 0`.
144
+ */
145
+ P_RO_PROPERTY_CONST_REF(private, string, CoreAddress);
146
+ P_RO_PROPERTY_CONST_REF(private, string, CorePassword);
133
147
 
134
- /** The address on which the Passenger core listens for HTTP requests, and the
148
+ /**
149
+ * The address on which the Passenger UstRouter listens, and the
135
150
  * corresponding password.
151
+ *
152
+ * Only valid when `getPid() != 0`.
136
153
  */
137
- string coreAddress;
138
- string corePassword;
154
+ P_RO_PROPERTY_CONST_REF(private, string, UstRouterAddress);
155
+ P_RO_PROPERTY_CONST_REF(private, string, UstRouterPassword);
139
156
 
140
- /** The UstRouter's socket address and its password. */
141
- string ustRouterAddress;
142
- string ustRouterPassword;
157
+ /**
158
+ * The path to the instance directory that the Watchdog has created.
159
+ *
160
+ * Only valid when `getPid() != 0`.
161
+ */
162
+ P_RO_PROPERTY_CONST_REF(private, string, InstanceDir);
143
163
 
144
- string instanceDir;
164
+ private:
165
+ /** The watchdog's feedback file descriptor. */
166
+ FileDescriptor feedbackFd;
145
167
 
146
168
  /**
147
169
  * Safely dup2() the given file descriptor to 3 (FEEDBACK_FD).
@@ -157,7 +179,8 @@ private:
157
179
  NULL);
158
180
  _exit(1);
159
181
  } catch (...) {
160
- fprintf(stderr, "Passenger AgentsStarter: dup2() failed: %s (%d)\n",
182
+ fprintf(stderr,
183
+ "Passenger WatchdogLauncher: dup2() failed: %s (%d)\n",
161
184
  strerror(e), e);
162
185
  fflush(stderr);
163
186
  _exit(1);
@@ -209,15 +232,15 @@ private:
209
232
  }
210
233
  }
211
234
 
212
- void throwEnrichedWatchdogFailReason(string simpleReason) {
213
- if (type == AS_STANDALONE) {
235
+ void throwEnrichedWatchdogFailReason(const string &simpleReason) {
236
+ if (mIntegrationMode == IM_STANDALONE) {
214
237
  throw RuntimeException("Unable to start " PROGRAM_NAME ": " + simpleReason +
215
238
  ". This probably means that your " SHORT_PROGRAM_NAME
216
239
  " installation is broken or incomplete. Please try reinstalling " SHORT_PROGRAM_NAME);
217
240
  } else {
218
241
  string passengerRootConfig;
219
242
  string docURL;
220
- if (type == AS_APACHE) {
243
+ if (mIntegrationMode == IM_APACHE) {
221
244
  passengerRootConfig = "PassengerRoot";
222
245
  docURL = "https://www.phusionpassenger.com/library/config/apache/reference/#passengerroot";
223
246
  } else {
@@ -262,18 +285,16 @@ private:
262
285
 
263
286
  public:
264
287
  /**
265
- * Construct a AgentsStarter object. The watchdog and the agents
266
- * aren't started yet until you call start().
267
- *
268
- * @param type Whether the start process is Apache or Nginx.
288
+ * Construct a WatchdogLauncher object. The watchdog won't be started
289
+ * until you call `start()`.
269
290
  */
270
- AgentsStarter(PP_AgentsStarterType type) {
271
- this->type = type;
272
- pid = 0;
273
- }
291
+ WatchdogLauncher(PsgIntegrationMode _integrationMode)
292
+ : mIntegrationMode(_integrationMode),
293
+ mPid(0)
294
+ { }
274
295
 
275
- ~AgentsStarter() {
276
- if (pid != 0) {
296
+ ~WatchdogLauncher() {
297
+ if (mPid != 0) {
277
298
  this_thread::disable_syscall_interruption dsi;
278
299
 
279
300
  /* Send a message down the feedback fd to tell the watchdog
@@ -282,57 +303,23 @@ public:
282
303
  */
283
304
  syscalls::write(feedbackFd, "c", 1);
284
305
  feedbackFd.close();
285
- syscalls::waitpid(pid, NULL, 0);
306
+ syscalls::waitpid(mPid, NULL, 0);
286
307
  }
287
308
  }
288
309
 
289
- PP_AgentsStarterType getType() const {
290
- return type;
291
- }
292
-
293
- /**
294
- * Returns the watchdog's PID. Equals 0 if the watchdog hasn't been started yet
295
- * or if detach() is called.
296
- */
297
- pid_t getPid() const {
298
- return pid;
299
- }
300
-
301
310
  const char *getIntegrationModeString() const {
302
- switch (type) {
303
- case AS_APACHE:
311
+ switch (mIntegrationMode) {
312
+ case IM_APACHE:
304
313
  return "apache";
305
- case AS_NGINX:
314
+ case IM_NGINX:
306
315
  return "nginx";
307
- case AS_STANDALONE:
316
+ case IM_STANDALONE:
308
317
  return "standalone";
309
318
  default:
310
319
  return "unknown";
311
320
  }
312
321
  }
313
322
 
314
- // The 'const string &' here is on purpose. The C getter functions
315
- // return the string pointer directly.
316
- const string &getCoreAddress() const {
317
- return coreAddress;
318
- }
319
-
320
- const string &getCorePassword() const {
321
- return corePassword;
322
- }
323
-
324
- const string &getUstRouterAddress() const {
325
- return ustRouterAddress;
326
- }
327
-
328
- const string &getUstRouterPassword() const {
329
- return ustRouterPassword;
330
- }
331
-
332
- const string &getInstanceDir() const {
333
- return instanceDir;
334
- }
335
-
336
323
  /**
337
324
  * Start the agents through the watchdog.
338
325
  *
@@ -420,7 +407,7 @@ public:
420
407
  NULL);
421
408
  _exit(1);
422
409
  } catch (...) {
423
- fprintf(stderr, "Passenger AgentsStarter: could not execute %s: %s (%d)\n",
410
+ fprintf(stderr, "Passenger WatchdogLauncher: could not execute %s: %s (%d)\n",
424
411
  agentFilename.c_str(), strerror(e), e);
425
412
  fflush(stderr);
426
413
  _exit(1);
@@ -436,9 +423,9 @@ public:
436
423
  vector<string> args;
437
424
  bool result = false;
438
425
 
439
- ScopeGuard guard(boost::bind(&AgentsStarter::killProcessGroupAndWait, &pid, 0));
426
+ ScopeGuard guard(boost::bind(&WatchdogLauncher::killProcessGroupAndWait, &pid, 0));
440
427
  fds[1].close();
441
- P_LOG_FILE_DESCRIPTOR_PURPOSE(feedbackFd, "AgentsStarter: feedback FD");
428
+ P_LOG_FILE_DESCRIPTOR_PURPOSE(feedbackFd, "WatchdogLauncher: feedback FD");
442
429
 
443
430
 
444
431
  /****** Send arguments to watchdog through the feedback channel ******/
@@ -495,13 +482,13 @@ public:
495
482
  info.set(key, value);
496
483
  }
497
484
 
498
- this->pid = pid;
499
- this->feedbackFd = feedbackFd;
500
- coreAddress = info.get("core_address");
501
- corePassword = info.get("core_password");
502
- instanceDir = info.get("instance_dir");
503
- ustRouterAddress = info.get("ust_router_address");
504
- ustRouterPassword = info.get("ust_router_password");
485
+ mPid = pid;
486
+ this->feedbackFd = feedbackFd;
487
+ mCoreAddress = info.get("core_address");
488
+ mCorePassword = info.get("core_password");
489
+ mInstanceDir = info.get("instance_dir");
490
+ mUstRouterAddress = info.get("ust_router_address");
491
+ mUstRouterPassword = info.get("ust_router_password");
505
492
  guard.clear();
506
493
  } else if (args[0] == "Watchdog startup error") {
507
494
  killProcessGroupAndWait(&pid, 5000);
@@ -534,14 +521,14 @@ public:
534
521
  }
535
522
 
536
523
  /**
537
- * Close any file descriptors that this object has, and make it so that the destructor
538
- * doesn't try to shut down the agents.
524
+ * Close any file descriptors that this object has, and make it so that
525
+ * the destructor doesn't try to shut down the watchdog.
539
526
  *
540
527
  * @post getPid() == 0
541
528
  */
542
529
  void detach() {
543
530
  feedbackFd.close();
544
- pid = 0;
531
+ mPid = 0;
545
532
  }
546
533
  };
547
534
 
@@ -549,4 +536,4 @@ public:
549
536
 
550
537
  #endif /* __cplusplus */
551
538
 
552
- #endif /* _PASSENGER_AGENTS_STARTER_HPP_ */
539
+ #endif /* _PASSENGER_WATCHDOG_LAUNCHER_HPsg */
@@ -2,7 +2,7 @@
2
2
  * OXT - OS eXtensions for boosT
3
3
  * Provides important functionality necessary for writing robust server software.
4
4
  *
5
- * Copyright (c) 2010 Phusion
5
+ * Copyright (c) 2010 Phusion Holding B.V.
6
6
  *
7
7
  * Permission is hereby granted, free of charge, to any person obtaining a copy
8
8
  * of this software and associated documentation files (the "Software"), to deal
@@ -2,7 +2,7 @@
2
2
  * OXT - OS eXtensions for boosT
3
3
  * Provides important functionality necessary for writing robust server software.
4
4
  *
5
- * Copyright (c) 2010-2014 Phusion
5
+ * Copyright (c) 2010-2014 Phusion Holding B.V.
6
6
  *
7
7
  * Permission is hereby granted, free of charge, to any person obtaining a copy
8
8
  * of this software and associated documentation files (the "Software"), to deal
@@ -2,7 +2,7 @@
2
2
  * OXT - OS eXtensions for boosT
3
3
  * Provides important functionality necessary for writing robust server software.
4
4
  *
5
- * Copyright (c) 2010-2014 Phusion
5
+ * Copyright (c) 2010-2014 Phusion Holding B.V.
6
6
  *
7
7
  * Permission is hereby granted, free of charge, to any person obtaining a copy
8
8
  * of this software and associated documentation files (the "Software"), to deal
@@ -2,7 +2,7 @@
2
2
  * OXT - OS eXtensions for boosT
3
3
  * Provides important functionality necessary for writing robust server software.
4
4
  *
5
- * Copyright (c) 2012 Phusion
5
+ * Copyright (c) 2012 Phusion Holding B.V.
6
6
  *
7
7
  * Permission is hereby granted, free of charge, to any person obtaining a copy
8
8
  * of this software and associated documentation files (the "Software"), to deal
@@ -2,7 +2,7 @@
2
2
  * OXT - OS eXtensions for boosT
3
3
  * Provides important functionality necessary for writing robust server software.
4
4
  *
5
- * Copyright (c) 2010 Phusion
5
+ * Copyright (c) 2010 Phusion Holding B.V.
6
6
  *
7
7
  * Permission is hereby granted, free of charge, to any person obtaining a copy
8
8
  * of this software and associated documentation files (the "Software"), to deal
@@ -2,7 +2,7 @@
2
2
  * OXT - OS eXtensions for boosT
3
3
  * Provides important functionality necessary for writing robust server software.
4
4
  *
5
- * Copyright (c) 2010 Phusion
5
+ * Copyright (c) 2010 Phusion Holding B.V.
6
6
  *
7
7
  * Permission is hereby granted, free of charge, to any person obtaining a copy
8
8
  * of this software and associated documentation files (the "Software"), to deal
@@ -2,7 +2,7 @@
2
2
  * OXT - OS eXtensions for boosT
3
3
  * Provides important functionality necessary for writing robust server software.
4
4
  *
5
- * Copyright (c) 2010 Phusion
5
+ * Copyright (c) 2010 Phusion Holding B.V.
6
6
  *
7
7
  * Permission is hereby granted, free of charge, to any person obtaining a copy
8
8
  * of this software and associated documentation files (the "Software"), to deal
@@ -2,7 +2,7 @@
2
2
  * OXT - OS eXtensions for boosT
3
3
  * Provides important functionality necessary for writing robust server software.
4
4
  *
5
- * Copyright (c) 2010 Phusion
5
+ * Copyright (c) 2010 Phusion Holding B.V.
6
6
  *
7
7
  * Permission is hereby granted, free of charge, to any person obtaining a copy
8
8
  * of this software and associated documentation files (the "Software"), to deal
@@ -2,7 +2,7 @@
2
2
  * OXT - OS eXtensions for boosT
3
3
  * Provides important functionality necessary for writing robust server software.
4
4
  *
5
- * Copyright (c) 2010-2013 Phusion
5
+ * Copyright (c) 2010-2013 Phusion Holding B.V.
6
6
  *
7
7
  * Permission is hereby granted, free of charge, to any person obtaining a copy
8
8
  * of this software and associated documentation files (the "Software"), to deal
@@ -2,7 +2,7 @@
2
2
  * OXT - OS eXtensions for boosT
3
3
  * Provides important functionality necessary for writing robust server software.
4
4
  *
5
- * Copyright (c) 2010-2013 Phusion
5
+ * Copyright (c) 2010-2013 Phusion Holding B.V.
6
6
  *
7
7
  * Permission is hereby granted, free of charge, to any person obtaining a copy
8
8
  * of this software and associated documentation files (the "Software"), to deal