passenger 6.2.0 → 6.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (650) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +33 -1
  3. data/CONTRIBUTING.md +7 -311
  4. data/CONTRIBUTORS +1 -0
  5. data/LICENSE +1 -1
  6. data/README.md +1 -1
  7. data/Rakefile +1 -1
  8. data/bin/passenger +1 -1
  9. data/bin/passenger-config +1 -1
  10. data/bin/passenger-install-apache2-module +1 -1
  11. data/bin/passenger-install-nginx-module +4 -9
  12. data/bin/passenger-memory-stats +1 -1
  13. data/bin/passenger-status +1 -1
  14. data/build/agent.rb +13 -15
  15. data/build/apache2.rb +13 -16
  16. data/build/basics.rb +10 -13
  17. data/build/common_library.rb +5 -9
  18. data/build/cxx_tests.rb +37 -12
  19. data/build/integration_tests.rb +5 -2
  20. data/build/misc.rb +1 -1
  21. data/build/nginx.rb +1 -1
  22. data/build/node_tests.rb +1 -1
  23. data/build/oxt_tests.rb +6 -8
  24. data/build/packaging.rb +1 -1
  25. data/build/ruby_extension.rb +1 -1
  26. data/build/ruby_tests.rb +1 -1
  27. data/build/schema_printer.rb +13 -15
  28. data/build/support/cplusplus.rb +61 -69
  29. data/build/support/cxx_dependency_map.rb +2 -1
  30. data/build/support/general.rb +1 -1
  31. data/build/support/vendor/cxx_hinted_parser/LICENSE.md +1 -1
  32. data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser/parser.rb +1 -1
  33. data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser.rb +1 -1
  34. data/build/support/vendor/cxxcodebuilder/LICENSE.md +1 -1
  35. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
  36. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/initializer_builder.rb +1 -1
  37. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder.rb +1 -1
  38. data/build/test_basics.rb +1 -1
  39. data/dev/copy_boost_headers +1 -1
  40. data/dev/index_cxx_dependencies.rb +5 -1
  41. data/dev/libev-changes.patch +108 -0
  42. data/dev/nginx_version_sha256 +1 -1
  43. data/dev/ruby_server.rb +1 -6
  44. data/dev/upgrading_libuv.sh +16 -0
  45. data/doc/BasicArchitectureOverview.md +55 -0
  46. data/doc/BuildCaching.md +23 -0
  47. data/doc/BuildSystem.md +49 -0
  48. data/doc/DebuggingAndStressTesting.md +2 -0
  49. data/doc/DesignAspects/LimitedGemDependencies.md +1 -0
  50. data/doc/DevEnvironmentSetup.md +46 -0
  51. data/doc/DevHandbook.md +28 -0
  52. data/doc/Packaging.md +1 -1
  53. data/doc/RunningTests.md +88 -0
  54. data/doc/{TempFileHandling.md → SecureTempFileHandling.md} +1 -1
  55. data/doc/{CxxTestingGuide.md → WritingCxxTests.md} +1 -20
  56. data/src/agent/AgentMain.cpp +1 -1
  57. data/src/agent/Core/ApiServer.h +1 -1
  58. data/src/agent/Core/ApplicationPool/AbstractSession.h +1 -1
  59. data/src/agent/Core/ApplicationPool/BasicGroupInfo.h +1 -1
  60. data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +1 -1
  61. data/src/agent/Core/ApplicationPool/Common.h +1 -1
  62. data/src/agent/Core/ApplicationPool/Context.h +1 -1
  63. data/src/agent/Core/ApplicationPool/Group/InitializationAndShutdown.cpp +1 -1
  64. data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +1 -1
  65. data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +1 -1
  66. data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +1 -1
  67. data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +1 -1
  68. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
  69. data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +1 -1
  70. data/src/agent/Core/ApplicationPool/Group/SpawningAndRestarting.cpp +1 -1
  71. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +1 -1
  72. data/src/agent/Core/ApplicationPool/Group/Verification.cpp +1 -1
  73. data/src/agent/Core/ApplicationPool/Group.h +1 -1
  74. data/src/agent/Core/ApplicationPool/Implementation.cpp +1 -1
  75. data/src/agent/Core/ApplicationPool/Options.h +1 -1
  76. data/src/agent/Core/ApplicationPool/Pool/AnalyticsCollection.cpp +1 -1
  77. data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
  78. data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +1 -1
  79. data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +1 -1
  80. data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +1 -1
  81. data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +1 -1
  82. data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +1 -1
  83. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
  84. data/src/agent/Core/ApplicationPool/Pool.h +1 -1
  85. data/src/agent/Core/ApplicationPool/Process.cpp +1 -1
  86. data/src/agent/Core/ApplicationPool/Process.h +1 -1
  87. data/src/agent/Core/ApplicationPool/Session.h +1 -1
  88. data/src/agent/Core/ApplicationPool/Socket.h +1 -1
  89. data/src/agent/Core/ApplicationPool/TestSession.h +1 -1
  90. data/src/agent/Core/Config.h +3 -2
  91. data/src/agent/Core/ConfigChange.cpp +1 -1
  92. data/src/agent/Core/ConfigChange.h +1 -1
  93. data/src/agent/Core/Controller/AppResponse.h +1 -1
  94. data/src/agent/Core/Controller/BufferBody.cpp +1 -1
  95. data/src/agent/Core/Controller/CheckoutSession.cpp +8 -5
  96. data/src/agent/Core/Controller/Client.h +1 -1
  97. data/src/agent/Core/Controller/Config.cpp +1 -1
  98. data/src/agent/Core/Controller/Config.h +2 -2
  99. data/src/agent/Core/Controller/ForwardResponse.cpp +2 -2
  100. data/src/agent/Core/Controller/Hooks.cpp +12 -9
  101. data/src/agent/Core/Controller/Implementation.cpp +1 -1
  102. data/src/agent/Core/Controller/InitRequest.cpp +1 -1
  103. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -1
  104. data/src/agent/Core/Controller/InternalUtils.cpp +1 -1
  105. data/src/agent/Core/Controller/Miscellaneous.cpp +1 -1
  106. data/src/agent/Core/Controller/Request.h +1 -1
  107. data/src/agent/Core/Controller/SendRequest.cpp +1 -1
  108. data/src/agent/Core/Controller/StateInspection.cpp +1 -1
  109. data/src/agent/Core/Controller/TurboCaching.h +1 -1
  110. data/src/agent/Core/Controller.h +1 -1
  111. data/src/agent/Core/CoreMain.cpp +1 -1
  112. data/src/agent/Core/OptionParser.h +1 -1
  113. data/src/agent/Core/ResponseCache.h +1 -1
  114. data/src/agent/Core/SecurityUpdateChecker.h +1 -1
  115. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +1 -1
  116. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h.cxxcodebuilder +1 -1
  117. data/src/agent/Core/SpawningKit/Config.h +1 -1
  118. data/src/agent/Core/SpawningKit/Context.h +1 -1
  119. data/src/agent/Core/SpawningKit/DirectSpawner.h +1 -1
  120. data/src/agent/Core/SpawningKit/DummySpawner.h +1 -1
  121. data/src/agent/Core/SpawningKit/ErrorRenderer.h +1 -1
  122. data/src/agent/Core/SpawningKit/Exceptions.h +63 -2
  123. data/src/agent/Core/SpawningKit/Factory.h +1 -1
  124. data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
  125. data/src/agent/Core/SpawningKit/Handshake/Perform.h +3 -2
  126. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
  127. data/src/agent/Core/SpawningKit/Handshake/Session.h +1 -1
  128. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +1 -1
  129. data/src/agent/Core/SpawningKit/Journey.h +1 -1
  130. data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
  131. data/src/agent/Core/SpawningKit/README.md +3 -3
  132. data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +1 -1
  133. data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h.cxxcodebuilder +1 -1
  134. data/src/agent/Core/SpawningKit/Result.h +1 -1
  135. data/src/agent/Core/SpawningKit/SmartSpawner.h +17 -17
  136. data/src/agent/Core/SpawningKit/Spawner.h +1 -1
  137. data/src/agent/Core/SpawningKit/UserSwitchingRules.h +1 -1
  138. data/src/agent/Core/TelemetryCollector.h +1 -1
  139. data/src/agent/ExecHelper/ExecHelperMain.cpp +1 -1
  140. data/src/agent/FileReadHelper/FileReadHelperMain.cpp +1 -1
  141. data/src/agent/MainFunctions.h +1 -1
  142. data/src/agent/Shared/ApiAccountUtils.h +4 -3
  143. data/src/agent/Shared/ApiServerUtils.h +1 -2
  144. data/src/agent/Shared/ApplicationPoolApiKey.h +1 -1
  145. data/src/agent/Shared/Fundamentals/AbortHandler.cpp +1 -1
  146. data/src/agent/Shared/Fundamentals/AbortHandler.h +1 -1
  147. data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -1
  148. data/src/agent/Shared/Fundamentals/Initialization.h +1 -1
  149. data/src/agent/Shared/Fundamentals/Utils.cpp +1 -1
  150. data/src/agent/Shared/Fundamentals/Utils.h +1 -1
  151. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +1 -1
  152. data/src/agent/SystemMetrics/SystemMetricsMain.cpp +1 -1
  153. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +1 -1
  154. data/src/agent/Watchdog/ApiServer.h +7 -6
  155. data/src/agent/Watchdog/Config.h +2 -2
  156. data/src/apache2_module/Bucket.cpp +1 -1
  157. data/src/apache2_module/Bucket.h +1 -1
  158. data/src/apache2_module/CBindings.cpp +1 -1
  159. data/src/apache2_module/Config.cpp +1 -1
  160. data/src/apache2_module/Config.h +1 -1
  161. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +104 -104
  162. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +2 -2
  163. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +1 -1
  164. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp.cxxcodebuilder +1 -1
  165. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +1 -1
  166. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +1 -1
  167. data/src/apache2_module/ConfigGeneral/Common.h +1 -1
  168. data/src/apache2_module/ConfigGeneral/ManifestGeneration.h +1 -1
  169. data/src/apache2_module/ConfigGeneral/SetterFuncs.h +1 -1
  170. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +1 -1
  171. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +1 -1
  172. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +1 -1
  173. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +1 -1
  174. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +1 -1
  175. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +1 -1
  176. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +1 -1
  177. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +1 -1
  178. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +1 -1
  179. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
  180. data/src/apache2_module/DirectoryMapper.h +1 -1
  181. data/src/apache2_module/Hooks.cpp +8 -2
  182. data/src/apache2_module/Hooks.h +1 -1
  183. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +1 -1
  184. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +1 -1
  185. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +1 -1
  186. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
  187. data/src/apache2_module/Utils.h +1 -1
  188. data/src/apache2_module/mod_passenger.c +1 -1
  189. data/src/cxx_supportlib/Algorithms/Hasher.cpp +1 -1
  190. data/src/cxx_supportlib/Algorithms/Hasher.h +1 -1
  191. data/src/cxx_supportlib/Algorithms/MovingAverage.h +1 -1
  192. data/src/cxx_supportlib/AppLocalConfigFileUtils.h +1 -1
  193. data/src/cxx_supportlib/AppTypeDetector/CBindings.cpp +1 -1
  194. data/src/cxx_supportlib/AppTypeDetector/CBindings.h +1 -1
  195. data/src/cxx_supportlib/AppTypeDetector/Detector.h +1 -1
  196. data/src/cxx_supportlib/BackgroundEventLoop.cpp +1 -1
  197. data/src/cxx_supportlib/BackgroundEventLoop.h +1 -1
  198. data/src/cxx_supportlib/ConfigKit/AsyncUtils.h +1 -1
  199. data/src/cxx_supportlib/ConfigKit/Common.h +1 -1
  200. data/src/cxx_supportlib/ConfigKit/ConfigKit.h +1 -1
  201. data/src/cxx_supportlib/ConfigKit/DummyTranslator.h +1 -1
  202. data/src/cxx_supportlib/ConfigKit/IN_PRACTICE.md +1 -3
  203. data/src/cxx_supportlib/ConfigKit/PrefixTranslator.h +3 -3
  204. data/src/cxx_supportlib/ConfigKit/Schema.h +1 -1
  205. data/src/cxx_supportlib/ConfigKit/SchemaUtils.h +1 -1
  206. data/src/cxx_supportlib/ConfigKit/Store.h +1 -1
  207. data/src/cxx_supportlib/ConfigKit/SubComponentUtils.h +1 -1
  208. data/src/cxx_supportlib/ConfigKit/TableTranslator.h +1 -1
  209. data/src/cxx_supportlib/ConfigKit/Translator.h +1 -1
  210. data/src/cxx_supportlib/ConfigKit/Utils.h +1 -1
  211. data/src/cxx_supportlib/Constants.h +2 -2
  212. data/src/cxx_supportlib/Constants.h.cxxcodebuilder +1 -1
  213. data/src/cxx_supportlib/DataStructures/HashedStaticString.h +1 -1
  214. data/src/cxx_supportlib/DataStructures/LString.cpp +1 -1
  215. data/src/cxx_supportlib/DataStructures/LString.h +1 -1
  216. data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -1
  217. data/src/cxx_supportlib/DataStructures/StringMap.h +1 -1
  218. data/src/cxx_supportlib/Exceptions.cpp +1 -1
  219. data/src/cxx_supportlib/Exceptions.h +1 -1
  220. data/src/cxx_supportlib/FileDescriptor.h +1 -1
  221. data/src/cxx_supportlib/FileTools/FileManip.cpp +1 -1
  222. data/src/cxx_supportlib/FileTools/FileManip.h +1 -1
  223. data/src/cxx_supportlib/FileTools/PathManip.cpp +1 -1
  224. data/src/cxx_supportlib/FileTools/PathManip.h +1 -1
  225. data/src/cxx_supportlib/FileTools/PathManipCBindings.cpp +1 -1
  226. data/src/cxx_supportlib/FileTools/PathManipCBindings.h +1 -1
  227. data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +1 -1
  228. data/src/cxx_supportlib/FileTools/PathSecurityCheck.h +1 -1
  229. data/src/cxx_supportlib/Hooks.h +1 -1
  230. data/src/cxx_supportlib/IOTools/BufferedIO.h +1 -1
  231. data/src/cxx_supportlib/IOTools/IOUtils.cpp +10 -10
  232. data/src/cxx_supportlib/IOTools/IOUtils.h +1 -1
  233. data/src/cxx_supportlib/IOTools/MessageIO.h +1 -1
  234. data/src/cxx_supportlib/IOTools/MessageSerialization.h +1 -1
  235. data/src/cxx_supportlib/InstanceDirectory.h +1 -1
  236. data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +1 -1
  237. data/src/cxx_supportlib/JsonTools/Autocast.h +1 -1
  238. data/src/cxx_supportlib/JsonTools/CBindings.cpp +1 -1
  239. data/src/cxx_supportlib/JsonTools/CBindings.h +1 -1
  240. data/src/cxx_supportlib/JsonTools/JsonUtils.h +1 -1
  241. data/src/cxx_supportlib/LoggingKit/Assert.h +1 -1
  242. data/src/cxx_supportlib/LoggingKit/Config.h +2 -1
  243. data/src/cxx_supportlib/LoggingKit/Context.h +1 -1
  244. data/src/cxx_supportlib/LoggingKit/Forward.h +1 -1
  245. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +11 -1
  246. data/src/cxx_supportlib/LoggingKit/Logging.h +1 -1
  247. data/src/cxx_supportlib/LoggingKit/LoggingKit.h +1 -1
  248. data/src/cxx_supportlib/LveLoggingDecorator.h +1 -1
  249. data/src/cxx_supportlib/MemoryKit/mbuf.cpp +1 -1
  250. data/src/cxx_supportlib/MemoryKit/mbuf.h +1 -1
  251. data/src/cxx_supportlib/MemoryKit/palloc.cpp +1 -1
  252. data/src/cxx_supportlib/MemoryKit/palloc.h +1 -1
  253. data/src/cxx_supportlib/ProcessManagement/Ruby.cpp +1 -1
  254. data/src/cxx_supportlib/ProcessManagement/Ruby.h +1 -1
  255. data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +1 -1
  256. data/src/cxx_supportlib/ProcessManagement/Spawn.h +1 -1
  257. data/src/cxx_supportlib/ProcessManagement/Utils.cpp +1 -1
  258. data/src/cxx_supportlib/ProcessManagement/Utils.h +1 -1
  259. data/src/cxx_supportlib/RandomGenerator.h +1 -1
  260. data/src/cxx_supportlib/ResourceLocator.h +1 -1
  261. data/src/cxx_supportlib/SafeLibev.h +1 -1
  262. data/src/cxx_supportlib/SecurityKit/Crypto.cpp +9 -27
  263. data/src/cxx_supportlib/SecurityKit/Crypto.h +2 -2
  264. data/src/cxx_supportlib/SecurityKit/MemZeroGuard.h +1 -1
  265. data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +1 -1
  266. data/src/cxx_supportlib/ServerKit/Channel.h +1 -1
  267. data/src/cxx_supportlib/ServerKit/Client.h +1 -1
  268. data/src/cxx_supportlib/ServerKit/ClientRef.h +1 -1
  269. data/src/cxx_supportlib/ServerKit/Config.h +1 -1
  270. data/src/cxx_supportlib/ServerKit/Context.h +1 -1
  271. data/src/cxx_supportlib/ServerKit/CookieUtils.h +1 -1
  272. data/src/cxx_supportlib/ServerKit/Errors.h +1 -1
  273. data/src/cxx_supportlib/ServerKit/FdSinkChannel.h +1 -1
  274. data/src/cxx_supportlib/ServerKit/FdSourceChannel.h +1 -1
  275. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +54 -2
  276. data/src/cxx_supportlib/ServerKit/FileBufferedFdSinkChannel.h +1 -1
  277. data/src/cxx_supportlib/ServerKit/HeaderTable.h +1 -1
  278. data/src/cxx_supportlib/ServerKit/Hooks.h +1 -1
  279. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
  280. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParserState.h +1 -1
  281. data/src/cxx_supportlib/ServerKit/HttpClient.h +1 -1
  282. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +1 -1
  283. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +1 -1
  284. data/src/cxx_supportlib/ServerKit/HttpRequest.h +1 -1
  285. data/src/cxx_supportlib/ServerKit/HttpRequestRef.h +1 -1
  286. data/src/cxx_supportlib/ServerKit/HttpServer.h +1 -1
  287. data/src/cxx_supportlib/ServerKit/Implementation.cpp +1 -1
  288. data/src/cxx_supportlib/ServerKit/Server.h +4 -2
  289. data/src/cxx_supportlib/StaticString.h +1 -1
  290. data/src/cxx_supportlib/StrIntTools/DateParsing.h +1 -1
  291. data/src/cxx_supportlib/StrIntTools/StrIntUtils.cpp +1 -1
  292. data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +1 -1
  293. data/src/cxx_supportlib/StrIntTools/StrIntUtilsNoStrictAliasing.cpp +1 -1
  294. data/src/cxx_supportlib/StrIntTools/StringScanning.h +1 -1
  295. data/src/cxx_supportlib/StrIntTools/Template.h +1 -1
  296. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +1 -1
  297. data/src/cxx_supportlib/SystemTools/ProcessMetricsCollector.h +1 -1
  298. data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +1 -1
  299. data/src/cxx_supportlib/SystemTools/SystemTime.cpp +1 -1
  300. data/src/cxx_supportlib/SystemTools/SystemTime.h +1 -1
  301. data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +1 -1
  302. data/src/cxx_supportlib/SystemTools/UserDatabase.h +1 -1
  303. data/src/cxx_supportlib/Utils/AnsiColorConstants.h +1 -1
  304. data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +1 -1
  305. data/src/cxx_supportlib/Utils/BlockingQueue.h +1 -1
  306. data/src/cxx_supportlib/Utils/CachedFileStat.cpp +1 -1
  307. data/src/cxx_supportlib/Utils/CachedFileStat.h +1 -1
  308. data/src/cxx_supportlib/Utils/CachedFileStat.hpp +1 -1
  309. data/src/cxx_supportlib/Utils/ClassUtils.h +1 -1
  310. data/src/cxx_supportlib/Utils/Curl.h +1 -1
  311. data/src/cxx_supportlib/Utils/FastStringStream.h +1 -1
  312. data/src/cxx_supportlib/Utils/FileChangeChecker.h +1 -1
  313. data/src/cxx_supportlib/Utils/HttpConstants.h +1 -1
  314. data/src/cxx_supportlib/Utils/IniFile.h +1 -1
  315. data/src/cxx_supportlib/Utils/MessagePassing.h +1 -1
  316. data/src/cxx_supportlib/Utils/OptionParsing.h +1 -1
  317. data/src/cxx_supportlib/Utils/ReleaseableScopedPointer.h +1 -1
  318. data/src/cxx_supportlib/Utils/ScopeGuard.h +1 -1
  319. data/src/cxx_supportlib/Utils/SpeedMeter.h +1 -1
  320. data/src/cxx_supportlib/Utils/Timer.h +1 -1
  321. data/src/cxx_supportlib/Utils/VariantMap.h +1 -1
  322. data/src/cxx_supportlib/Utils.cpp +1 -1
  323. data/src/cxx_supportlib/Utils.h +1 -1
  324. data/src/cxx_supportlib/WatchdogLauncher.cpp +1 -1
  325. data/src/cxx_supportlib/WatchdogLauncher.h +1 -1
  326. data/src/cxx_supportlib/WrapperRegistry/CBindings.cpp +1 -1
  327. data/src/cxx_supportlib/WrapperRegistry/CBindings.h +1 -1
  328. data/src/cxx_supportlib/WrapperRegistry/Entry.h +1 -1
  329. data/src/cxx_supportlib/WrapperRegistry/Registry.h +1 -1
  330. data/src/cxx_supportlib/oxt/backtrace.hpp +1 -1
  331. data/src/cxx_supportlib/oxt/detail/backtrace_disabled.hpp +1 -1
  332. data/src/cxx_supportlib/oxt/detail/backtrace_enabled.hpp +1 -1
  333. data/src/cxx_supportlib/oxt/detail/context.hpp +1 -1
  334. data/src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp +1 -1
  335. data/src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp +1 -1
  336. data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +1 -1
  337. data/src/cxx_supportlib/oxt/implementation.cpp +1 -1
  338. data/src/cxx_supportlib/oxt/initialize.hpp +1 -1
  339. data/src/cxx_supportlib/oxt/macros.hpp +1 -1
  340. data/src/cxx_supportlib/oxt/spin_lock.hpp +1 -1
  341. data/src/cxx_supportlib/oxt/system_calls.cpp +1 -1
  342. data/src/cxx_supportlib/oxt/system_calls.hpp +1 -1
  343. data/src/cxx_supportlib/oxt/thread.hpp +1 -1
  344. data/src/cxx_supportlib/oxt/tracable_exception.hpp +1 -1
  345. data/src/cxx_supportlib/vendor-copy/adhoc_lve.h +1 -1
  346. data/src/cxx_supportlib/vendor-copy/libuv/AUTHORS +353 -3
  347. data/src/cxx_supportlib/vendor-copy/libuv/ChangeLog +3981 -2
  348. data/src/cxx_supportlib/vendor-copy/libuv/LICENSE +1 -28
  349. data/src/cxx_supportlib/vendor-copy/libuv/LICENSE-docs +396 -0
  350. data/src/cxx_supportlib/vendor-copy/libuv/LICENSE-extra +36 -0
  351. data/src/cxx_supportlib/vendor-copy/libuv/Makefile.am +275 -58
  352. data/src/cxx_supportlib/vendor-copy/libuv/Makefile.in +4380 -2125
  353. data/src/cxx_supportlib/vendor-copy/libuv/aclocal.m4 +425 -221
  354. data/src/cxx_supportlib/vendor-copy/libuv/ar-lib +30 -10
  355. data/src/cxx_supportlib/vendor-copy/libuv/compile +31 -14
  356. data/src/cxx_supportlib/vendor-copy/libuv/config.guess +1084 -690
  357. data/src/cxx_supportlib/vendor-copy/libuv/config.sub +1844 -1297
  358. data/src/cxx_supportlib/vendor-copy/libuv/configure +6935 -3664
  359. data/src/cxx_supportlib/vendor-copy/libuv/configure.ac +43 -19
  360. data/src/cxx_supportlib/vendor-copy/libuv/depcomp +12 -11
  361. data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-darwin.h → uv/darwin.h} +3 -3
  362. data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-errno.h → uv/errno.h} +119 -60
  363. data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-linux.h → uv/linux.h} +1 -1
  364. data/src/cxx_supportlib/vendor-copy/libuv/include/uv/os390.h +33 -0
  365. data/src/cxx_supportlib/vendor-copy/libuv/include/uv/posix.h +31 -0
  366. data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-threadpool.h → uv/threadpool.h} +1 -1
  367. data/src/cxx_supportlib/vendor-copy/libuv/include/{tree.h → uv/tree.h} +3 -250
  368. data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-unix.h → uv/unix.h} +186 -60
  369. data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-version.h → uv/version.h} +3 -3
  370. data/src/cxx_supportlib/vendor-copy/libuv/include/uv/win.h +703 -0
  371. data/src/cxx_supportlib/vendor-copy/libuv/include/uv.h +528 -40
  372. data/src/cxx_supportlib/vendor-copy/libuv/install-sh +110 -70
  373. data/src/cxx_supportlib/vendor-copy/libuv/libuv-static.pc.in +12 -0
  374. data/src/cxx_supportlib/vendor-copy/libuv/libuv.pc.in +4 -2
  375. data/src/cxx_supportlib/vendor-copy/libuv/ltmain.sh +995 -619
  376. data/src/cxx_supportlib/vendor-copy/libuv/m4/ax_pthread.m4 +485 -0
  377. data/src/cxx_supportlib/vendor-copy/libuv/m4/libtool.m4 +438 -289
  378. data/src/cxx_supportlib/vendor-copy/libuv/m4/libuv-check-flags.m4 +21 -4
  379. data/src/cxx_supportlib/vendor-copy/libuv/m4/libuv-check-versions.m4 +7 -0
  380. data/src/cxx_supportlib/vendor-copy/libuv/m4/ltoptions.m4 +69 -39
  381. data/src/cxx_supportlib/vendor-copy/libuv/m4/ltsugar.m4 +1 -1
  382. data/src/cxx_supportlib/vendor-copy/libuv/m4/ltversion.m4 +7 -6
  383. data/src/cxx_supportlib/vendor-copy/libuv/m4/lt~obsolete.m4 +2 -2
  384. data/src/cxx_supportlib/vendor-copy/libuv/missing +55 -34
  385. data/src/cxx_supportlib/vendor-copy/libuv/src/fs-poll.c +52 -20
  386. data/src/cxx_supportlib/vendor-copy/libuv/src/idna.c +560 -0
  387. data/src/cxx_supportlib/vendor-copy/libuv/src/idna.h +31 -0
  388. data/src/cxx_supportlib/vendor-copy/libuv/src/inet.c +5 -16
  389. data/src/cxx_supportlib/vendor-copy/libuv/src/queue.h +68 -86
  390. data/src/cxx_supportlib/vendor-copy/libuv/src/random.c +123 -0
  391. data/src/cxx_supportlib/vendor-copy/libuv/src/strscpy.c +38 -0
  392. data/src/cxx_supportlib/vendor-copy/libuv/src/strscpy.h +39 -0
  393. data/src/cxx_supportlib/vendor-copy/libuv/src/strtok.c +52 -0
  394. data/src/cxx_supportlib/vendor-copy/libuv/src/strtok.h +27 -0
  395. data/src/cxx_supportlib/vendor-copy/libuv/src/thread-common.c +175 -0
  396. data/src/cxx_supportlib/vendor-copy/libuv/src/threadpool.c +172 -57
  397. data/src/cxx_supportlib/vendor-copy/libuv/src/{unix/timer.c → timer.c} +57 -29
  398. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/aix-common.c +89 -0
  399. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/aix.c +418 -256
  400. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/async.c +168 -129
  401. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/bsd-ifaddrs.c +163 -0
  402. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/bsd-proctitle.c +99 -0
  403. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/core.c +1312 -378
  404. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/cygwin.c +93 -0
  405. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin-proctitle.c +18 -32
  406. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin-stub.h +97 -0
  407. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin-syscalls.h +17 -0
  408. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin.c +41 -139
  409. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/dl.c +1 -1
  410. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/freebsd.c +75 -235
  411. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/fs.c +1308 -299
  412. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/fsevents.c +150 -148
  413. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/getaddrinfo.c +58 -8
  414. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/getnameinfo.c +3 -2
  415. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/haiku.c +172 -0
  416. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/hurd.c +172 -0
  417. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/ibmi.c +542 -0
  418. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/internal.h +297 -106
  419. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/kqueue.c +325 -94
  420. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux.c +2708 -0
  421. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/loop-watcher.c +11 -11
  422. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/loop.c +105 -24
  423. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/netbsd.c +51 -157
  424. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/no-fsevents.c +42 -0
  425. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/no-proctitle.c +45 -0
  426. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/openbsd.c +42 -183
  427. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390-proctitle.c +136 -0
  428. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390-syscalls.c +536 -0
  429. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390-syscalls.h +75 -0
  430. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390.c +1070 -0
  431. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/pipe.c +324 -55
  432. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/poll.c +58 -11
  433. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/posix-hrtime.c +36 -0
  434. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/posix-poll.c +385 -0
  435. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/process.c +795 -248
  436. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/procfs-exepath.c +45 -0
  437. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/proctitle.c +77 -22
  438. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/qnx.c +142 -0
  439. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-devurandom.c +93 -0
  440. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-getentropy.c +57 -0
  441. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-getrandom.c +86 -0
  442. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-sysctl-linux.c +99 -0
  443. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/signal.c +147 -39
  444. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/stream.c +426 -474
  445. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/sunos.c +240 -98
  446. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/sysinfo-loadavg.c +36 -0
  447. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/sysinfo-memory.c +42 -0
  448. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/tcp.c +402 -91
  449. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/thread.c +497 -145
  450. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/tty.c +269 -45
  451. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/udp.c +695 -165
  452. data/src/cxx_supportlib/vendor-copy/libuv/src/uv-common.c +463 -61
  453. data/src/cxx_supportlib/vendor-copy/libuv/src/uv-common.h +248 -44
  454. data/src/cxx_supportlib/vendor-copy/libuv/src/uv-data-getter-setters.c +119 -0
  455. data/src/cxx_supportlib/vendor-copy/libuv/tsansupp.txt +2 -0
  456. data/src/cxx_supportlib/vendor-modified/libev/Changes +109 -0
  457. data/src/cxx_supportlib/vendor-modified/libev/Makefile.am +2 -1
  458. data/src/cxx_supportlib/vendor-modified/libev/Makefile.in +47 -33
  459. data/src/cxx_supportlib/vendor-modified/libev/README +2 -1
  460. data/src/cxx_supportlib/vendor-modified/libev/aclocal.m4 +1653 -1224
  461. data/src/cxx_supportlib/vendor-modified/libev/config.guess +376 -316
  462. data/src/cxx_supportlib/vendor-modified/libev/config.h.in +13 -2
  463. data/src/cxx_supportlib/vendor-modified/libev/config.sub +156 -154
  464. data/src/cxx_supportlib/vendor-modified/libev/configure +1431 -940
  465. data/src/cxx_supportlib/vendor-modified/libev/configure.ac +3 -3
  466. data/src/cxx_supportlib/vendor-modified/libev/depcomp +5 -5
  467. data/src/cxx_supportlib/vendor-modified/libev/ev++.h +109 -107
  468. data/src/cxx_supportlib/vendor-modified/libev/ev.c +807 -319
  469. data/src/cxx_supportlib/vendor-modified/libev/ev.h +111 -105
  470. data/src/cxx_supportlib/vendor-modified/libev/ev_epoll.c +42 -29
  471. data/src/cxx_supportlib/vendor-modified/libev/ev_iouring.c +694 -0
  472. data/src/cxx_supportlib/vendor-modified/libev/ev_kqueue.c +15 -9
  473. data/src/cxx_supportlib/vendor-modified/libev/ev_linuxaio.c +620 -0
  474. data/src/cxx_supportlib/vendor-modified/libev/ev_poll.c +19 -14
  475. data/src/cxx_supportlib/vendor-modified/libev/ev_port.c +8 -5
  476. data/src/cxx_supportlib/vendor-modified/libev/ev_select.c +6 -6
  477. data/src/cxx_supportlib/vendor-modified/libev/ev_vars.h +48 -3
  478. data/src/cxx_supportlib/vendor-modified/libev/ev_win32.c +2 -2
  479. data/src/cxx_supportlib/vendor-modified/libev/ev_wrap.h +72 -0
  480. data/src/cxx_supportlib/vendor-modified/libev/install-sh +23 -13
  481. data/src/cxx_supportlib/vendor-modified/libev/libev.m4 +6 -1
  482. data/src/cxx_supportlib/vendor-modified/libev/ltmain.sh +3581 -1993
  483. data/src/cxx_supportlib/vendor-modified/libev/missing +8 -8
  484. data/src/cxx_supportlib/vendor-modified/libev/mkinstalldirs +3 -3
  485. data/src/cxx_supportlib/vendor-modified/modp_b64_strict_aliasing.cpp +1 -1
  486. data/src/helper-scripts/backtrace-sanitizer.rb +1 -1
  487. data/src/helper-scripts/crash-watch.rb +1 -1
  488. data/src/helper-scripts/download_binaries/extconf.rb +1 -1
  489. data/src/helper-scripts/meteor-loader.rb +1 -1
  490. data/src/helper-scripts/node-loader.js +1 -1
  491. data/src/helper-scripts/prespawn +1 -1
  492. data/src/helper-scripts/rack-loader.rb +1 -1
  493. data/src/helper-scripts/rack-preloader.rb +1 -1
  494. data/src/helper-scripts/wsgi-loader.py +1 -1
  495. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +1 -1
  496. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c.cxxcodebuilder +1 -1
  497. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +1 -1
  498. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c.cxxcodebuilder +1 -1
  499. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +1 -1
  500. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c.cxxcodebuilder +1 -1
  501. data/src/nginx_module/Configuration.c +1 -1
  502. data/src/nginx_module/Configuration.h +1 -1
  503. data/src/nginx_module/ContentHandler.c +1 -1
  504. data/src/nginx_module/ContentHandler.h +1 -1
  505. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +1 -1
  506. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +1 -1
  507. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +1 -1
  508. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c.cxxcodebuilder +1 -1
  509. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +1 -1
  510. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +1 -1
  511. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +1 -1
  512. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c.cxxcodebuilder +1 -1
  513. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +1 -1
  514. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
  515. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +1 -1
  516. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +1 -1
  517. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +1 -1
  518. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +1 -1
  519. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +1 -1
  520. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
  521. data/src/nginx_module/StaticContentHandler.c +1 -1
  522. data/src/nginx_module/StaticContentHandler.h +1 -1
  523. data/src/nginx_module/ngx_http_passenger_module.c +1 -1
  524. data/src/nginx_module/ngx_http_passenger_module.h +1 -1
  525. data/src/nodejs_supportlib/phusion_passenger/line_reader.js +1 -1
  526. data/src/ruby_native_extension/extconf.rb +1 -1
  527. data/src/ruby_native_extension/passenger_native_support.c +1 -1
  528. data/src/ruby_supportlib/phusion_passenger/abstract_installer.rb +1 -1
  529. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +1 -1
  530. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +1 -1
  531. data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +2 -12
  532. data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +1 -1
  533. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +1 -1
  534. data/src/ruby_supportlib/phusion_passenger/apache2/config_utils.rb +1 -1
  535. data/src/ruby_supportlib/phusion_passenger/common_library.rb +8 -10
  536. data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +1 -1
  537. data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +1 -1
  538. data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +1 -1
  539. data/src/ruby_supportlib/phusion_passenger/config/build_native_support_command.rb +1 -1
  540. data/src/ruby_supportlib/phusion_passenger/config/command.rb +1 -1
  541. data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +1 -1
  542. data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +1 -1
  543. data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +1 -1
  544. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +1 -1
  545. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +1 -1
  546. data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +1 -1
  547. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +1 -1
  548. data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +1 -1
  549. data/src/ruby_supportlib/phusion_passenger/config/list_instances_command.rb +1 -1
  550. data/src/ruby_supportlib/phusion_passenger/config/main.rb +1 -1
  551. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +3 -2
  552. data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +6 -1
  553. data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +1 -1
  554. data/src/ruby_supportlib/phusion_passenger/config/system_metrics_command.rb +1 -1
  555. data/src/ruby_supportlib/phusion_passenger/config/system_properties_command.rb +1 -1
  556. data/src/ruby_supportlib/phusion_passenger/config/utils.rb +1 -1
  557. data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +1 -1
  558. data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +1 -1
  559. data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -1
  560. data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +1 -1
  561. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +1 -1
  562. data/src/ruby_supportlib/phusion_passenger/message_channel.rb +1 -1
  563. data/src/ruby_supportlib/phusion_passenger/message_client.rb +1 -1
  564. data/src/ruby_supportlib/phusion_passenger/native_support.rb +1 -1
  565. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +1 -1
  566. data/src/ruby_supportlib/phusion_passenger/packaging.rb +4 -3
  567. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +1 -1
  568. data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +1 -1
  569. data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +1 -1
  570. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +195 -11
  571. data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +1 -1
  572. data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +1 -1
  573. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +1 -1
  574. data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +1 -1
  575. data/src/ruby_supportlib/phusion_passenger/platform_info/networking.rb +1 -1
  576. data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +1 -1
  577. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +1 -1
  578. data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +1 -1
  579. data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +1 -1
  580. data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +1 -1
  581. data/src/ruby_supportlib/phusion_passenger/platform_info.rb +1 -1
  582. data/src/ruby_supportlib/phusion_passenger/plugin.rb +1 -1
  583. data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +1 -1
  584. data/src/ruby_supportlib/phusion_passenger/public_api.rb +1 -1
  585. data/src/ruby_supportlib/phusion_passenger/rack/handler.rb +1 -1
  586. data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +1 -1
  587. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +1 -1
  588. data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +1 -1
  589. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -7
  590. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +1 -1
  591. data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +1 -1
  592. data/src/ruby_supportlib/phusion_passenger/ruby_core_io_enhancements.rb +1 -1
  593. data/src/ruby_supportlib/phusion_passenger/simple_benchmarking.rb +1 -1
  594. data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +1 -1
  595. data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +1 -1
  596. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +1 -1
  597. data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +1 -1
  598. data/src/ruby_supportlib/phusion_passenger/standalone/control_utils.rb +1 -1
  599. data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +1 -1
  600. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +2 -2
  601. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +4 -8
  602. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +1 -1
  603. data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +1 -1
  604. data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +1 -1
  605. data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +1 -1
  606. data/src/ruby_supportlib/phusion_passenger/utils/ansi_colors.rb +1 -1
  607. data/src/ruby_supportlib/phusion_passenger/utils/download.rb +1 -1
  608. data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +1 -1
  609. data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +1 -1
  610. data/src/ruby_supportlib/phusion_passenger/utils/lock.rb +1 -1
  611. data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +1 -1
  612. data/src/ruby_supportlib/phusion_passenger/utils/progress_bar.rb +1 -1
  613. data/src/ruby_supportlib/phusion_passenger/utils/strscan.rb +1 -1
  614. data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +1 -1
  615. data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +3 -13
  616. data/src/ruby_supportlib/phusion_passenger/utils.rb +1 -1
  617. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -1
  618. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/base.rb +1 -1
  619. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
  620. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +1 -1
  621. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/utils.rb +1 -1
  622. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/version.rb +1 -1
  623. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/lock_file.rb +8 -6
  624. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/spawn.rb +4 -3
  625. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/version.rb +6 -4
  626. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +395 -579
  627. data/src/ruby_supportlib/phusion_passenger.rb +8 -8
  628. data/src/schema_printer/SchemaPrinterMain.cpp +1 -1
  629. data/src/schema_printer/SchemaPrinterMain.cpp.cxxcodebuilder +1 -1
  630. metadata +69 -32
  631. data/doc/DeveloperQuickstart.md +0 -70
  632. data/src/README.md +0 -7
  633. data/src/cxx_supportlib/vendor-copy/libuv/README.md +0 -245
  634. data/src/cxx_supportlib/vendor-copy/libuv/checksparse.sh +0 -234
  635. data/src/cxx_supportlib/vendor-copy/libuv/common.gypi +0 -210
  636. data/src/cxx_supportlib/vendor-copy/libuv/gyp_uv.py +0 -93
  637. data/src/cxx_supportlib/vendor-copy/libuv/include/android-ifaddrs.h +0 -54
  638. data/src/cxx_supportlib/vendor-copy/libuv/include/pthread-fixes.h +0 -72
  639. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/android-ifaddrs.c +0 -703
  640. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/atomic-ops.h +0 -77
  641. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-core.c +0 -899
  642. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-inotify.c +0 -285
  643. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-syscalls.c +0 -471
  644. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-syscalls.h +0 -158
  645. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/pthread-fixes.c +0 -104
  646. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/spinlock.h +0 -53
  647. data/src/cxx_supportlib/vendor-copy/libuv/uv.gyp +0 -508
  648. /data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-aix.h → uv/aix.h} +0 -0
  649. /data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-bsd.h → uv/bsd.h} +0 -0
  650. /data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-sunos.h → uv/sunos.h} +0 -0
