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,11 +1,11 @@
1
- AC_INIT
1
+ dnl also update ev.h!
2
+ AC_INIT([libev], [4.33])
2
3
 
3
4
  orig_CFLAGS="$CFLAGS"
4
5
 
5
6
  AC_CONFIG_SRCDIR([ev_epoll.c])
7
+ AM_INIT_AUTOMAKE
6
8
 
7
- dnl also update ev.h!
8
- AM_INIT_AUTOMAKE(libev,4.23)
9
9
  AC_CONFIG_HEADERS([config.h])
10
10
  AM_MAINTAINER_MODE
11
11
 
@@ -1,9 +1,9 @@
1
1
  #! /bin/sh
2
2
  # depcomp - compile a program generating dependencies as side-effects
3
3
 
4
- scriptversion=2013-05-30.07; # UTC
4
+ scriptversion=2018-03-07.03; # UTC
5
5
 
6
- # Copyright (C) 1999-2014 Free Software Foundation, Inc.
6
+ # Copyright (C) 1999-2018 Free Software Foundation, Inc.
7
7
 
8
8
  # This program is free software; you can redistribute it and/or modify
9
9
  # it under the terms of the GNU General Public License as published by
@@ -16,7 +16,7 @@ scriptversion=2013-05-30.07; # UTC
16
16
  # GNU General Public License for more details.
17
17
 
18
18
  # You should have received a copy of the GNU General Public License
19
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
+ # along with this program. If not, see <https://www.gnu.org/licenses/>.
20
20
 
21
21
  # As a special exception to the GNU General Public License, if you
22
22
  # distribute this file as part of a program that contains a
@@ -783,9 +783,9 @@ exit 0
783
783
  # Local Variables:
784
784
  # mode: shell-script
785
785
  # sh-indentation: 2
786
- # eval: (add-hook 'write-file-hooks 'time-stamp)
786
+ # eval: (add-hook 'before-save-hook 'time-stamp)
787
787
  # time-stamp-start: "scriptversion="
788
788
  # time-stamp-format: "%:y-%02m-%02d.%02H"
789
- # time-stamp-time-zone: "UTC"
789
+ # time-stamp-time-zone: "UTC0"
790
790
  # time-stamp-end: "; # UTC"
791
791
  # End:
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  * libev simple C++ wrapper classes
3
3
  *
4
- * Copyright (c) 2007,2008,2010 Marc Alexander Lehmann <libev@schmorp.de>
4
+ * Copyright (c) 2007,2008,2010,2018,2020 Marc Alexander Lehmann <libev@schmorp.de>
5
5
  * All rights reserved.
6
6
  *
7
7
  * Redistribution and use in source and binary forms, with or without modifica-