@@ -1,6 +1,7 @@
1
1
  dnl Macros to check the presence of generic (non-typed) symbols.
2
- dnl Copyright (c) 2006-2008 Diego Pettenà <flameeyes gmail com>
2
+ dnl Copyright (c) 2006-2008 Diego Pettenò <flameeyes gmail com>
3
3
  dnl Copyright (c) 2006-2008 xine project
4
+ dnl Copyright (c) 2021 libuv project
4
5
  dnl
5
6
  dnl This program is free software; you can redistribute it and/or modify
6
7
  dnl it under the terms of the GNU General Public License as published by
@@ -63,7 +64,7 @@ AC_DEFUN([CC_CHECK_CFLAGS], [
63
64
  ])
64
65
 
65
66
  dnl CC_CHECK_CFLAG_APPEND(FLAG, [action-if-found], [action-if-not-found])
66
- dnl Check for CFLAG and appends them to CFLAGS if supported
67
+ dnl Check for CFLAG and appends them to AM_CFLAGS if supported
67
68
  AC_DEFUN([CC_CHECK_CFLAG_APPEND], [
68
69
  AC_CACHE_CHECK([if $CC supports $1 flag],
69
70
  AS_TR_SH([cc_cv_cflags_$1]),
@@ -71,7 +72,9 @@ AC_DEFUN([CC_CHECK_CFLAG_APPEND], [
71
72
  )
72
73
 
73
74
  AS_IF([eval test x$]AS_TR_SH([cc_cv_cflags_$1])[ = xyes],
74
- [CFLAGS="$CFLAGS $1"; DEBUG_CFLAGS="$DEBUG_CFLAGS $1"; $2], [$3])
75
+ [AM_CFLAGS="$AM_CFLAGS $1"; DEBUG_CFLAGS="$DEBUG_CFLAGS $1"; $2], [$3])
76
+
77
+ AC_SUBST([AM_CFLAGS])
75
78
  ])
76
79
 
77
80
  dnl CC_CHECK_CFLAGS_APPEND([FLAG1 FLAG2], [action-if-found], [action-if-not])
@@ -101,6 +104,20 @@ AC_DEFUN([CC_CHECK_LDFLAGS], [
101
104
  [$2], [$3])
102
105
  ])
103
106
 
107
+ dnl Check if flag is supported by both compiler and linker
108
+ dnl If so, append it to AM_CFLAGS
109
+ dnl CC_CHECK_FLAG_SUPPORTED_APPEND([FLAG])
110
+
111
+ AC_DEFUN([CC_CHECK_FLAG_SUPPORTED_APPEND], [
112
+ CC_CHECK_CFLAGS([$1],
113
+ [CC_CHECK_LDFLAGS([$1],
114
+ [AM_CFLAGS="$AM_CFLAGS $1";
115
+ DEBUG_CFLAGS="$DEBUG_CFLAGS $1";
116
+ AC_SUBST([AM_CFLAGS])
117
+ ])
118
+ ])
119
+ ])
120
+
104
121
  dnl define the LDFLAGS_NOUNDEFINED variable with the correct value for
105
122
  dnl the current linker to avoid undefined references in a shared object.
106
123
  AC_DEFUN([CC_NOUNDEFINED], [
@@ -316,4 +333,4 @@ AC_DEFUN([CC_ATTRIBUTE_ALIGNED], [
316
333
  AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX], [$cc_cv_attribute_aligned],
317
334
  [Define the highest alignment supported])
318
335
  fi
319
- ])
336
+ ])
@@ -0,0 +1,7 @@
1
+
2
+ AC_PREREQ(2.71)
3
+ AC_INIT([libuv-release-check], [0.0])
4
+ AM_INIT_AUTOMAKE([1.16.5])
5
+ LT_PREREQ(2.4.7)
6
+ AC_OUTPUT
7
+
@@ -1,14 +1,14 @@
1
1
  # Helper functions for option handling. -*- Autoconf -*-