@@ -113,13 +113,13 @@ namespace ev {
113
113
 
114
114
  struct bad_loop
115
115
  #if EV_USE_STDEXCEPT
116
- : std::runtime_error
116
+ : std::exception
117
117
  #endif
118
118
  {
119
119
  #if EV_USE_STDEXCEPT
120
- bad_loop ()
121
- : std::runtime_error ("libev event loop cannot be initialized, bad value of LIBEV_FLAGS?")
120
+ const char *what () const EV_NOEXCEPT
122
121
  {
122
+ return "libev event loop cannot be initialized, bad value of LIBEV_FLAGS?";
123
123
  }
124
124
  #endif
125
125
  };
@@ -142,14 +142,14 @@ namespace ev {
142
142
 
143
143
  struct loop_ref
144
144
  {
145
- loop_ref (EV_P) throw ()
145
+ loop_ref (EV_P) EV_NOEXCEPT
146
146
  #if EV_MULTIPLICITY
147
147
  : EV_AX (EV_A)
148
148
  #endif
149
149
  {
150
150
  }
151
151
 
152
- bool operator == (const loop_ref &other) const throw ()
152
+ bool operator == (const loop_ref &other) const EV_NOEXCEPT
153
153
  {
154
154
  #if EV_MULTIPLICITY
155
155
  return EV_AX == other.EV_AX;
@@ -158,7 +158,7 @@ namespace ev {
158
158
  #endif
159
159
  }
160
160
 
161
- bool operator != (const loop_ref &other) const throw ()
161
+ bool operator != (const loop_ref &other) const EV_NOEXCEPT
162
162
  {
163
163
  #if EV_MULTIPLICITY
164
164
  return ! (*this == other);
@@ -168,27 +168,27 @@ namespace ev {
168
168
  }
169
169
 
170
170
  #if EV_MULTIPLICITY
171
- bool operator == (const EV_P) const throw ()
171
+ bool operator == (const EV_P) const EV_NOEXCEPT
172
172
  {
173
173
  return this->EV_AX == EV_A;
174
174
  }
175
175
 
176
- bool operator != (const EV_P) const throw ()
176
+ bool operator != (const EV_P) const EV_NOEXCEPT
177
177
  {
178
- return (*this == EV_A);
178
+ return ! (*this == EV_A);
179
179
  }
180
180
 
181
- operator struct ev_loop * () const throw ()
181
+ operator struct ev_loop * () const EV_NOEXCEPT
182
182
  {
183
183
  return EV_AX;
184
184
  }
185
185
 
186
- operator const struct ev_loop * () const throw ()
186
+ operator const struct ev_loop * () const EV_NOEXCEPT
187
187
  {
188
188
  return EV_AX;
189
189
  }
190
190
 
191
- bool is_default () const throw ()
191
+ bool is_default () const EV_NOEXCEPT
192
192
  {
193
193
  return EV_AX == ev_default_loop (0);
194
194
  }
@@ -200,7 +200,7 @@ namespace ev {
200
200
  ev_run (EV_AX_ flags);
201
201
  }
202
202
 
203
- void unloop (how_t how = ONE) throw ()
203
+ void unloop (how_t how = ONE) EV_NOEXCEPT
204
204
  {
205
205
  ev_break (EV_AX_ how);
206
206
  }
@@ -211,74 +211,74 @@ namespace ev {
211
211
  ev_run (EV_AX_ flags);
212
212
  }
213
213
 
214
- void break_loop (how_t how = ONE) throw ()
214
+ void break_loop (how_t how = ONE) EV_NOEXCEPT
215
215
  {
216
216
  ev_break (EV_AX_ how);
217
217
  }
218
218
 
219
- void post_fork () throw ()
219
+ void post_fork () EV_NOEXCEPT
220
220
  {
221
221
  ev_loop_fork (EV_AX);
222
222
  }
223
223
 
224
- unsigned int backend () const throw ()
224
+ unsigned int backend () const EV_NOEXCEPT
225
225
  {
226
226
  return ev_backend (EV_AX);
227
227
  }
228
228
 
229
- tstamp now () const throw ()
229
+ tstamp now () const EV_NOEXCEPT
230
230
  {
231
231
  return ev_now (EV_AX);
232
232
  }
233
233
 
234
- void ref () throw ()
234
+ void ref () EV_NOEXCEPT
235
235
  {
236
236
  ev_ref (EV_AX);
237
237
  }
238
238
 
239
- void unref () throw ()
239
+ void unref () EV_NOEXCEPT
240
240
  {
241
241
  ev_unref (EV_AX);
242
242
  }
243
243
 
244
244
  #if EV_FEATURE_API
245
- unsigned int iteration () const throw ()
245
+ unsigned int iteration () const EV_NOEXCEPT
246
246
  {
247
247
  return ev_iteration (EV_AX);
248
248
  }
249
249
 
250
- unsigned int depth () const throw ()
250
+ unsigned int depth () const EV_NOEXCEPT
251
251
  {
252
252
  return ev_depth (EV_AX);
253
253
  }
254
254
 
255
- void set_io_collect_interval (tstamp interval) throw ()
255
+ void set_io_collect_interval (tstamp interval) EV_NOEXCEPT
256
256
  {
257
257
  ev_set_io_collect_interval (EV_AX_ interval);
258
258
  }
259
259
 
260
- void set_timeout_collect_interval (tstamp interval) throw ()
260
+ void set_timeout_collect_interval (tstamp interval) EV_NOEXCEPT
261
261
  {
262
262
  ev_set_timeout_collect_interval (EV_AX_ interval);
263
263
  }
264
264
  #endif
265
265
 
266
266
  // function callback
267
- void once (int fd, int events, tstamp timeout, void (*cb)(int, void *), void *arg = 0) throw ()
267
+ void once (int fd, int events, tstamp timeout, void (*cb)(int, void *), void *arg = 0) EV_NOEXCEPT
268
268
  {
269
269
  ev_once (EV_AX_ fd, events, timeout, cb, arg);
270
270
  }
271
271
 
272
272
  // method callback
273
273
  template<class K, void (K::*method)(int)>
274
- void once (int fd, int events, tstamp timeout, K *object) throw ()
274
+ void once (int fd, int events, tstamp timeout, K *object) EV_NOEXCEPT
275
275
  {
276
276
  once (fd, events, timeout, method_thunk<K, method>, object);
277
277
  }
278
278
 
279
279
  // default method == operator ()
280
280
  template<class K>
281
- void once (int fd, int events, tstamp timeout, K *object) throw ()
281
+ void once (int fd, int events, tstamp timeout, K *object) EV_NOEXCEPT
282
282
  {
283
283
  once (fd, events, timeout, method_thunk<K, &K::operator ()>, object);
284
284
  }
@@ -292,7 +292,7 @@ namespace ev {
292
292
 
293
293
  // no-argument method callback
294
294
  template<class K, void (K::*method)()>
295
- void once (int fd, int events, tstamp timeout, K *object) throw ()
295
+ void once (int fd, int events, tstamp timeout, K *object) EV_NOEXCEPT
296
296
  {
297
297
  once (fd, events, timeout, method_noargs_thunk<K, method>, object);
298
298
  }
@@ -306,7 +306,7 @@ namespace ev {
306
306
 
307
307
  // simpler function callback
308
308
  template<void (*cb)(int)>
309
- void once (int fd, int events, tstamp timeout) throw ()
309
+ void once (int fd, int events, tstamp timeout) EV_NOEXCEPT
310
310
  {
311
311
  once (fd, events, timeout, simpler_func_thunk<cb>);
312
312
  }
@@ -320,7 +320,7 @@ namespace ev {
320
320
 
321
321
  // simplest function callback
322
322
  template<void (*cb)()>
323
- void once (int fd, int events, tstamp timeout) throw ()
323
+ void once (int fd, int events, tstamp timeout) EV_NOEXCEPT
324
324
  {
325
325
  once (fd, events, timeout, simplest_func_thunk<cb>);
326
326
  }
@@ -332,12 +332,12 @@ namespace ev {
332
332
  ();
333
333
  }
334
334
 
335
- void feed_fd_event (int fd, int revents) throw ()
335
+ void feed_fd_event (int fd, int revents) EV_NOEXCEPT
336
336
  {
337
337
  ev_feed_fd_event (EV_AX_ fd, revents);
338
338
  }
339
339
 
340
- void feed_signal_event (int signum) throw ()
340
+ void feed_signal_event (int signum) EV_NOEXCEPT
341
341
  {
342
342
  ev_feed_signal_event (EV_AX_ signum);
343
343
  }
@@ -359,7 +359,7 @@ namespace ev {
359
359
  throw bad_loop ();
360
360
  }
361
361
 
362
- ~dynamic_loop () throw ()
362
+ ~dynamic_loop () EV_NOEXCEPT
363
363
  {
364
364
  ev_loop_destroy (EV_AX);
365
365
  EV_AX = 0;
@@ -396,7 +396,7 @@ namespace ev {
396
396
  default_loop &operator = (const default_loop &);
397
397
  };
398
398
 
399
- inline loop_ref get_default_loop () throw ()
399
+ inline loop_ref get_default_loop () EV_NOEXCEPT
400
400
  {
401
401
  #if EV_MULTIPLICITY
402
402
  return ev_default_loop (0);
@@ -421,17 +421,35 @@ namespace ev {
421
421
  template<class ev_watcher, class watcher>
422
422
  struct base : ev_watcher
423
423
  {
424
+ // scoped pause/unpause of a watcher
425
+ struct freeze_guard
426
+ {
427
+ watcher &w;
428
+ bool active;
429
+
430
+ freeze_guard (watcher *self) EV_NOEXCEPT
431
+ : w (*self), active (w.is_active ())
432
+ {
433
+ if (active) w.stop ();
434
+ }
435
+
436
+ ~freeze_guard ()
437
+ {
438
+ if (active) w.start ();
439
+ }
440
+ };
441
+
424
442
  #if EV_MULTIPLICITY
425
443
  EV_PX;
426
444
 
427
445
  // loop set
428
- void set (EV_P) throw ()
446
+ void set (EV_P) EV_NOEXCEPT
429
447
  {
430
448
  this->EV_A = EV_A;
431
449
  }
432
450
  #endif
433
451
 
434
- base (EV_PX) throw ()
452
+ base (EV_PX) EV_NOEXCEPT
435
453
  #if EV_MULTIPLICITY
436
454
  : EV_A (EV_A)
437
455
  #endif
@@ -439,7 +457,7 @@ namespace ev {
439
457
  ev_init (this, 0);
440
458
  }
441
459
 
442
- void set_ (const void *data, void (*cb)(EV_P_ ev_watcher *w, int revents)) throw ()
460
+ void set_ (const void *data, void (*cb)(EV_P_ ev_watcher *w, int revents)) EV_NOEXCEPT
443
461
  {
444
462
  this->data = (void *)data;
445
463
  ev_set_cb (static_cast<ev_watcher *>(this), cb);
@@ -447,7 +465,7 @@ namespace ev {
447
465
 
448
466
  // function callback
449
467
  template<void (*function)(watcher &w, int)>
450
- void set (void *data = 0) throw ()
468
+ void set (void *data = 0) EV_NOEXCEPT
451
469
  {
452
470
  set_ (data, function_thunk<function>);
453
471
  }
@@ -461,14 +479,14 @@ namespace ev {
461
479
 
462
480
  // method callback
463
481
  template<class K, void (K::*method)(watcher &w, int)>
464
- void set (K *object) throw ()
482
+ void set (K *object) EV_NOEXCEPT
465
483
  {
466
484
  set_ (object, method_thunk<K, method>);
467
485
  }
468
486
 
469
487
  // default method == operator ()
470
488
  template<class K>
471
- void set (K *object) throw ()
489
+ void set (K *object) EV_NOEXCEPT
472
490
  {
473
491
  set_ (object, method_thunk<K, &K::operator ()>);
474
492
  }
@@ -482,7 +500,7 @@ namespace ev {
482
500
 
483
501
  // no-argument callback
484
502
  template<class K, void (K::*method)()>
485
- void set (K *object) throw ()
503
+ void set (K *object) EV_NOEXCEPT
486
504
  {
487
505
  set_ (object, method_noargs_thunk<K, method>);
488
506
  }
@@ -501,76 +519,76 @@ namespace ev {
501
519
  (static_cast<ev_watcher *>(this), events);
502
520
  }
503
521
 
504
- bool is_active () const throw ()
522
+ bool is_active () const EV_NOEXCEPT
505
523
  {
506
524
  return ev_is_active (static_cast<const ev_watcher *>(this));
507
525
  }
508
526
 
509
- bool is_pending () const throw ()
527
+ bool is_pending () const EV_NOEXCEPT
510
528
  {
511
529
  return ev_is_pending (static_cast<const ev_watcher *>(this));
512
530
  }
513
531
 
514
- void feed_event (int revents) throw ()
532
+ void feed_event (int revents) EV_NOEXCEPT
515
533
  {
516
534
  ev_feed_event (EV_A_ static_cast<ev_watcher *>(this), revents);
517
535
  }
518
536
  };
519
537
 
520
- inline tstamp now (EV_P) throw ()
538
+ inline tstamp now (EV_P) EV_NOEXCEPT
521
539
  {
522
540
  return ev_now (EV_A);
523
541
  }
524
542
 
525
- inline void delay (tstamp interval) throw ()
543
+ inline void delay (tstamp interval) EV_NOEXCEPT
526
544
  {
527
545
  ev_sleep (interval);
528
546
  }
529
547
 
530
- inline int version_major () throw ()
548
+ inline int version_major () EV_NOEXCEPT
531
549
  {
532
550
  return ev_version_major ();
533
551
  }
534
552
 
535
- inline int version_minor () throw ()
553
+ inline int version_minor () EV_NOEXCEPT
536
554
  {
537
555
  return ev_version_minor ();
538
556
  }
539
557
 
540
- inline unsigned int supported_backends () throw ()
558
+ inline unsigned int supported_backends () EV_NOEXCEPT
541
559
  {
542
560
  return ev_supported_backends ();
543
561
  }
544
562
 
545
- inline unsigned int recommended_backends () throw ()
563
+ inline unsigned int recommended_backends () EV_NOEXCEPT
546
564
  {
547
565
  return ev_recommended_backends ();
548
566
  }
549
567
 
550
- inline unsigned int embeddable_backends () throw ()
568
+ inline unsigned int embeddable_backends () EV_NOEXCEPT
551
569
  {
552
570
  return ev_embeddable_backends ();
553
571
  }
554
572
 
555
- inline void set_allocator (void *(*cb)(void *ptr, long size)) throw ()
573
+ inline void set_allocator (void *(*cb)(void *ptr, long size)) EV_NOEXCEPT
556
574
  {
557
575
  ev_set_allocator (cb);
558
576
  }
559
577
 
560
- inline void set_syserr_cb (void (*cb)(const char *msg)) throw ()
578
+ inline void set_syserr_cb (void (*cb)(const char *msg)) EV_NOEXCEPT
561
579
  {
562
580
  ev_set_syserr_cb (cb);
563
581
  }
564
582
 
565
583
  #if EV_MULTIPLICITY
566
584
  #define EV_CONSTRUCT(cppstem,cstem) \
567
- (EV_PX = get_default_loop ()) throw () \
585
+ (EV_PX = get_default_loop ()) EV_NOEXCEPT \
568
586
  : base<ev_ ## cstem, cppstem> (EV_A) \
569
587
  { \
570
588
  }
571
589
  #else
572
590
  #define EV_CONSTRUCT(cppstem,cstem) \
573
- () throw () \
591
+ () EV_NOEXCEPT \
574
592
  { \
575
593
  }
576
594
  #endif
@@ -581,19 +599,19 @@ namespace ev {
581
599
  \
582
600
  struct cppstem : base<ev_ ## cstem, cppstem> \
583
601
  { \
584
- void start () throw () \
602
+ void start () EV_NOEXCEPT \
585
603
  { \
586
604
  ev_ ## cstem ## _start (EV_A_ static_cast<ev_ ## cstem *>(this)); \
587
605
  } \
588
606
  \
589
- void stop () throw () \
607
+ void stop () EV_NOEXCEPT \
590
608
  { \
591
609
  ev_ ## cstem ## _stop (EV_A_ static_cast<ev_ ## cstem *>(this)); \
592
610
  } \
593
611
  \
594
612
  cppstem EV_CONSTRUCT(cppstem,cstem) \
595
613
  \
596
- ~cppstem () throw () \
614
+ ~cppstem () EV_NOEXCEPT \
597
615
  { \
598
616
  stop (); \
599
617
  } \
@@ -612,23 +630,19 @@ namespace ev {
612
630
  };
613
631
 
614
632
  EV_BEGIN_WATCHER (io, io)
615
- void set (int fd, int events) throw ()
633
+ void set (int fd, int events) EV_NOEXCEPT
616
634
  {
617
- int active = is_active ();
618
- if (active) stop ();
635
+ freeze_guard freeze (this);
619
636
  ev_io_set (static_cast<ev_io *>(this), fd, events);
620
- if (active) start ();
621
637
  }
622
638
 
623
- void set (int events) throw ()
639
+ void set (int events) EV_NOEXCEPT
624
640
  {
625
- int active = is_active ();
626
- if (active) stop ();
627
- ev_io_set (static_cast<ev_io *>(this), fd, events);
628
- if (active) start ();
641
+ freeze_guard freeze (this);
642
+ ev_io_modify (static_cast<ev_io *>(this), events);
629
643
  }
630
644
 
631
- void start (int fd, int events) throw ()
645
+ void start (int fd, int events) EV_NOEXCEPT
632
646
  {
633
647
  set (fd, events);
634
648
  start ();
@@ -636,21 +650,19 @@ namespace ev {
636
650
  EV_END_WATCHER (io, io)
637
651
 
638
652
  EV_BEGIN_WATCHER (timer, timer)
639
- void set (ev_tstamp after, ev_tstamp repeat = 0.) throw ()
653
+ void set (ev_tstamp after, ev_tstamp repeat = 0.) EV_NOEXCEPT
640
654
  {
641
- int active = is_active ();
642
- if (active) stop ();
655
+ freeze_guard freeze (this);
643
656
  ev_timer_set (static_cast<ev_timer *>(this), after, repeat);
644
- if (active) start ();
645
657
  }
646
658
 
647
- void start (ev_tstamp after, ev_tstamp repeat = 0.) throw ()
659
+ void start (ev_tstamp after, ev_tstamp repeat = 0.) EV_NOEXCEPT
648
660
  {
649
661
  set (after, repeat);
650
662
  start ();
651
663
  }
652
664
 
653
- void again () throw ()
665
+ void again () EV_NOEXCEPT
654
666
  {
655
667
  ev_timer_again (EV_A_ static_cast<ev_timer *>(this));
656
668
  }
@@ -663,21 +675,19 @@ namespace ev {
663
675
 
664
676
  #if EV_PERIODIC_ENABLE
665
677
  EV_BEGIN_WATCHER (periodic, periodic)
666
- void set (ev_tstamp at, ev_tstamp interval = 0.) throw ()
678
+ void set (ev_tstamp at, ev_tstamp interval = 0.) EV_NOEXCEPT
667
679
  {
668
- int active = is_active ();
669
- if (active) stop ();
680
+ freeze_guard freeze (this);
670
681
  ev_periodic_set (static_cast<ev_periodic *>(this), at, interval, 0);
671
- if (active) start ();
672
682
  }
673
683
 
674
- void start (ev_tstamp at, ev_tstamp interval = 0.) throw ()
684
+ void start (ev_tstamp at, ev_tstamp interval = 0.) EV_NOEXCEPT
675
685
  {
676
686
  set (at, interval);
677
687
  start ();
678
688
  }
679
689
 
680
- void again () throw ()
690
+ void again () EV_NOEXCEPT
681
691
  {
682
692
  ev_periodic_again (EV_A_ static_cast<ev_periodic *>(this));
683
693
  }
@@ -686,15 +696,13 @@ namespace ev {
686
696
 
687
697
  #if EV_SIGNAL_ENABLE
688
698
  EV_BEGIN_WATCHER (sig, signal)
689
- void set (int signum) throw ()
699
+ void set (int signum) EV_NOEXCEPT
690
700
  {
691
- int active = is_active ();
692
- if (active) stop ();
701
+ freeze_guard freeze (this);
693
702
  ev_signal_set (static_cast<ev_signal *>(this), signum);
694
- if (active) start ();
695
703
  }
696
704
 
697
- void start (int signum) throw ()
705
+ void start (int signum) EV_NOEXCEPT
698
706
  {
699
707
  set (signum);
700
708
  start ();
@@ -704,15 +712,13 @@ namespace ev {
704
712
 
705
713
  #if EV_CHILD_ENABLE
706
714
  EV_BEGIN_WATCHER (child, child)
707
- void set (int pid, int trace = 0) throw ()
715
+ void set (int pid, int trace = 0) EV_NOEXCEPT
708
716
  {
709
- int active = is_active ();
710
- if (active) stop ();
717
+ freeze_guard freeze (this);
711
718
  ev_child_set (static_cast<ev_child *>(this), pid, trace);
712
- if (active) start ();
713
719
  }
714
720
 
715
- void start (int pid, int trace = 0) throw ()
721
+ void start (int pid, int trace = 0) EV_NOEXCEPT
716
722
  {
717
723
  set (pid, trace);
718
724
  start ();
@@ -722,22 +728,20 @@ namespace ev {
722
728
 
723
729
  #if EV_STAT_ENABLE
724
730
  EV_BEGIN_WATCHER (stat, stat)
725
- void set (const char *path, ev_tstamp interval = 0.) throw ()
731
+ void set (const char *path, ev_tstamp interval = 0.) EV_NOEXCEPT
726
732
  {
727
- int active = is_active ();
728
- if (active) stop ();
733
+ freeze_guard freeze (this);
729
734
  ev_stat_set (static_cast<ev_stat *>(this), path, interval);
730
- if (active) start ();
731
735
  }
732
736
 
733
- void start (const char *path, ev_tstamp interval = 0.) throw ()
737
+ void start (const char *path, ev_tstamp interval = 0.) EV_NOEXCEPT
734
738
  {
735
739
  stop ();
736
740
  set (path, interval);
737
741
  start ();
738
742
  }
739
743
 
740
- void update () throw ()
744
+ void update () EV_NOEXCEPT
741
745
  {
742
746
  ev_stat_stat (EV_A_ static_cast<ev_stat *>(this));
743
747
  }
@@ -746,33 +750,31 @@ namespace ev {
746
750
 
747
751
  #if EV_IDLE_ENABLE
748
752
  EV_BEGIN_WATCHER (idle, idle)
749
- void set () throw () { }
753
+ void set () EV_NOEXCEPT { }
750
754
  EV_END_WATCHER (idle, idle)
751
755
  #endif
752
756
 
753
757
  #if EV_PREPARE_ENABLE
754
758
  EV_BEGIN_WATCHER (prepare, prepare)
755
- void set () throw () { }
759
+ void set () EV_NOEXCEPT { }
756
760
  EV_END_WATCHER (prepare, prepare)
757
761
  #endif
758
762
 
759
763
  #if EV_CHECK_ENABLE
760
764
  EV_BEGIN_WATCHER (check, check)
761
- void set () throw () { }
765
+ void set () EV_NOEXCEPT { }
762
766
  EV_END_WATCHER (check, check)
763
767
  #endif
764
768
 
765
769
  #if EV_EMBED_ENABLE
766
770
  EV_BEGIN_WATCHER (embed, embed)
767
- void set_embed (struct ev_loop *embedded_loop) throw ()
771
+ void set_embed (struct ev_loop *embedded_loop) EV_NOEXCEPT
768
772
  {
769
- int active = is_active ();
770
- if (active) stop ();
773
+ freeze_guard freeze (this);
771
774
  ev_embed_set (static_cast<ev_embed *>(this), embedded_loop);
772
- if (active) start ();
773
775
  }
774
776
 
775
- void start (struct ev_loop *embedded_loop) throw ()
777
+ void start (struct ev_loop *embedded_loop) EV_NOEXCEPT
776
778
  {
777
779
  set (embedded_loop);
778
780
  start ();
@@ -787,18 +789,18 @@ namespace ev {
787
789
 
788
790
  #if EV_FORK_ENABLE
789
791
  EV_BEGIN_WATCHER (fork, fork)
790
- void set () throw () { }
792
+ void set () EV_NOEXCEPT { }
791
793
  EV_END_WATCHER (fork, fork)
792
794
  #endif
793
795
 
794
796
  #if EV_ASYNC_ENABLE
795
797
  EV_BEGIN_WATCHER (async, async)
796
- void send () throw ()
798
+ void send () EV_NOEXCEPT
797
799
  {
798
800
  ev_async_send (EV_A_ static_cast<ev_async *>(this));
799
801
  }
800
802
 
801
- bool async_pending () throw ()
803
+ bool async_pending () EV_NOEXCEPT
802
804
  {
803
805
  return ev_async_pending (static_cast<ev_async *>(this));
804
806
  }