2
2
  #
3
- # Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
4
- # Foundation, Inc.
3
+ # Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2024 Free
4
+ # Software Foundation, Inc.
5
5
  # Written by Gary V. Vaughan, 2004
6
6
  #
7
7
  # This file is free software; the Free Software Foundation gives
8
8
  # unlimited permission to copy and/or distribute it, with or without
9
9
  # modifications, as long as this notice is preserved.
10
10
 
11
- # serial 8 ltoptions.m4
11
+ # serial 10 ltoptions.m4
12
12
 
13
13
  # This is to help aclocal find these macros, as it can't see m4_define.
14
14
  AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
@@ -128,7 +128,7 @@ LT_OPTION_DEFINE([LT_INIT], [win32-dll],
128
128
  [enable_win32_dll=yes
129
129
 
130
130
  case $host in
131
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
131
+ *-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-cegcc*)
132
132
  AC_CHECK_TOOL(AS, as, false)
133
133
  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
134
134
  AC_CHECK_TOOL(OBJDUMP, objdump, false)
@@ -323,29 +323,39 @@ dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
323
323
 
324
324
  # _LT_WITH_AIX_SONAME([DEFAULT])
325
325
  # ----------------------------------
326
- # implement the --with-aix-soname flag, and support the `aix-soname=aix'
327
- # and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
328
- # is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
326
+ # implement the --enable-aix-soname configure option, and support the
327
+ # `aix-soname=aix' and `aix-soname=both' and `aix-soname=svr4' LT_INIT options.
328
+ # DEFAULT is either `aix', `both', or `svr4'. If omitted, it defaults to `aix'.
329
329
  m4_define([_LT_WITH_AIX_SONAME],
330
330
  [m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
331
331
  shared_archive_member_spec=
332
332
  case $host,$enable_shared in
333
333
  power*-*-aix[[5-9]]*,yes)
334
334
  AC_MSG_CHECKING([which variant of shared library versioning to provide])
335
- AC_ARG_WITH([aix-soname],
336
- [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
335
+ AC_ARG_ENABLE([aix-soname],
336
+ [AS_HELP_STRING([--enable-aix-soname=aix|svr4|both],
337
337
  [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
338
- [case $withval in
339
- aix|svr4|both)
340
- ;;
341
- *)
342
- AC_MSG_ERROR([Unknown argument to --with-aix-soname])
343
- ;;
344
- esac
345
- lt_cv_with_aix_soname=$with_aix_soname],
346
- [AC_CACHE_VAL([lt_cv_with_aix_soname],
347
- [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
348
- with_aix_soname=$lt_cv_with_aix_soname])
338
+ [case $enableval in
339
+ aix|svr4|both)
340
+ ;;
341
+ *)
342
+ AC_MSG_ERROR([Unknown argument to --enable-aix-soname])
343
+ ;;
344
+ esac
345
+ lt_cv_with_aix_soname=$enable_aix_soname],
346
+ [_AC_ENABLE_IF([with], [aix-soname],
347
+ [case $withval in
348
+ aix|svr4|both)
349
+ ;;
350
+ *)
351
+ AC_MSG_ERROR([Unknown argument to --with-aix-soname])
352
+ ;;
353
+ esac
354
+ lt_cv_with_aix_soname=$with_aix_soname],
355
+ [AC_CACHE_VAL([lt_cv_with_aix_soname],
356
+ [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)])
357
+ enable_aix_soname=$lt_cv_with_aix_soname])
358
+ with_aix_soname=$enable_aix_soname
349
359
  AC_MSG_RESULT([$with_aix_soname])
350
360
  if test aix != "$with_aix_soname"; then
351
361
  # For the AIX way of multilib, we name the shared archive member
@@ -376,30 +386,50 @@ LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
376
386
 
377
387
  # _LT_WITH_PIC([MODE])
378
388
  # --------------------
379
- # implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
389
+ # implement the --enable-pic flag, and support the 'pic-only' and 'no-pic'
380
390
  # LT_INIT options.
381
391
  # MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
382
392
  m4_define([_LT_WITH_PIC],
383
- [AC_ARG_WITH([pic],
384
- [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
393
+ [AC_ARG_ENABLE([pic],
394
+ [AS_HELP_STRING([--enable-pic@<:@=PKGS@:>@],
385
395
  [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
386
396
  [lt_p=${PACKAGE-default}
387
- case $withval in
388
- yes|no) pic_mode=$withval ;;
389
- *)
390
- pic_mode=default
391
- # Look at the argument we got. We use all the common list separators.
392
- lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
393
- for lt_pkg in $withval; do
394
- IFS=$lt_save_ifs
395
- if test "X$lt_pkg" = "X$lt_p"; then
396
- pic_mode=yes
397
- fi
398
- done
399
- IFS=$lt_save_ifs
400
- ;;
401
- esac],
402
- [pic_mode=m4_default([$1], [default])])
397
+ case $enableval in
398
+ yes|no) pic_mode=$enableval ;;
399
+ *)
400
+ pic_mode=default
401
+ # Look at the argument we got. We use all the common list separators.
402
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
403
+ for lt_pkg in $enableval; do
404
+ IFS=$lt_save_ifs
405
+ if test "X$lt_pkg" = "X$lt_p"; then
406
+ pic_mode=yes
407
+ fi
408
+ done
409
+ IFS=$lt_save_ifs
410
+ ;;
411
+ esac],
412
+ [dnl Continue to support --with-pic and --without-pic, for backward
413
+ dnl compatibility.
414
+ _AC_ENABLE_IF([with], [pic],
415
+ [lt_p=${PACKAGE-default}
416
+ case $withval in
417
+ yes|no) pic_mode=$withval ;;
418
+ *)
419
+ pic_mode=default
420
+ # Look at the argument we got. We use all the common list separators.
421
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
422
+ for lt_pkg in $withval; do
423
+ IFS=$lt_save_ifs
424
+ if test "X$lt_pkg" = "X$lt_p"; then
425
+ pic_mode=yes
426
+ fi
427
+ done
428
+ IFS=$lt_save_ifs
429
+ ;;
430
+ esac],
431
+ [pic_mode=m4_default([$1], [default])])]
432
+ )
403
433
 
404
434
  _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
405
435
  ])# _LT_WITH_PIC
@@ -1,6 +1,6 @@
1
1
  # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
2
2
  #
3
- # Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
3
+ # Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2024 Free Software
4
4
  # Foundation, Inc.
5
5
  # Written by Gary V. Vaughan, 2004
6
6
  #
@@ -1,6 +1,7 @@
1
1
  # ltversion.m4 -- version numbers -*- Autoconf -*-
2
2
  #
3
- # Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
3
+ # Copyright (C) 2004, 2011-2019, 2021-2024 Free Software Foundation,
4
+ # Inc.
4
5
  # Written by Scott James Remnant, 2004
5
6
  #
6
7
  # This file is free software; the Free Software Foundation gives
@@ -9,15 +10,15 @@
9
10
 
10
11
  # @configure_input@
11
12
 
12
- # serial 4179 ltversion.m4
13
+ # serial 4441 ltversion.m4
13
14
  # This file is part of GNU Libtool
14
15
 
15
- m4_define([LT_PACKAGE_VERSION], [2.4.6])
16
- m4_define([LT_PACKAGE_REVISION], [2.4.6])
16
+ m4_define([LT_PACKAGE_VERSION], [2.5.4])
17
+ m4_define([LT_PACKAGE_REVISION], [2.5.4])
17
18
 
18
19
  AC_DEFUN([LTVERSION_VERSION],
19
- [macro_version='2.4.6'
20
- macro_revision='2.4.6'
20
+ [macro_version='2.5.4'
21
+ macro_revision='2.5.4'
21
22
  _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
22
23
  _LT_DECL(, macro_revision, 0)
23
24
  ])
@@ -1,7 +1,7 @@
1
1
  # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
2
2
  #
3
- # Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
4
- # Foundation, Inc.
3
+ # Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2024 Free
4
+ # Software Foundation, Inc.
5
5
  # Written by Scott James Remnant, 2004.
6
6
  #
7
7
  # This file is free software; the Free Software Foundation gives
@@ -1,9 +1,11 @@
1
1
  #! /bin/sh
2
- # Common wrapper for a few potentially missing GNU programs.
2
+ # Common wrapper for a few potentially missing GNU and other programs.
3
3
 
4
- scriptversion=2013-10-28.13; # UTC
4
+ scriptversion=2025-06-18.21; # UTC
5
5
 
6
- # Copyright (C) 1996-2014 Free Software Foundation, Inc.
6
+ # shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells
7
+
8
+ # Copyright (C) 1996-2025 Free Software Foundation, Inc.
7
9
  # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
8
10
 
9
11
  # This program is free software; you can redistribute it and/or modify
@@ -17,7 +19,7 @@ scriptversion=2013-10-28.13; # UTC
17
19
  # GNU General Public License for more details.
18
20
 
19
21
  # You should have received a copy of the GNU General Public License
20
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
22
+ # along with this program. If not, see <https://www.gnu.org/licenses/>.
21
23
 
22
24
  # As a special exception to the GNU General Public License, if you
23
25
  # distribute this file as part of a program that contains a
@@ -54,18 +56,20 @@ Options:
54
56
  -v, --version output version information and exit
55
57
 
56
58
  Supported PROGRAM values:
57
- aclocal autoconf autoheader autom4te automake makeinfo
58
- bison yacc flex lex help2man
59
+ aclocal autoconf autogen autoheader autom4te automake autoreconf
60
+ bison flex help2man lex makeinfo perl yacc
59
61
 
60
62
  Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
61
63
  'g' are ignored when checking the name.
62
64
 
63
- Send bug reports to <bug-automake@gnu.org>."
65
+ Report bugs to <bug-automake@gnu.org>.
66
+ GNU Automake home page: <https://www.gnu.org/software/automake/>.
67
+ General help using GNU software: <https://www.gnu.org/gethelp/>."
64
68
  exit $?
65
69
  ;;
66
70
 
67
71
  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
68
- echo "missing $scriptversion (GNU Automake)"
72
+ echo "missing (GNU Automake) $scriptversion"
69
73
  exit $?
70
74
  ;;
71
75
 
@@ -101,14 +105,14 @@ else
101
105
  exit $st
102
106
  fi
103
107
 
104
- perl_URL=http://www.perl.org/
105
- flex_URL=http://flex.sourceforge.net/
106
- gnu_software_URL=http://www.gnu.org/software
108
+ perl_URL=https://www.perl.org/
109
+ flex_URL=https://github.com/westes/flex
110
+ gnu_software_URL=https://www.gnu.org/software
107
111
 
108
112
  program_details ()
109
113
  {
110
114
  case $1 in
111
- aclocal|automake)
115
+ aclocal|automake|autoreconf)
112
116
  echo "The '$1' program is part of the GNU Automake package:"
113
117
  echo "<$gnu_software_URL/automake>"
114
118
  echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
@@ -123,6 +127,9 @@ program_details ()
123
127
  echo "<$gnu_software_URL/m4/>"
124
128
  echo "<$perl_URL>"
125
129
  ;;
130
+ *)
131
+ :
132
+ ;;
126
133
  esac
127
134
  }
128
135
 
@@ -137,48 +144,55 @@ give_advice ()
137
144
  printf '%s\n' "'$1' is $msg."
138
145
 
139
146
  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
147
+ autoheader_deps="'acconfig.h'"
148
+ automake_deps="'Makefile.am'"
149
+ aclocal_deps="'acinclude.m4'"
140
150
  case $normalized_program in
151
+ aclocal*)
152
+ echo "You should only need it if you modified $aclocal_deps or"
153
+ echo "$configure_deps."
154
+ ;;
141
155
  autoconf*)
142
- echo "You should only need it if you modified 'configure.ac',"
143
- echo "or m4 files included by it."
144
- program_details 'autoconf'
156
+ echo "You should only need it if you modified $configure_deps."
157
+ ;;
158
+ autogen*)
159
+ echo "You should only need it if you modified a '.def' or '.tpl' file."
160
+ echo "You may want to install the GNU AutoGen package:"
161
+ echo "<$gnu_software_URL/autogen/>"
145
162
  ;;
146
163
  autoheader*)
147
- echo "You should only need it if you modified 'acconfig.h' or"
164
+ echo "You should only need it if you modified $autoheader_deps or"
148
165
  echo "$configure_deps."
149
- program_details 'autoheader'
150
166
  ;;
151
167
  automake*)
152
- echo "You should only need it if you modified 'Makefile.am' or"
153
- echo "$configure_deps."
154
- program_details 'automake'
155
- ;;
156
- aclocal*)
157
- echo "You should only need it if you modified 'acinclude.m4' or"
168
+ echo "You should only need it if you modified $automake_deps or"
158
169
  echo "$configure_deps."
159
- program_details 'aclocal'
160
170
  ;;
161
- autom4te*)
171
+ autom4te*)
162
172
  echo "You might have modified some maintainer files that require"
163
173
  echo "the 'autom4te' program to be rebuilt."
164
- program_details 'autom4te'
174
+ ;;
175
+ autoreconf*)
176
+ echo "You should only need it if you modified $aclocal_deps or"
177
+ echo "$automake_deps or $autoheader_deps or $automake_deps or"
178
+ echo "$configure_deps."
165
179
  ;;
166
180
  bison*|yacc*)
167
181
  echo "You should only need it if you modified a '.y' file."
168
182
  echo "You may want to install the GNU Bison package:"
169
183
  echo "<$gnu_software_URL/bison/>"
170
184
  ;;
171
- lex*|flex*)
172
- echo "You should only need it if you modified a '.l' file."
173
- echo "You may want to install the Fast Lexical Analyzer package:"
174
- echo "<$flex_URL>"
175
- ;;
176
185
  help2man*)
177
186
  echo "You should only need it if you modified a dependency" \
178
187
  "of a man page."
179
188
  echo "You may want to install the GNU Help2man package:"
180
189
  echo "<$gnu_software_URL/help2man/>"
181
190
  ;;
191
+ lex*|flex*)
192
+ echo "You should only need it if you modified a '.l' file."
193
+ echo "You may want to install the Fast Lexical Analyzer package:"
194
+ echo "<$flex_URL>"
195
+ ;;
182
196
  makeinfo*)
183
197
  echo "You should only need it if you modified a '.texi' file, or"
184
198
  echo "any other file indirectly affecting the aspect of the manual."
@@ -189,6 +203,12 @@ give_advice ()
189
203
  echo "want to install GNU make:"
190
204
  echo "<$gnu_software_URL/make/>"
191
205
  ;;
206
+ perl*)
207
+ echo "You should only need it to run GNU Autoconf, GNU Automake, "
208
+ echo " assorted other tools, or if you modified a Perl source file."
209
+ echo "You may want to install the Perl 5 language interpreter:"
210
+ echo "<$perl_URL>"
211
+ ;;
192
212
  *)
193
213
  echo "You might have modified some files without having the proper"
194
214
  echo "tools for further handling them. Check the 'README' file, it"
@@ -197,6 +217,7 @@ give_advice ()
197
217
  echo "case some other package contains this missing '$1' program."
198
218
  ;;
199
219
  esac
220
+ program_details "$normalized_program"
200
221
  }
201
222
 
202
223
  give_advice "$1" | sed -e '1s/^/WARNING: /' \
@@ -207,9 +228,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
207
228
  exit $st
208
229
 
209
230
  # Local variables:
210
- # eval: (add-hook 'write-file-hooks 'time-stamp)
231
+ # eval: (add-hook 'before-save-hook 'time-stamp nil t)
211
232
  # time-stamp-start: "scriptversion="
212
- # time-stamp-format: "%:y-%02m-%02d.%02H"
213
- # time-stamp-time-zone: "UTC"
233
+ # time-stamp-format: "%Y-%02m-%02d.%02H"
234
+ # time-stamp-time-zone: "UTC0"
214
235
  # time-stamp-end: "; # UTC"
215
236
  # End:
@@ -22,12 +22,20 @@
22
22
  #include "uv.h"
23
23
  #include "uv-common.h"
24
24
 
25
+ #ifdef _WIN32
26
+ #include "win/internal.h"
27
+ #include "win/handle-inl.h"
28
+ #define uv__make_close_pending(h) uv__want_endgame((h)->loop, (h))
29
+ #else
30
+ #include "unix/internal.h"
31
+ #endif
32
+
25
33
  #include <assert.h>
26
34
  #include <stdlib.h>
27
35
  #include <string.h>
28
36
 
29
37
  struct poll_ctx {
30
- uv_fs_poll_t* parent_handle; /* NULL if parent has been stopped or closed */
38
+ uv_fs_poll_t* parent_handle;
31
39
  int busy_polling;
32
40
  unsigned int interval;
33
41
  uint64_t start_time;
@@ -36,6 +44,7 @@ struct poll_ctx {
36
44
  uv_timer_t timer_handle;
37
45
  uv_fs_t fs_req; /* TODO(bnoordhuis) mark fs_req internal */
38
46
  uv_stat_t statbuf;
47
+ struct poll_ctx* previous; /* context from previous start()..stop() period */
39
48
  char path[1]; /* variable length */
40
49
  };
41
50
 
@@ -49,6 +58,7 @@ static uv_stat_t zero_statbuf;
49
58
 
50
59
  int uv_fs_poll_init(uv_loop_t* loop, uv_fs_poll_t* handle) {
51
60
  uv__handle_init(loop, (uv_handle_t*)handle, UV_FS_POLL);
61
+ handle->poll_ctx = NULL;
52
62
  return 0;
53
63
  }
54
64
 
@@ -62,7 +72,7 @@ int uv_fs_poll_start(uv_fs_poll_t* handle,
62
72
  size_t len;
63
73
  int err;
64
74
 
65
- if (uv__is_active(handle))
75
+ if (uv_is_active((uv_handle_t*)handle))
66
76
  return 0;
67
77
 
68
78
  loop = handle->loop;
@@ -83,13 +93,15 @@ int uv_fs_poll_start(uv_fs_poll_t* handle,
83
93
  if (err < 0)
84
94
  goto error;
85
95
 
86
- ctx->timer_handle.flags |= UV__HANDLE_INTERNAL;
96
+ ctx->timer_handle.flags |= UV_HANDLE_INTERNAL;
87
97
  uv__handle_unref(&ctx->timer_handle);
88
98
 
89
99
  err = uv_fs_stat(loop, &ctx->fs_req, ctx->path, poll_cb);
90
100
  if (err < 0)
91
101
  goto error;
92
102
 
103
+ if (handle->poll_ctx != NULL)
104
+ ctx->previous = handle->poll_ctx;
93
105
  handle->poll_ctx = ctx;
94
106
  uv__handle_start(handle);
95
107
 
@@ -104,19 +116,17 @@ error:
104
116
  int uv_fs_poll_stop(uv_fs_poll_t* handle) {
105
117
  struct poll_ctx* ctx;
106
118
 
107
- if (!uv__is_active(handle))
119
+ if (!uv_is_active((uv_handle_t*)handle))
108
120
  return 0;
109
121
 
110
122
  ctx = handle->poll_ctx;
111
123
  assert(ctx != NULL);
112
- assert(ctx->parent_handle != NULL);
113
- ctx->parent_handle = NULL;
114
- handle->poll_ctx = NULL;
124
+ assert(ctx->parent_handle == handle);
115
125
 
116
126
  /* Close the timer if it's active. If it's inactive, there's a stat request
117
127
  * in progress and poll_cb will take care of the cleanup.
118
128
  */
119
- if (uv__is_active(&ctx->timer_handle))
129
+ if (uv_is_active((uv_handle_t*)&ctx->timer_handle))
120
130
  uv_close((uv_handle_t*)&ctx->timer_handle, timer_close_cb);
121
131
 
122
132
  uv__handle_stop(handle);
@@ -129,7 +139,7 @@ int uv_fs_poll_getpath(uv_fs_poll_t* handle, char* buffer, size_t* size) {
129
139
  struct poll_ctx* ctx;
130
140
  size_t required_len;
131
141
 
132
- if (!uv__is_active(handle)) {
142
+ if (!uv_is_active((uv_handle_t*)handle)) {
133
143
  *size = 0;
134
144
  return UV_EINVAL;
135
145
  }
@@ -138,13 +148,14 @@ int uv_fs_poll_getpath(uv_fs_poll_t* handle, char* buffer, size_t* size) {
138
148
  assert(ctx != NULL);
139
149
 
140
150
  required_len = strlen(ctx->path);
141
- if (required_len > *size) {
142
- *size = required_len;
151
+ if (required_len >= *size) {
152
+ *size = required_len + 1;
143
153
  return UV_ENOBUFS;
144
154
  }
145
155
 
146
156
  memcpy(buffer, ctx->path, required_len);
147
157
  *size = required_len;
158
+ buffer[required_len] = '\0';
148
159
 
149
160
  return 0;
150
161
  }
@@ -152,6 +163,9 @@ int uv_fs_poll_getpath(uv_fs_poll_t* handle, char* buffer, size_t* size) {
152
163
 
153
164
  void uv__fs_poll_close(uv_fs_poll_t* handle) {
154
165
  uv_fs_poll_stop(handle);
166
+
167
+ if (handle->poll_ctx == NULL)
168
+ uv__make_close_pending((uv_handle_t*)handle);
155
169
  }
156
170
 
157
171
 
@@ -172,14 +186,13 @@ static void poll_cb(uv_fs_t* req) {
172
186
  uv_stat_t* statbuf;
173
187
  struct poll_ctx* ctx;
174
188
  uint64_t interval;
189
+ uv_fs_poll_t* handle;
175
190
 
176
191
  ctx = container_of(req, struct poll_ctx, fs_req);
192
+ handle = ctx->parent_handle;
177
193
 
178
- if (ctx->parent_handle == NULL) { /* handle has been stopped or closed */
179
- uv_close((uv_handle_t*)&ctx->timer_handle, timer_close_cb);
180
- uv_fs_req_cleanup(req);
181
- return;
182
- }
194
+ if (!uv_is_active((uv_handle_t*)handle) || uv__is_closing(handle))
195
+ goto out;
183
196
 
184
197
  if (req->result != 0) {
185
198
  if (ctx->busy_polling != req->result) {
@@ -204,7 +217,7 @@ static void poll_cb(uv_fs_t* req) {
204
217
  out:
205
218
  uv_fs_req_cleanup(req);
206
219
 
207
- if (ctx->parent_handle == NULL) { /* handle has been stopped by callback */
220
+ if (!uv_is_active((uv_handle_t*)handle) || uv__is_closing(handle)) {
208
221
  uv_close((uv_handle_t*)&ctx->timer_handle, timer_close_cb);
209
222
  return;
210
223
  }
@@ -218,8 +231,27 @@ out:
218
231
  }
219
232
 
220
233
 
221
- static void timer_close_cb(uv_handle_t* handle) {
222
- uv__free(container_of(handle, struct poll_ctx, timer_handle));
234
+ static void timer_close_cb(uv_handle_t* timer) {
235
+ struct poll_ctx* ctx;
236
+ struct poll_ctx* it;
237
+ struct poll_ctx* last;
238
+ uv_fs_poll_t* handle;
239
+
240
+ ctx = container_of(timer, struct poll_ctx, timer_handle);
241
+ handle = ctx->parent_handle;
242
+ if (ctx == handle->poll_ctx) {
243
+ handle->poll_ctx = ctx->previous;
244
+ if (handle->poll_ctx == NULL && uv__is_closing(handle))
245
+ uv__make_close_pending((uv_handle_t*)handle);
246
+ } else {
247
+ for (last = handle->poll_ctx, it = last->previous;
248
+ it != ctx;
249
+ last = it, it = it->previous) {
250
+ assert(last->previous != NULL);
251
+ }
252
+ last->previous = ctx->previous;
253
+ }
254
+ uv__free(ctx);
223
255
  }
224
256
 
225
257
 
@@ -247,7 +279,7 @@ static int statbuf_eq(const uv_stat_t* a, const uv_stat_t* b) {
247
279
  #include "win/handle-inl.h"
248
280
 
249
281
  void uv__fs_poll_endgame(uv_loop_t* loop, uv_fs_poll_t* handle) {
250
- assert(handle->flags & UV__HANDLE_CLOSING);
282
+ assert(handle->flags & UV_HANDLE_CLOSING);
251
283
  assert(!(handle->flags & UV_HANDLE_CLOSED));
252
284
  uv__handle_close(handle);
253
285
  }