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.
- checksums.yaml +4 -4
- data/CHANGELOG +33 -1
- data/CONTRIBUTING.md +7 -311
- data/CONTRIBUTORS +1 -0
- data/LICENSE +1 -1
- data/README.md +1 -1
- data/Rakefile +1 -1
- data/bin/passenger +1 -1
- data/bin/passenger-config +1 -1
- data/bin/passenger-install-apache2-module +1 -1
- data/bin/passenger-install-nginx-module +4 -9
- data/bin/passenger-memory-stats +1 -1
- data/bin/passenger-status +1 -1
- data/build/agent.rb +13 -15
- data/build/apache2.rb +13 -16
- data/build/basics.rb +10 -13
- data/build/common_library.rb +5 -9
- data/build/cxx_tests.rb +37 -12
- data/build/integration_tests.rb +5 -2
- data/build/misc.rb +1 -1
- data/build/nginx.rb +1 -1
- data/build/node_tests.rb +1 -1
- data/build/oxt_tests.rb +6 -8
- data/build/packaging.rb +1 -1
- data/build/ruby_extension.rb +1 -1
- data/build/ruby_tests.rb +1 -1
- data/build/schema_printer.rb +13 -15
- data/build/support/cplusplus.rb +61 -69
- data/build/support/cxx_dependency_map.rb +2 -1
- data/build/support/general.rb +1 -1
- data/build/support/vendor/cxx_hinted_parser/LICENSE.md +1 -1
- data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser/parser.rb +1 -1
- data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser.rb +1 -1
- data/build/support/vendor/cxxcodebuilder/LICENSE.md +1 -1
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/initializer_builder.rb +1 -1
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder.rb +1 -1
- data/build/test_basics.rb +1 -1
- data/dev/copy_boost_headers +1 -1
- data/dev/index_cxx_dependencies.rb +5 -1
- data/dev/libev-changes.patch +108 -0
- data/dev/nginx_version_sha256 +1 -1
- data/dev/ruby_server.rb +1 -6
- data/dev/upgrading_libuv.sh +16 -0
- data/doc/BasicArchitectureOverview.md +55 -0
- data/doc/BuildCaching.md +23 -0
- data/doc/BuildSystem.md +49 -0
- data/doc/DebuggingAndStressTesting.md +2 -0
- data/doc/DesignAspects/LimitedGemDependencies.md +1 -0
- data/doc/DevEnvironmentSetup.md +46 -0
- data/doc/DevHandbook.md +28 -0
- data/doc/Packaging.md +1 -1
- data/doc/RunningTests.md +88 -0
- data/doc/{TempFileHandling.md → SecureTempFileHandling.md} +1 -1
- data/doc/{CxxTestingGuide.md → WritingCxxTests.md} +1 -20
- data/src/agent/AgentMain.cpp +1 -1
- data/src/agent/Core/ApiServer.h +1 -1
- data/src/agent/Core/ApplicationPool/AbstractSession.h +1 -1
- data/src/agent/Core/ApplicationPool/BasicGroupInfo.h +1 -1
- data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +1 -1
- data/src/agent/Core/ApplicationPool/Common.h +1 -1
- data/src/agent/Core/ApplicationPool/Context.h +1 -1
- data/src/agent/Core/ApplicationPool/Group/InitializationAndShutdown.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/SpawningAndRestarting.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/Verification.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group.h +1 -1
- data/src/agent/Core/ApplicationPool/Implementation.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Options.h +1 -1
- data/src/agent/Core/ApplicationPool/Pool/AnalyticsCollection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool.h +1 -1
- data/src/agent/Core/ApplicationPool/Process.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Process.h +1 -1
- data/src/agent/Core/ApplicationPool/Session.h +1 -1
- data/src/agent/Core/ApplicationPool/Socket.h +1 -1
- data/src/agent/Core/ApplicationPool/TestSession.h +1 -1
- data/src/agent/Core/Config.h +3 -2
- data/src/agent/Core/ConfigChange.cpp +1 -1
- data/src/agent/Core/ConfigChange.h +1 -1
- data/src/agent/Core/Controller/AppResponse.h +1 -1
- data/src/agent/Core/Controller/BufferBody.cpp +1 -1
- data/src/agent/Core/Controller/CheckoutSession.cpp +8 -5
- data/src/agent/Core/Controller/Client.h +1 -1
- data/src/agent/Core/Controller/Config.cpp +1 -1
- data/src/agent/Core/Controller/Config.h +2 -2
- data/src/agent/Core/Controller/ForwardResponse.cpp +2 -2
- data/src/agent/Core/Controller/Hooks.cpp +12 -9
- data/src/agent/Core/Controller/Implementation.cpp +1 -1
- data/src/agent/Core/Controller/InitRequest.cpp +1 -1
- data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -1
- data/src/agent/Core/Controller/InternalUtils.cpp +1 -1
- data/src/agent/Core/Controller/Miscellaneous.cpp +1 -1
- data/src/agent/Core/Controller/Request.h +1 -1
- data/src/agent/Core/Controller/SendRequest.cpp +1 -1
- data/src/agent/Core/Controller/StateInspection.cpp +1 -1
- data/src/agent/Core/Controller/TurboCaching.h +1 -1
- data/src/agent/Core/Controller.h +1 -1
- data/src/agent/Core/CoreMain.cpp +1 -1
- data/src/agent/Core/OptionParser.h +1 -1
- data/src/agent/Core/ResponseCache.h +1 -1
- data/src/agent/Core/SecurityUpdateChecker.h +1 -1
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +1 -1
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h.cxxcodebuilder +1 -1
- data/src/agent/Core/SpawningKit/Config.h +1 -1
- data/src/agent/Core/SpawningKit/Context.h +1 -1
- data/src/agent/Core/SpawningKit/DirectSpawner.h +1 -1
- data/src/agent/Core/SpawningKit/DummySpawner.h +1 -1
- data/src/agent/Core/SpawningKit/ErrorRenderer.h +1 -1
- data/src/agent/Core/SpawningKit/Exceptions.h +63 -2
- data/src/agent/Core/SpawningKit/Factory.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/Perform.h +3 -2
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/Session.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +1 -1
- data/src/agent/Core/SpawningKit/Journey.h +1 -1
- data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
- data/src/agent/Core/SpawningKit/README.md +3 -3
- data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +1 -1
- data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h.cxxcodebuilder +1 -1
- data/src/agent/Core/SpawningKit/Result.h +1 -1
- data/src/agent/Core/SpawningKit/SmartSpawner.h +17 -17
- data/src/agent/Core/SpawningKit/Spawner.h +1 -1
- data/src/agent/Core/SpawningKit/UserSwitchingRules.h +1 -1
- data/src/agent/Core/TelemetryCollector.h +1 -1
- data/src/agent/ExecHelper/ExecHelperMain.cpp +1 -1
- data/src/agent/FileReadHelper/FileReadHelperMain.cpp +1 -1
- data/src/agent/MainFunctions.h +1 -1
- data/src/agent/Shared/ApiAccountUtils.h +4 -3
- data/src/agent/Shared/ApiServerUtils.h +1 -2
- data/src/agent/Shared/ApplicationPoolApiKey.h +1 -1
- data/src/agent/Shared/Fundamentals/AbortHandler.cpp +1 -1
- data/src/agent/Shared/Fundamentals/AbortHandler.h +1 -1
- data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -1
- data/src/agent/Shared/Fundamentals/Initialization.h +1 -1
- data/src/agent/Shared/Fundamentals/Utils.cpp +1 -1
- data/src/agent/Shared/Fundamentals/Utils.h +1 -1
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +1 -1
- data/src/agent/SystemMetrics/SystemMetricsMain.cpp +1 -1
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +1 -1
- data/src/agent/Watchdog/ApiServer.h +7 -6
- data/src/agent/Watchdog/Config.h +2 -2
- data/src/apache2_module/Bucket.cpp +1 -1
- data/src/apache2_module/Bucket.h +1 -1
- data/src/apache2_module/CBindings.cpp +1 -1
- data/src/apache2_module/Config.cpp +1 -1
- data/src/apache2_module/Config.h +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +104 -104
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +2 -2
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/ConfigGeneral/Common.h +1 -1
- data/src/apache2_module/ConfigGeneral/ManifestGeneration.h +1 -1
- data/src/apache2_module/ConfigGeneral/SetterFuncs.h +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +1 -1
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
- data/src/apache2_module/DirectoryMapper.h +1 -1
- data/src/apache2_module/Hooks.cpp +8 -2
- data/src/apache2_module/Hooks.h +1 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +1 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +1 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +1 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
- data/src/apache2_module/Utils.h +1 -1
- data/src/apache2_module/mod_passenger.c +1 -1
- data/src/cxx_supportlib/Algorithms/Hasher.cpp +1 -1
- data/src/cxx_supportlib/Algorithms/Hasher.h +1 -1
- data/src/cxx_supportlib/Algorithms/MovingAverage.h +1 -1
- data/src/cxx_supportlib/AppLocalConfigFileUtils.h +1 -1
- data/src/cxx_supportlib/AppTypeDetector/CBindings.cpp +1 -1
- data/src/cxx_supportlib/AppTypeDetector/CBindings.h +1 -1
- data/src/cxx_supportlib/AppTypeDetector/Detector.h +1 -1
- data/src/cxx_supportlib/BackgroundEventLoop.cpp +1 -1
- data/src/cxx_supportlib/BackgroundEventLoop.h +1 -1
- data/src/cxx_supportlib/ConfigKit/AsyncUtils.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Common.h +1 -1
- data/src/cxx_supportlib/ConfigKit/ConfigKit.h +1 -1
- data/src/cxx_supportlib/ConfigKit/DummyTranslator.h +1 -1
- data/src/cxx_supportlib/ConfigKit/IN_PRACTICE.md +1 -3
- data/src/cxx_supportlib/ConfigKit/PrefixTranslator.h +3 -3
- data/src/cxx_supportlib/ConfigKit/Schema.h +1 -1
- data/src/cxx_supportlib/ConfigKit/SchemaUtils.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Store.h +1 -1
- data/src/cxx_supportlib/ConfigKit/SubComponentUtils.h +1 -1
- data/src/cxx_supportlib/ConfigKit/TableTranslator.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Translator.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Utils.h +1 -1
- data/src/cxx_supportlib/Constants.h +2 -2
- data/src/cxx_supportlib/Constants.h.cxxcodebuilder +1 -1
- data/src/cxx_supportlib/DataStructures/HashedStaticString.h +1 -1
- data/src/cxx_supportlib/DataStructures/LString.cpp +1 -1
- data/src/cxx_supportlib/DataStructures/LString.h +1 -1
- data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -1
- data/src/cxx_supportlib/DataStructures/StringMap.h +1 -1
- data/src/cxx_supportlib/Exceptions.cpp +1 -1
- data/src/cxx_supportlib/Exceptions.h +1 -1
- data/src/cxx_supportlib/FileDescriptor.h +1 -1
- data/src/cxx_supportlib/FileTools/FileManip.cpp +1 -1
- data/src/cxx_supportlib/FileTools/FileManip.h +1 -1
- data/src/cxx_supportlib/FileTools/PathManip.cpp +1 -1
- data/src/cxx_supportlib/FileTools/PathManip.h +1 -1
- data/src/cxx_supportlib/FileTools/PathManipCBindings.cpp +1 -1
- data/src/cxx_supportlib/FileTools/PathManipCBindings.h +1 -1
- data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +1 -1
- data/src/cxx_supportlib/FileTools/PathSecurityCheck.h +1 -1
- data/src/cxx_supportlib/Hooks.h +1 -1
- data/src/cxx_supportlib/IOTools/BufferedIO.h +1 -1
- data/src/cxx_supportlib/IOTools/IOUtils.cpp +10 -10
- data/src/cxx_supportlib/IOTools/IOUtils.h +1 -1
- data/src/cxx_supportlib/IOTools/MessageIO.h +1 -1
- data/src/cxx_supportlib/IOTools/MessageSerialization.h +1 -1
- data/src/cxx_supportlib/InstanceDirectory.h +1 -1
- data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +1 -1
- data/src/cxx_supportlib/JsonTools/Autocast.h +1 -1
- data/src/cxx_supportlib/JsonTools/CBindings.cpp +1 -1
- data/src/cxx_supportlib/JsonTools/CBindings.h +1 -1
- data/src/cxx_supportlib/JsonTools/JsonUtils.h +1 -1
- data/src/cxx_supportlib/LoggingKit/Assert.h +1 -1
- data/src/cxx_supportlib/LoggingKit/Config.h +2 -1
- data/src/cxx_supportlib/LoggingKit/Context.h +1 -1
- data/src/cxx_supportlib/LoggingKit/Forward.h +1 -1
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +11 -1
- data/src/cxx_supportlib/LoggingKit/Logging.h +1 -1
- data/src/cxx_supportlib/LoggingKit/LoggingKit.h +1 -1
- data/src/cxx_supportlib/LveLoggingDecorator.h +1 -1
- data/src/cxx_supportlib/MemoryKit/mbuf.cpp +1 -1
- data/src/cxx_supportlib/MemoryKit/mbuf.h +1 -1
- data/src/cxx_supportlib/MemoryKit/palloc.cpp +1 -1
- data/src/cxx_supportlib/MemoryKit/palloc.h +1 -1
- data/src/cxx_supportlib/ProcessManagement/Ruby.cpp +1 -1
- data/src/cxx_supportlib/ProcessManagement/Ruby.h +1 -1
- data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +1 -1
- data/src/cxx_supportlib/ProcessManagement/Spawn.h +1 -1
- data/src/cxx_supportlib/ProcessManagement/Utils.cpp +1 -1
- data/src/cxx_supportlib/ProcessManagement/Utils.h +1 -1
- data/src/cxx_supportlib/RandomGenerator.h +1 -1
- data/src/cxx_supportlib/ResourceLocator.h +1 -1
- data/src/cxx_supportlib/SafeLibev.h +1 -1
- data/src/cxx_supportlib/SecurityKit/Crypto.cpp +9 -27
- data/src/cxx_supportlib/SecurityKit/Crypto.h +2 -2
- data/src/cxx_supportlib/SecurityKit/MemZeroGuard.h +1 -1
- data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +1 -1
- data/src/cxx_supportlib/ServerKit/Channel.h +1 -1
- data/src/cxx_supportlib/ServerKit/Client.h +1 -1
- data/src/cxx_supportlib/ServerKit/ClientRef.h +1 -1
- data/src/cxx_supportlib/ServerKit/Config.h +1 -1
- data/src/cxx_supportlib/ServerKit/Context.h +1 -1
- data/src/cxx_supportlib/ServerKit/CookieUtils.h +1 -1
- data/src/cxx_supportlib/ServerKit/Errors.h +1 -1
- data/src/cxx_supportlib/ServerKit/FdSinkChannel.h +1 -1
- data/src/cxx_supportlib/ServerKit/FdSourceChannel.h +1 -1
- data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +54 -2
- data/src/cxx_supportlib/ServerKit/FileBufferedFdSinkChannel.h +1 -1
- data/src/cxx_supportlib/ServerKit/HeaderTable.h +1 -1
- data/src/cxx_supportlib/ServerKit/Hooks.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParserState.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpClient.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpRequest.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpRequestRef.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpServer.h +1 -1
- data/src/cxx_supportlib/ServerKit/Implementation.cpp +1 -1
- data/src/cxx_supportlib/ServerKit/Server.h +4 -2
- data/src/cxx_supportlib/StaticString.h +1 -1
- data/src/cxx_supportlib/StrIntTools/DateParsing.h +1 -1
- data/src/cxx_supportlib/StrIntTools/StrIntUtils.cpp +1 -1
- data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +1 -1
- data/src/cxx_supportlib/StrIntTools/StrIntUtilsNoStrictAliasing.cpp +1 -1
- data/src/cxx_supportlib/StrIntTools/StringScanning.h +1 -1
- data/src/cxx_supportlib/StrIntTools/Template.h +1 -1
- data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +1 -1
- data/src/cxx_supportlib/SystemTools/ProcessMetricsCollector.h +1 -1
- data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +1 -1
- data/src/cxx_supportlib/SystemTools/SystemTime.cpp +1 -1
- data/src/cxx_supportlib/SystemTools/SystemTime.h +1 -1
- data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +1 -1
- data/src/cxx_supportlib/SystemTools/UserDatabase.h +1 -1
- data/src/cxx_supportlib/Utils/AnsiColorConstants.h +1 -1
- data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +1 -1
- data/src/cxx_supportlib/Utils/BlockingQueue.h +1 -1
- data/src/cxx_supportlib/Utils/CachedFileStat.cpp +1 -1
- data/src/cxx_supportlib/Utils/CachedFileStat.h +1 -1
- data/src/cxx_supportlib/Utils/CachedFileStat.hpp +1 -1
- data/src/cxx_supportlib/Utils/ClassUtils.h +1 -1
- data/src/cxx_supportlib/Utils/Curl.h +1 -1
- data/src/cxx_supportlib/Utils/FastStringStream.h +1 -1
- data/src/cxx_supportlib/Utils/FileChangeChecker.h +1 -1
- data/src/cxx_supportlib/Utils/HttpConstants.h +1 -1
- data/src/cxx_supportlib/Utils/IniFile.h +1 -1
- data/src/cxx_supportlib/Utils/MessagePassing.h +1 -1
- data/src/cxx_supportlib/Utils/OptionParsing.h +1 -1
- data/src/cxx_supportlib/Utils/ReleaseableScopedPointer.h +1 -1
- data/src/cxx_supportlib/Utils/ScopeGuard.h +1 -1
- data/src/cxx_supportlib/Utils/SpeedMeter.h +1 -1
- data/src/cxx_supportlib/Utils/Timer.h +1 -1
- data/src/cxx_supportlib/Utils/VariantMap.h +1 -1
- data/src/cxx_supportlib/Utils.cpp +1 -1
- data/src/cxx_supportlib/Utils.h +1 -1
- data/src/cxx_supportlib/WatchdogLauncher.cpp +1 -1
- data/src/cxx_supportlib/WatchdogLauncher.h +1 -1
- data/src/cxx_supportlib/WrapperRegistry/CBindings.cpp +1 -1
- data/src/cxx_supportlib/WrapperRegistry/CBindings.h +1 -1
- data/src/cxx_supportlib/WrapperRegistry/Entry.h +1 -1
- data/src/cxx_supportlib/WrapperRegistry/Registry.h +1 -1
- data/src/cxx_supportlib/oxt/backtrace.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/backtrace_disabled.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/backtrace_enabled.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/context.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp +1 -1
- data/src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp +1 -1
- data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +1 -1
- data/src/cxx_supportlib/oxt/implementation.cpp +1 -1
- data/src/cxx_supportlib/oxt/initialize.hpp +1 -1
- data/src/cxx_supportlib/oxt/macros.hpp +1 -1
- data/src/cxx_supportlib/oxt/spin_lock.hpp +1 -1
- data/src/cxx_supportlib/oxt/system_calls.cpp +1 -1
- data/src/cxx_supportlib/oxt/system_calls.hpp +1 -1
- data/src/cxx_supportlib/oxt/thread.hpp +1 -1
- data/src/cxx_supportlib/oxt/tracable_exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-copy/adhoc_lve.h +1 -1
- data/src/cxx_supportlib/vendor-copy/libuv/AUTHORS +353 -3
- data/src/cxx_supportlib/vendor-copy/libuv/ChangeLog +3981 -2
- data/src/cxx_supportlib/vendor-copy/libuv/LICENSE +1 -28
- data/src/cxx_supportlib/vendor-copy/libuv/LICENSE-docs +396 -0
- data/src/cxx_supportlib/vendor-copy/libuv/LICENSE-extra +36 -0
- data/src/cxx_supportlib/vendor-copy/libuv/Makefile.am +275 -58
- data/src/cxx_supportlib/vendor-copy/libuv/Makefile.in +4380 -2125
- data/src/cxx_supportlib/vendor-copy/libuv/aclocal.m4 +425 -221
- data/src/cxx_supportlib/vendor-copy/libuv/ar-lib +30 -10
- data/src/cxx_supportlib/vendor-copy/libuv/compile +31 -14
- data/src/cxx_supportlib/vendor-copy/libuv/config.guess +1084 -690
- data/src/cxx_supportlib/vendor-copy/libuv/config.sub +1844 -1297
- data/src/cxx_supportlib/vendor-copy/libuv/configure +6935 -3664
- data/src/cxx_supportlib/vendor-copy/libuv/configure.ac +43 -19
- data/src/cxx_supportlib/vendor-copy/libuv/depcomp +12 -11
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-darwin.h → uv/darwin.h} +3 -3
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-errno.h → uv/errno.h} +119 -60
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-linux.h → uv/linux.h} +1 -1
- data/src/cxx_supportlib/vendor-copy/libuv/include/uv/os390.h +33 -0
- data/src/cxx_supportlib/vendor-copy/libuv/include/uv/posix.h +31 -0
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-threadpool.h → uv/threadpool.h} +1 -1
- data/src/cxx_supportlib/vendor-copy/libuv/include/{tree.h → uv/tree.h} +3 -250
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-unix.h → uv/unix.h} +186 -60
- data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-version.h → uv/version.h} +3 -3
- data/src/cxx_supportlib/vendor-copy/libuv/include/uv/win.h +703 -0
- data/src/cxx_supportlib/vendor-copy/libuv/include/uv.h +528 -40
- data/src/cxx_supportlib/vendor-copy/libuv/install-sh +110 -70
- data/src/cxx_supportlib/vendor-copy/libuv/libuv-static.pc.in +12 -0
- data/src/cxx_supportlib/vendor-copy/libuv/libuv.pc.in +4 -2
- data/src/cxx_supportlib/vendor-copy/libuv/ltmain.sh +995 -619
- data/src/cxx_supportlib/vendor-copy/libuv/m4/ax_pthread.m4 +485 -0
- data/src/cxx_supportlib/vendor-copy/libuv/m4/libtool.m4 +438 -289
- data/src/cxx_supportlib/vendor-copy/libuv/m4/libuv-check-flags.m4 +21 -4
- data/src/cxx_supportlib/vendor-copy/libuv/m4/libuv-check-versions.m4 +7 -0
- data/src/cxx_supportlib/vendor-copy/libuv/m4/ltoptions.m4 +69 -39
- data/src/cxx_supportlib/vendor-copy/libuv/m4/ltsugar.m4 +1 -1
- data/src/cxx_supportlib/vendor-copy/libuv/m4/ltversion.m4 +7 -6
- data/src/cxx_supportlib/vendor-copy/libuv/m4/lt~obsolete.m4 +2 -2
- data/src/cxx_supportlib/vendor-copy/libuv/missing +55 -34
- data/src/cxx_supportlib/vendor-copy/libuv/src/fs-poll.c +52 -20
- data/src/cxx_supportlib/vendor-copy/libuv/src/idna.c +560 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/idna.h +31 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/inet.c +5 -16
- data/src/cxx_supportlib/vendor-copy/libuv/src/queue.h +68 -86
- data/src/cxx_supportlib/vendor-copy/libuv/src/random.c +123 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/strscpy.c +38 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/strscpy.h +39 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/strtok.c +52 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/strtok.h +27 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/thread-common.c +175 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/threadpool.c +172 -57
- data/src/cxx_supportlib/vendor-copy/libuv/src/{unix/timer.c → timer.c} +57 -29
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/aix-common.c +89 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/aix.c +418 -256
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/async.c +168 -129
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/bsd-ifaddrs.c +163 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/bsd-proctitle.c +99 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/core.c +1312 -378
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/cygwin.c +93 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin-proctitle.c +18 -32
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin-stub.h +97 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin-syscalls.h +17 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin.c +41 -139
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/dl.c +1 -1
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/freebsd.c +75 -235
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/fs.c +1308 -299
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/fsevents.c +150 -148
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/getaddrinfo.c +58 -8
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/getnameinfo.c +3 -2
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/haiku.c +172 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/hurd.c +172 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/ibmi.c +542 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/internal.h +297 -106
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/kqueue.c +325 -94
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux.c +2708 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/loop-watcher.c +11 -11
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/loop.c +105 -24
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/netbsd.c +51 -157
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/no-fsevents.c +42 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/no-proctitle.c +45 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/openbsd.c +42 -183
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390-proctitle.c +136 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390-syscalls.c +536 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390-syscalls.h +75 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390.c +1070 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/pipe.c +324 -55
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/poll.c +58 -11
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/posix-hrtime.c +36 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/posix-poll.c +385 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/process.c +795 -248
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/procfs-exepath.c +45 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/proctitle.c +77 -22
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/qnx.c +142 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-devurandom.c +93 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-getentropy.c +57 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-getrandom.c +86 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-sysctl-linux.c +99 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/signal.c +147 -39
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/stream.c +426 -474
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/sunos.c +240 -98
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/sysinfo-loadavg.c +36 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/sysinfo-memory.c +42 -0
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/tcp.c +402 -91
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/thread.c +497 -145
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/tty.c +269 -45
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/udp.c +695 -165
- data/src/cxx_supportlib/vendor-copy/libuv/src/uv-common.c +463 -61
- data/src/cxx_supportlib/vendor-copy/libuv/src/uv-common.h +248 -44
- data/src/cxx_supportlib/vendor-copy/libuv/src/uv-data-getter-setters.c +119 -0
- data/src/cxx_supportlib/vendor-copy/libuv/tsansupp.txt +2 -0
- data/src/cxx_supportlib/vendor-modified/libev/Changes +109 -0
- data/src/cxx_supportlib/vendor-modified/libev/Makefile.am +2 -1
- data/src/cxx_supportlib/vendor-modified/libev/Makefile.in +47 -33
- data/src/cxx_supportlib/vendor-modified/libev/README +2 -1
- data/src/cxx_supportlib/vendor-modified/libev/aclocal.m4 +1653 -1224
- data/src/cxx_supportlib/vendor-modified/libev/config.guess +376 -316
- data/src/cxx_supportlib/vendor-modified/libev/config.h.in +13 -2
- data/src/cxx_supportlib/vendor-modified/libev/config.sub +156 -154
- data/src/cxx_supportlib/vendor-modified/libev/configure +1431 -940
- data/src/cxx_supportlib/vendor-modified/libev/configure.ac +3 -3
- data/src/cxx_supportlib/vendor-modified/libev/depcomp +5 -5
- data/src/cxx_supportlib/vendor-modified/libev/ev++.h +109 -107
- data/src/cxx_supportlib/vendor-modified/libev/ev.c +807 -319
- data/src/cxx_supportlib/vendor-modified/libev/ev.h +111 -105
- data/src/cxx_supportlib/vendor-modified/libev/ev_epoll.c +42 -29
- data/src/cxx_supportlib/vendor-modified/libev/ev_iouring.c +694 -0
- data/src/cxx_supportlib/vendor-modified/libev/ev_kqueue.c +15 -9
- data/src/cxx_supportlib/vendor-modified/libev/ev_linuxaio.c +620 -0
- data/src/cxx_supportlib/vendor-modified/libev/ev_poll.c +19 -14
- data/src/cxx_supportlib/vendor-modified/libev/ev_port.c +8 -5
- data/src/cxx_supportlib/vendor-modified/libev/ev_select.c +6 -6
- data/src/cxx_supportlib/vendor-modified/libev/ev_vars.h +48 -3
- data/src/cxx_supportlib/vendor-modified/libev/ev_win32.c +2 -2
- data/src/cxx_supportlib/vendor-modified/libev/ev_wrap.h +72 -0
- data/src/cxx_supportlib/vendor-modified/libev/install-sh +23 -13
- data/src/cxx_supportlib/vendor-modified/libev/libev.m4 +6 -1
- data/src/cxx_supportlib/vendor-modified/libev/ltmain.sh +3581 -1993
- data/src/cxx_supportlib/vendor-modified/libev/missing +8 -8
- data/src/cxx_supportlib/vendor-modified/libev/mkinstalldirs +3 -3
- data/src/cxx_supportlib/vendor-modified/modp_b64_strict_aliasing.cpp +1 -1
- data/src/helper-scripts/backtrace-sanitizer.rb +1 -1
- data/src/helper-scripts/crash-watch.rb +1 -1
- data/src/helper-scripts/download_binaries/extconf.rb +1 -1
- data/src/helper-scripts/meteor-loader.rb +1 -1
- data/src/helper-scripts/node-loader.js +1 -1
- data/src/helper-scripts/prespawn +1 -1
- data/src/helper-scripts/rack-loader.rb +1 -1
- data/src/helper-scripts/rack-preloader.rb +1 -1
- data/src/helper-scripts/wsgi-loader.py +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c.cxxcodebuilder +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c.cxxcodebuilder +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +1 -1
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c.cxxcodebuilder +1 -1
- data/src/nginx_module/Configuration.c +1 -1
- data/src/nginx_module/Configuration.h +1 -1
- data/src/nginx_module/ContentHandler.c +1 -1
- data/src/nginx_module/ContentHandler.h +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c.cxxcodebuilder +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c.cxxcodebuilder +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +1 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +1 -1
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
- data/src/nginx_module/StaticContentHandler.c +1 -1
- data/src/nginx_module/StaticContentHandler.h +1 -1
- data/src/nginx_module/ngx_http_passenger_module.c +1 -1
- data/src/nginx_module/ngx_http_passenger_module.h +1 -1
- data/src/nodejs_supportlib/phusion_passenger/line_reader.js +1 -1
- data/src/ruby_native_extension/extconf.rb +1 -1
- data/src/ruby_native_extension/passenger_native_support.c +1 -1
- data/src/ruby_supportlib/phusion_passenger/abstract_installer.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +2 -12
- data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +8 -10
- data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/build_native_support_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/list_instances_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/main.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +6 -1
- data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/system_metrics_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/system_properties_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/message_channel.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/message_client.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/native_support.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +4 -3
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +195 -11
- data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/networking.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/plugin.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/public_api.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/handler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -7
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/ruby_core_io_enhancements.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/simple_benchmarking.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/control_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +4 -8
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/ansi_colors.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/download.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/lock.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/progress_bar.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/strscan.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +3 -13
- data/src/ruby_supportlib/phusion_passenger/utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/base.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/version.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/lock_file.rb +8 -6
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/spawn.rb +4 -3
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/version.rb +6 -4
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +395 -579
- data/src/ruby_supportlib/phusion_passenger.rb +8 -8
- data/src/schema_printer/SchemaPrinterMain.cpp +1 -1
- data/src/schema_printer/SchemaPrinterMain.cpp.cxxcodebuilder +1 -1
- metadata +69 -32
- data/doc/DeveloperQuickstart.md +0 -70
- data/src/README.md +0 -7
- data/src/cxx_supportlib/vendor-copy/libuv/README.md +0 -245
- data/src/cxx_supportlib/vendor-copy/libuv/checksparse.sh +0 -234
- data/src/cxx_supportlib/vendor-copy/libuv/common.gypi +0 -210
- data/src/cxx_supportlib/vendor-copy/libuv/gyp_uv.py +0 -93
- data/src/cxx_supportlib/vendor-copy/libuv/include/android-ifaddrs.h +0 -54
- data/src/cxx_supportlib/vendor-copy/libuv/include/pthread-fixes.h +0 -72
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/android-ifaddrs.c +0 -703
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/atomic-ops.h +0 -77
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-core.c +0 -899
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-inotify.c +0 -285
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-syscalls.c +0 -471
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-syscalls.h +0 -158
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/pthread-fixes.c +0 -104
- data/src/cxx_supportlib/vendor-copy/libuv/src/unix/spinlock.h +0 -53
- data/src/cxx_supportlib/vendor-copy/libuv/uv.gyp +0 -508
- /data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-aix.h → uv/aix.h} +0 -0
- /data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-bsd.h → uv/bsd.h} +0 -0
- /data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-sunos.h → uv/sunos.h} +0 -0
|
@@ -27,6 +27,11 @@
|
|
|
27
27
|
extern "C" {
|
|
28
28
|
#endif
|
|
29
29
|
|
|
30
|
+
#if defined(BUILDING_UV_SHARED) && defined(USING_UV_SHARED)
|
|
31
|
+
#error "Define either BUILDING_UV_SHARED or USING_UV_SHARED, not both."
|
|
32
|
+
#endif
|
|
33
|
+
|
|
34
|
+
#ifndef UV_EXTERN
|
|
30
35
|
#ifdef _WIN32
|
|
31
36
|
/* Windows - set up dll import/export decorators. */
|
|
32
37
|
# if defined(BUILDING_UV_SHARED)
|
|
@@ -41,25 +46,29 @@ extern "C" {
|
|
|
41
46
|
# endif
|
|
42
47
|
#elif __GNUC__ >= 4
|
|
43
48
|
# define UV_EXTERN __attribute__((visibility("default")))
|
|
49
|
+
#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) /* Sun Studio >= 8 */
|
|
50
|
+
# define UV_EXTERN __global
|
|
44
51
|
#else
|
|
45
52
|
# define UV_EXTERN /* nothing */
|
|
46
53
|
#endif
|
|
54
|
+
#endif /* UV_EXTERN */
|
|
47
55
|
|
|
48
|
-
#include "uv
|
|
49
|
-
#include "uv
|
|
56
|
+
#include "uv/errno.h"
|
|
57
|
+
#include "uv/version.h"
|
|
50
58
|
#include <stddef.h>
|
|
51
59
|
#include <stdio.h>
|
|
60
|
+
#include <stdint.h>
|
|
52
61
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
62
|
+
/* Internal type, do not use. */
|
|
63
|
+
struct uv__queue {
|
|
64
|
+
struct uv__queue* next;
|
|
65
|
+
struct uv__queue* prev;
|
|
66
|
+
};
|
|
58
67
|
|
|
59
68
|
#if defined(_WIN32)
|
|
60
|
-
# include "uv
|
|
69
|
+
# include "uv/win.h"
|
|
61
70
|
#else
|
|
62
|
-
# include "uv
|
|
71
|
+
# include "uv/unix.h"
|
|
63
72
|
#endif
|
|
64
73
|
|
|
65
74
|
/* Expand this list if necessary. */
|
|
@@ -122,6 +131,7 @@ extern "C" {
|
|
|
122
131
|
XX(ENOTEMPTY, "directory not empty") \
|
|
123
132
|
XX(ENOTSOCK, "socket operation on non-socket") \
|
|
124
133
|
XX(ENOTSUP, "operation not supported on socket") \
|
|
134
|
+
XX(EOVERFLOW, "value too large for defined data type") \
|
|
125
135
|
XX(EPERM, "operation not permitted") \
|
|
126
136
|
XX(EPIPE, "broken pipe") \
|
|
127
137
|
XX(EPROTO, "protocol error") \
|
|
@@ -140,6 +150,13 @@ extern "C" {
|
|
|
140
150
|
XX(ENXIO, "no such device or address") \
|
|
141
151
|
XX(EMLINK, "too many links") \
|
|
142
152
|
XX(EHOSTDOWN, "host is down") \
|
|
153
|
+
XX(EREMOTEIO, "remote I/O error") \
|
|
154
|
+
XX(ENOTTY, "inappropriate ioctl for device") \
|
|
155
|
+
XX(EFTYPE, "inappropriate file type or format") \
|
|
156
|
+
XX(EILSEQ, "illegal byte sequence") \
|
|
157
|
+
XX(ESOCKTNOSUPPORT, "socket type not supported") \
|
|
158
|
+
XX(ENODATA, "no data available") \
|
|
159
|
+
XX(EUNATCH, "protocol driver not attached") \
|
|
143
160
|
|
|
144
161
|
#define UV_HANDLE_TYPE_MAP(XX) \
|
|
145
162
|
XX(ASYNC, async) \
|
|
@@ -169,6 +186,7 @@ extern "C" {
|
|
|
169
186
|
XX(WORK, work) \
|
|
170
187
|
XX(GETADDRINFO, getaddrinfo) \
|
|
171
188
|
XX(GETNAMEINFO, getnameinfo) \
|
|
189
|
+
XX(RANDOM, random) \
|
|
172
190
|
|
|
173
191
|
typedef enum {
|
|
174
192
|
#define XX(code, _) UV_ ## code = UV__ ## code,
|
|
@@ -199,6 +217,7 @@ typedef enum {
|
|
|
199
217
|
/* Handle types. */
|
|
200
218
|
typedef struct uv_loop_s uv_loop_t;
|
|
201
219
|
typedef struct uv_handle_s uv_handle_t;
|
|
220
|
+
typedef struct uv_dir_s uv_dir_t;
|
|
202
221
|
typedef struct uv_stream_s uv_stream_t;
|
|
203
222
|
typedef struct uv_tcp_s uv_tcp_t;
|
|
204
223
|
typedef struct uv_udp_s uv_udp_t;
|
|
@@ -225,14 +244,25 @@ typedef struct uv_connect_s uv_connect_t;
|
|
|
225
244
|
typedef struct uv_udp_send_s uv_udp_send_t;
|
|
226
245
|
typedef struct uv_fs_s uv_fs_t;
|
|
227
246
|
typedef struct uv_work_s uv_work_t;
|
|
247
|
+
typedef struct uv_random_s uv_random_t;
|
|
228
248
|
|
|
229
249
|
/* None of the above. */
|
|
250
|
+
typedef struct uv_env_item_s uv_env_item_t;
|
|
230
251
|
typedef struct uv_cpu_info_s uv_cpu_info_t;
|
|
231
252
|
typedef struct uv_interface_address_s uv_interface_address_t;
|
|
232
253
|
typedef struct uv_dirent_s uv_dirent_t;
|
|
254
|
+
typedef struct uv_passwd_s uv_passwd_t;
|
|
255
|
+
typedef struct uv_group_s uv_group_t;
|
|
256
|
+
typedef struct uv_utsname_s uv_utsname_t;
|
|
257
|
+
typedef struct uv_statfs_s uv_statfs_t;
|
|
258
|
+
|
|
259
|
+
typedef struct uv_metrics_s uv_metrics_t;
|
|
233
260
|
|
|
234
261
|
typedef enum {
|
|
235
|
-
UV_LOOP_BLOCK_SIGNAL
|
|
262
|
+
UV_LOOP_BLOCK_SIGNAL = 0,
|
|
263
|
+
UV_METRICS_IDLE_TIME,
|
|
264
|
+
UV_LOOP_USE_IO_URING_SQPOLL
|
|
265
|
+
#define UV_LOOP_USE_IO_URING_SQPOLL UV_LOOP_USE_IO_URING_SQPOLL
|
|
236
266
|
} uv_loop_option;
|
|
237
267
|
|
|
238
268
|
typedef enum {
|
|
@@ -250,6 +280,8 @@ typedef void* (*uv_realloc_func)(void* ptr, size_t size);
|
|
|
250
280
|
typedef void* (*uv_calloc_func)(size_t count, size_t size);
|
|
251
281
|
typedef void (*uv_free_func)(void* ptr);
|
|
252
282
|
|
|
283
|
+
UV_EXTERN void uv_library_shutdown(void);
|
|
284
|
+
|
|
253
285
|
UV_EXTERN int uv_replace_allocator(uv_malloc_func malloc_func,
|
|
254
286
|
uv_realloc_func realloc_func,
|
|
255
287
|
uv_calloc_func calloc_func,
|
|
@@ -260,19 +292,20 @@ UV_EXTERN int uv_loop_init(uv_loop_t* loop);
|
|
|
260
292
|
UV_EXTERN int uv_loop_close(uv_loop_t* loop);
|
|
261
293
|
/*
|
|
262
294
|
* NOTE:
|
|
263
|
-
* This function is DEPRECATED
|
|
295
|
+
* This function is DEPRECATED, users should
|
|
264
296
|
* allocate the loop manually and use uv_loop_init instead.
|
|
265
297
|
*/
|
|
266
298
|
UV_EXTERN uv_loop_t* uv_loop_new(void);
|
|
267
299
|
/*
|
|
268
300
|
* NOTE:
|
|
269
|
-
* This function is DEPRECATED
|
|
301
|
+
* This function is DEPRECATED. Users should use
|
|
270
302
|
* uv_loop_close and free the memory manually instead.
|
|
271
303
|
*/
|
|
272
304
|
UV_EXTERN void uv_loop_delete(uv_loop_t*);
|
|
273
305
|
UV_EXTERN size_t uv_loop_size(void);
|
|
274
306
|
UV_EXTERN int uv_loop_alive(const uv_loop_t* loop);
|
|
275
307
|
UV_EXTERN int uv_loop_configure(uv_loop_t* loop, uv_loop_option option, ...);
|
|
308
|
+
UV_EXTERN int uv_loop_fork(uv_loop_t* loop);
|
|
276
309
|
|
|
277
310
|
UV_EXTERN int uv_run(uv_loop_t*, uv_run_mode mode);
|
|
278
311
|
UV_EXTERN void uv_stop(uv_loop_t*);
|
|
@@ -316,12 +349,37 @@ typedef void (*uv_getnameinfo_cb)(uv_getnameinfo_t* req,
|
|
|
316
349
|
int status,
|
|
317
350
|
const char* hostname,
|
|
318
351
|
const char* service);
|
|
352
|
+
typedef void (*uv_random_cb)(uv_random_t* req,
|
|
353
|
+
int status,
|
|
354
|
+
void* buf,
|
|
355
|
+
size_t buflen);
|
|
319
356
|
|
|
357
|
+
typedef enum {
|
|
358
|
+
UV_CLOCK_MONOTONIC,
|
|
359
|
+
UV_CLOCK_REALTIME
|
|
360
|
+
} uv_clock_id;
|
|
361
|
+
|
|
362
|
+
/* XXX(bnoordhuis) not 2038-proof, https://github.com/libuv/libuv/issues/3864 */
|
|
320
363
|
typedef struct {
|
|
321
364
|
long tv_sec;
|
|
322
365
|
long tv_nsec;
|
|
323
366
|
} uv_timespec_t;
|
|
324
367
|
|
|
368
|
+
typedef struct {
|
|
369
|
+
int64_t tv_sec;
|
|
370
|
+
int32_t tv_nsec;
|
|
371
|
+
} uv_timespec64_t;
|
|
372
|
+
|
|
373
|
+
/* XXX(bnoordhuis) not 2038-proof, https://github.com/libuv/libuv/issues/3864 */
|
|
374
|
+
typedef struct {
|
|
375
|
+
long tv_sec;
|
|
376
|
+
long tv_usec;
|
|
377
|
+
} uv_timeval_t;
|
|
378
|
+
|
|
379
|
+
typedef struct {
|
|
380
|
+
int64_t tv_sec;
|
|
381
|
+
int32_t tv_usec;
|
|
382
|
+
} uv_timeval64_t;
|
|
325
383
|
|
|
326
384
|
typedef struct {
|
|
327
385
|
uint64_t st_dev;
|
|
@@ -362,8 +420,13 @@ typedef enum {
|
|
|
362
420
|
} uv_membership;
|
|
363
421
|
|
|
364
422
|
|
|
423
|
+
UV_EXTERN int uv_translate_sys_error(int sys_errno);
|
|
424
|
+
|
|
365
425
|
UV_EXTERN const char* uv_strerror(int err);
|
|
426
|
+
UV_EXTERN char* uv_strerror_r(int err, char* buf, size_t buflen);
|
|
427
|
+
|
|
366
428
|
UV_EXTERN const char* uv_err_name(int err);
|
|
429
|
+
UV_EXTERN char* uv_err_name_r(int err, char* buf, size_t buflen);
|
|
367
430
|
|
|
368
431
|
|
|
369
432
|
#define UV_REQ_FIELDS \
|
|
@@ -372,8 +435,7 @@ UV_EXTERN const char* uv_err_name(int err);
|
|
|
372
435
|
/* read-only */ \
|
|
373
436
|
uv_req_type type; \
|
|
374
437
|
/* private */ \
|
|
375
|
-
void*
|
|
376
|
-
void* reserved[4]; \
|
|
438
|
+
void* reserved[6]; \
|
|
377
439
|
UV_REQ_PRIVATE_FIELDS \
|
|
378
440
|
|
|
379
441
|
/* Abstract base class of all requests. */
|
|
@@ -406,7 +468,7 @@ struct uv_shutdown_s {
|
|
|
406
468
|
uv_handle_type type; \
|
|
407
469
|
/* private */ \
|
|
408
470
|
uv_close_cb close_cb; \
|
|
409
|
-
|
|
471
|
+
struct uv__queue handle_queue; \
|
|
410
472
|
union { \
|
|
411
473
|
int fd; \
|
|
412
474
|
void* reserved[4]; \
|
|
@@ -419,7 +481,17 @@ struct uv_handle_s {
|
|
|
419
481
|
};
|
|
420
482
|
|
|
421
483
|
UV_EXTERN size_t uv_handle_size(uv_handle_type type);
|
|
484
|
+
UV_EXTERN uv_handle_type uv_handle_get_type(const uv_handle_t* handle);
|
|
485
|
+
UV_EXTERN const char* uv_handle_type_name(uv_handle_type type);
|
|
486
|
+
UV_EXTERN void* uv_handle_get_data(const uv_handle_t* handle);
|
|
487
|
+
UV_EXTERN uv_loop_t* uv_handle_get_loop(const uv_handle_t* handle);
|
|
488
|
+
UV_EXTERN void uv_handle_set_data(uv_handle_t* handle, void* data);
|
|
489
|
+
|
|
422
490
|
UV_EXTERN size_t uv_req_size(uv_req_type type);
|
|
491
|
+
UV_EXTERN void* uv_req_get_data(const uv_req_t* req);
|
|
492
|
+
UV_EXTERN void uv_req_set_data(uv_req_t* req, void* data);
|
|
493
|
+
UV_EXTERN uv_req_type uv_req_get_type(const uv_req_t* req);
|
|
494
|
+
UV_EXTERN const char* uv_req_type_name(uv_req_type type);
|
|
423
495
|
|
|
424
496
|
UV_EXTERN int uv_is_active(const uv_handle_t* handle);
|
|
425
497
|
|
|
@@ -438,6 +510,12 @@ UV_EXTERN int uv_fileno(const uv_handle_t* handle, uv_os_fd_t* fd);
|
|
|
438
510
|
|
|
439
511
|
UV_EXTERN uv_buf_t uv_buf_init(char* base, unsigned int len);
|
|
440
512
|
|
|
513
|
+
UV_EXTERN int uv_pipe(uv_file fds[2], int read_flags, int write_flags);
|
|
514
|
+
UV_EXTERN int uv_socketpair(int type,
|
|
515
|
+
int protocol,
|
|
516
|
+
uv_os_sock_t socket_vector[2],
|
|
517
|
+
int flags0,
|
|
518
|
+
int flags1);
|
|
441
519
|
|
|
442
520
|
#define UV_STREAM_FIELDS \
|
|
443
521
|
/* number of bytes queued for writing */ \
|
|
@@ -459,6 +537,8 @@ struct uv_stream_s {
|
|
|
459
537
|
UV_STREAM_FIELDS
|
|
460
538
|
};
|
|
461
539
|
|
|
540
|
+
UV_EXTERN size_t uv_stream_get_write_queue_size(const uv_stream_t* stream);
|
|
541
|
+
|
|
462
542
|
UV_EXTERN int uv_listen(uv_stream_t* stream, int backlog, uv_connection_cb cb);
|
|
463
543
|
UV_EXTERN int uv_accept(uv_stream_t* server, uv_stream_t* client);
|
|
464
544
|
|
|
@@ -481,12 +561,16 @@ UV_EXTERN int uv_write2(uv_write_t* req,
|
|
|
481
561
|
UV_EXTERN int uv_try_write(uv_stream_t* handle,
|
|
482
562
|
const uv_buf_t bufs[],
|
|
483
563
|
unsigned int nbufs);
|
|
564
|
+
UV_EXTERN int uv_try_write2(uv_stream_t* handle,
|
|
565
|
+
const uv_buf_t bufs[],
|
|
566
|
+
unsigned int nbufs,
|
|
567
|
+
uv_stream_t* send_handle);
|
|
484
568
|
|
|
485
569
|
/* uv_write_t is a subclass of uv_req_t. */
|
|
486
570
|
struct uv_write_s {
|
|
487
571
|
UV_REQ_FIELDS
|
|
488
572
|
uv_write_cb cb;
|
|
489
|
-
uv_stream_t* send_handle;
|
|
573
|
+
uv_stream_t* send_handle; /* TODO: make private and unix-only in v2.x. */
|
|
490
574
|
uv_stream_t* handle;
|
|
491
575
|
UV_WRITE_PRIVATE_FIELDS
|
|
492
576
|
};
|
|
@@ -522,7 +606,18 @@ UV_EXTERN int uv_tcp_simultaneous_accepts(uv_tcp_t* handle, int enable);
|
|
|
522
606
|
|
|
523
607
|
enum uv_tcp_flags {
|
|
524
608
|
/* Used with uv_tcp_bind, when an IPv6 address is used. */
|
|
525
|
-
UV_TCP_IPV6ONLY = 1
|
|
609
|
+
UV_TCP_IPV6ONLY = 1,
|
|
610
|
+
|
|
611
|
+
/* Enable SO_REUSEPORT socket option when binding the handle.
|
|
612
|
+
* This allows completely duplicate bindings by multiple processes
|
|
613
|
+
* or threads if they all set SO_REUSEPORT before binding the port.
|
|
614
|
+
* Incoming connections are distributed across the participating
|
|
615
|
+
* listener sockets.
|
|
616
|
+
*
|
|
617
|
+
* This flag is available only on Linux 3.9+, DragonFlyBSD 3.6+,
|
|
618
|
+
* FreeBSD 12.0+, Solaris 11.4, and AIX 7.2.5+ for now.
|
|
619
|
+
*/
|
|
620
|
+
UV_TCP_REUSEPORT = 2,
|
|
526
621
|
};
|
|
527
622
|
|
|
528
623
|
UV_EXTERN int uv_tcp_bind(uv_tcp_t* handle,
|
|
@@ -534,6 +629,7 @@ UV_EXTERN int uv_tcp_getsockname(const uv_tcp_t* handle,
|
|
|
534
629
|
UV_EXTERN int uv_tcp_getpeername(const uv_tcp_t* handle,
|
|
535
630
|
struct sockaddr* name,
|
|
536
631
|
int* namelen);
|
|
632
|
+
UV_EXTERN int uv_tcp_close_reset(uv_tcp_t* handle, uv_close_cb close_cb);
|
|
537
633
|
UV_EXTERN int uv_tcp_connect(uv_connect_t* req,
|
|
538
634
|
uv_tcp_t* handle,
|
|
539
635
|
const struct sockaddr* addr,
|
|
@@ -562,13 +658,51 @@ enum uv_udp_flags {
|
|
|
562
658
|
UV_UDP_PARTIAL = 2,
|
|
563
659
|
/*
|
|
564
660
|
* Indicates if SO_REUSEADDR will be set when binding the handle.
|
|
565
|
-
* This sets the SO_REUSEPORT socket flag on the BSDs
|
|
566
|
-
*
|
|
567
|
-
*
|
|
568
|
-
*
|
|
661
|
+
* This sets the SO_REUSEPORT socket flag on the BSDs (except for
|
|
662
|
+
* DragonFlyBSD), OS X, and other platforms where SO_REUSEPORTs don't
|
|
663
|
+
* have the capability of load balancing, as the opposite of what
|
|
664
|
+
* UV_UDP_REUSEPORT would do. On other Unix platforms, it sets the
|
|
665
|
+
* SO_REUSEADDR flag. What that means is that multiple threads or
|
|
666
|
+
* processes can bind to the same address without error (provided
|
|
667
|
+
* they all set the flag) but only the last one to bind will receive
|
|
569
668
|
* any traffic, in effect "stealing" the port from the previous listener.
|
|
570
669
|
*/
|
|
571
|
-
UV_UDP_REUSEADDR = 4
|
|
670
|
+
UV_UDP_REUSEADDR = 4,
|
|
671
|
+
/*
|
|
672
|
+
* Indicates that the message was received by recvmmsg, so the buffer provided
|
|
673
|
+
* must not be freed by the recv_cb callback.
|
|
674
|
+
*/
|
|
675
|
+
UV_UDP_MMSG_CHUNK = 8,
|
|
676
|
+
/*
|
|
677
|
+
* Indicates that the buffer provided has been fully utilized by recvmmsg and
|
|
678
|
+
* that it should now be freed by the recv_cb callback. When this flag is set
|
|
679
|
+
* in uv_udp_recv_cb, nread will always be 0 and addr will always be NULL.
|
|
680
|
+
*/
|
|
681
|
+
UV_UDP_MMSG_FREE = 16,
|
|
682
|
+
/*
|
|
683
|
+
* Indicates if IP_RECVERR/IPV6_RECVERR will be set when binding the handle.
|
|
684
|
+
* This sets IP_RECVERR for IPv4 and IPV6_RECVERR for IPv6 UDP sockets on
|
|
685
|
+
* Linux. This stops the Linux kernel from suppressing some ICMP error
|
|
686
|
+
* messages and enables full ICMP error reporting for faster failover.
|
|
687
|
+
* This flag is no-op on platforms other than Linux.
|
|
688
|
+
*/
|
|
689
|
+
UV_UDP_LINUX_RECVERR = 32,
|
|
690
|
+
/*
|
|
691
|
+
* Indicates if SO_REUSEPORT will be set when binding the handle.
|
|
692
|
+
* This sets the SO_REUSEPORT socket option on supported platforms.
|
|
693
|
+
* Unlike UV_UDP_REUSEADDR, this flag will make multiple threads or
|
|
694
|
+
* processes that are binding to the same address and port "share"
|
|
695
|
+
* the port, which means incoming datagrams are distributed across
|
|
696
|
+
* the receiving sockets among threads or processes.
|
|
697
|
+
*
|
|
698
|
+
* This flag is available only on Linux 3.9+, DragonFlyBSD 3.6+,
|
|
699
|
+
* FreeBSD 12.0+, Solaris 11.4, and AIX 7.2.5+ for now.
|
|
700
|
+
*/
|
|
701
|
+
UV_UDP_REUSEPORT = 64,
|
|
702
|
+
/*
|
|
703
|
+
* Indicates that recvmmsg should be used, if available.
|
|
704
|
+
*/
|
|
705
|
+
UV_UDP_RECVMMSG = 256
|
|
572
706
|
};
|
|
573
707
|
|
|
574
708
|
typedef void (*uv_udp_send_cb)(uv_udp_send_t* req, int status);
|
|
@@ -608,7 +742,11 @@ UV_EXTERN int uv_udp_open(uv_udp_t* handle, uv_os_sock_t sock);
|
|
|
608
742
|
UV_EXTERN int uv_udp_bind(uv_udp_t* handle,
|
|
609
743
|
const struct sockaddr* addr,
|
|
610
744
|
unsigned int flags);
|
|
745
|
+
UV_EXTERN int uv_udp_connect(uv_udp_t* handle, const struct sockaddr* addr);
|
|
611
746
|
|
|
747
|
+
UV_EXTERN int uv_udp_getpeername(const uv_udp_t* handle,
|
|
748
|
+
struct sockaddr* name,
|
|
749
|
+
int* namelen);
|
|
612
750
|
UV_EXTERN int uv_udp_getsockname(const uv_udp_t* handle,
|
|
613
751
|
struct sockaddr* name,
|
|
614
752
|
int* namelen);
|
|
@@ -616,6 +754,11 @@ UV_EXTERN int uv_udp_set_membership(uv_udp_t* handle,
|
|
|
616
754
|
const char* multicast_addr,
|
|
617
755
|
const char* interface_addr,
|
|
618
756
|
uv_membership membership);
|
|
757
|
+
UV_EXTERN int uv_udp_set_source_membership(uv_udp_t* handle,
|
|
758
|
+
const char* multicast_addr,
|
|
759
|
+
const char* interface_addr,
|
|
760
|
+
const char* source_addr,
|
|
761
|
+
uv_membership membership);
|
|
619
762
|
UV_EXTERN int uv_udp_set_multicast_loop(uv_udp_t* handle, int on);
|
|
620
763
|
UV_EXTERN int uv_udp_set_multicast_ttl(uv_udp_t* handle, int ttl);
|
|
621
764
|
UV_EXTERN int uv_udp_set_multicast_interface(uv_udp_t* handle,
|
|
@@ -635,7 +778,10 @@ UV_EXTERN int uv_udp_try_send(uv_udp_t* handle,
|
|
|
635
778
|
UV_EXTERN int uv_udp_recv_start(uv_udp_t* handle,
|
|
636
779
|
uv_alloc_cb alloc_cb,
|
|
637
780
|
uv_udp_recv_cb recv_cb);
|
|
781
|
+
UV_EXTERN int uv_udp_using_recvmmsg(const uv_udp_t* handle);
|
|
638
782
|
UV_EXTERN int uv_udp_recv_stop(uv_udp_t* handle);
|
|
783
|
+
UV_EXTERN size_t uv_udp_get_send_queue_size(const uv_udp_t* handle);
|
|
784
|
+
UV_EXTERN size_t uv_udp_get_send_queue_count(const uv_udp_t* handle);
|
|
639
785
|
|
|
640
786
|
|
|
641
787
|
/*
|
|
@@ -658,10 +804,25 @@ typedef enum {
|
|
|
658
804
|
UV_TTY_MODE_IO
|
|
659
805
|
} uv_tty_mode_t;
|
|
660
806
|
|
|
807
|
+
typedef enum {
|
|
808
|
+
/*
|
|
809
|
+
* The console supports handling of virtual terminal sequences
|
|
810
|
+
* (Windows10 new console, ConEmu)
|
|
811
|
+
*/
|
|
812
|
+
UV_TTY_SUPPORTED,
|
|
813
|
+
/* The console cannot process the virtual terminal sequence. (Legacy
|
|
814
|
+
* console)
|
|
815
|
+
*/
|
|
816
|
+
UV_TTY_UNSUPPORTED
|
|
817
|
+
} uv_tty_vtermstate_t;
|
|
818
|
+
|
|
819
|
+
|
|
661
820
|
UV_EXTERN int uv_tty_init(uv_loop_t*, uv_tty_t*, uv_file fd, int readable);
|
|
662
821
|
UV_EXTERN int uv_tty_set_mode(uv_tty_t*, uv_tty_mode_t mode);
|
|
663
822
|
UV_EXTERN int uv_tty_reset_mode(void);
|
|
664
823
|
UV_EXTERN int uv_tty_get_winsize(uv_tty_t*, int* width, int* height);
|
|
824
|
+
UV_EXTERN void uv_tty_set_vterm_state(uv_tty_vtermstate_t state);
|
|
825
|
+
UV_EXTERN int uv_tty_get_vterm_state(uv_tty_vtermstate_t* state);
|
|
665
826
|
|
|
666
827
|
#ifdef __cplusplus
|
|
667
828
|
extern "C++" {
|
|
@@ -675,6 +836,10 @@ inline int uv_tty_set_mode(uv_tty_t* handle, int mode) {
|
|
|
675
836
|
|
|
676
837
|
UV_EXTERN uv_handle_type uv_guess_handle(uv_file file);
|
|
677
838
|
|
|
839
|
+
enum {
|
|
840
|
+
UV_PIPE_NO_TRUNCATE = 1u << 0
|
|
841
|
+
};
|
|
842
|
+
|
|
678
843
|
/*
|
|
679
844
|
* uv_pipe_t is a subclass of uv_stream_t.
|
|
680
845
|
*
|
|
@@ -691,10 +856,20 @@ struct uv_pipe_s {
|
|
|
691
856
|
UV_EXTERN int uv_pipe_init(uv_loop_t*, uv_pipe_t* handle, int ipc);
|
|
692
857
|
UV_EXTERN int uv_pipe_open(uv_pipe_t*, uv_file file);
|
|
693
858
|
UV_EXTERN int uv_pipe_bind(uv_pipe_t* handle, const char* name);
|
|
859
|
+
UV_EXTERN int uv_pipe_bind2(uv_pipe_t* handle,
|
|
860
|
+
const char* name,
|
|
861
|
+
size_t namelen,
|
|
862
|
+
unsigned int flags);
|
|
694
863
|
UV_EXTERN void uv_pipe_connect(uv_connect_t* req,
|
|
695
864
|
uv_pipe_t* handle,
|
|
696
865
|
const char* name,
|
|
697
866
|
uv_connect_cb cb);
|
|
867
|
+
UV_EXTERN int uv_pipe_connect2(uv_connect_t* req,
|
|
868
|
+
uv_pipe_t* handle,
|
|
869
|
+
const char* name,
|
|
870
|
+
size_t namelen,
|
|
871
|
+
unsigned int flags,
|
|
872
|
+
uv_connect_cb cb);
|
|
698
873
|
UV_EXTERN int uv_pipe_getsockname(const uv_pipe_t* handle,
|
|
699
874
|
char* buffer,
|
|
700
875
|
size_t* size);
|
|
@@ -704,6 +879,7 @@ UV_EXTERN int uv_pipe_getpeername(const uv_pipe_t* handle,
|
|
|
704
879
|
UV_EXTERN void uv_pipe_pending_instances(uv_pipe_t* handle, int count);
|
|
705
880
|
UV_EXTERN int uv_pipe_pending_count(uv_pipe_t* handle);
|
|
706
881
|
UV_EXTERN uv_handle_type uv_pipe_pending_type(uv_pipe_t* handle);
|
|
882
|
+
UV_EXTERN int uv_pipe_chmod(uv_pipe_t* handle, int flags);
|
|
707
883
|
|
|
708
884
|
|
|
709
885
|
struct uv_poll_s {
|
|
@@ -714,7 +890,9 @@ struct uv_poll_s {
|
|
|
714
890
|
|
|
715
891
|
enum uv_poll_event {
|
|
716
892
|
UV_READABLE = 1,
|
|
717
|
-
UV_WRITABLE = 2
|
|
893
|
+
UV_WRITABLE = 2,
|
|
894
|
+
UV_DISCONNECT = 4,
|
|
895
|
+
UV_PRIORITIZED = 8
|
|
718
896
|
};
|
|
719
897
|
|
|
720
898
|
UV_EXTERN int uv_poll_init(uv_loop_t* loop, uv_poll_t* handle, int fd);
|
|
@@ -785,6 +963,7 @@ UV_EXTERN int uv_timer_stop(uv_timer_t* handle);
|
|
|
785
963
|
UV_EXTERN int uv_timer_again(uv_timer_t* handle);
|
|
786
964
|
UV_EXTERN void uv_timer_set_repeat(uv_timer_t* handle, uint64_t repeat);
|
|
787
965
|
UV_EXTERN uint64_t uv_timer_get_repeat(const uv_timer_t* handle);
|
|
966
|
+
UV_EXTERN uint64_t uv_timer_get_due_in(const uv_timer_t* handle);
|
|
788
967
|
|
|
789
968
|
|
|
790
969
|
/*
|
|
@@ -843,7 +1022,16 @@ typedef enum {
|
|
|
843
1022
|
* flags may be specified to create a duplex data stream.
|
|
844
1023
|
*/
|
|
845
1024
|
UV_READABLE_PIPE = 0x10,
|
|
846
|
-
UV_WRITABLE_PIPE = 0x20
|
|
1025
|
+
UV_WRITABLE_PIPE = 0x20,
|
|
1026
|
+
|
|
1027
|
+
/*
|
|
1028
|
+
* When UV_CREATE_PIPE is specified, specifying UV_NONBLOCK_PIPE opens the
|
|
1029
|
+
* handle in non-blocking mode in the child. This may cause loss of data,
|
|
1030
|
+
* if the child is not designed to handle to encounter this mode,
|
|
1031
|
+
* but can also be significantly more efficient.
|
|
1032
|
+
*/
|
|
1033
|
+
UV_NONBLOCK_PIPE = 0x40,
|
|
1034
|
+
UV_OVERLAPPED_PIPE = 0x40 /* old name, for compatibility */
|
|
847
1035
|
} uv_stdio_flags;
|
|
848
1036
|
|
|
849
1037
|
typedef struct uv_stdio_container_s {
|
|
@@ -930,12 +1118,30 @@ enum uv_process_flags {
|
|
|
930
1118
|
* the child's process handle.
|
|
931
1119
|
*/
|
|
932
1120
|
UV_PROCESS_DETACHED = (1 << 3),
|
|
1121
|
+
/*
|
|
1122
|
+
* Hide the subprocess window that would normally be created. This option is
|
|
1123
|
+
* only meaningful on Windows systems. On Unix it is silently ignored.
|
|
1124
|
+
*/
|
|
1125
|
+
UV_PROCESS_WINDOWS_HIDE = (1 << 4),
|
|
933
1126
|
/*
|
|
934
1127
|
* Hide the subprocess console window that would normally be created. This
|
|
935
1128
|
* option is only meaningful on Windows systems. On Unix it is silently
|
|
936
1129
|
* ignored.
|
|
937
1130
|
*/
|
|
938
|
-
|
|
1131
|
+
UV_PROCESS_WINDOWS_HIDE_CONSOLE = (1 << 5),
|
|
1132
|
+
/*
|
|
1133
|
+
* Hide the subprocess GUI window that would normally be created. This
|
|
1134
|
+
* option is only meaningful on Windows systems. On Unix it is silently
|
|
1135
|
+
* ignored.
|
|
1136
|
+
*/
|
|
1137
|
+
UV_PROCESS_WINDOWS_HIDE_GUI = (1 << 6),
|
|
1138
|
+
/*
|
|
1139
|
+
* On Windows, if the path to the program to execute, specified in
|
|
1140
|
+
* uv_process_options_t's file field, has a directory component,
|
|
1141
|
+
* search for the exact file name before trying variants with
|
|
1142
|
+
* extensions like '.exe' or '.cmd'.
|
|
1143
|
+
*/
|
|
1144
|
+
UV_PROCESS_WINDOWS_FILE_PATH_EXACT_NAME = (1 << 7)
|
|
939
1145
|
};
|
|
940
1146
|
|
|
941
1147
|
/*
|
|
@@ -953,6 +1159,7 @@ UV_EXTERN int uv_spawn(uv_loop_t* loop,
|
|
|
953
1159
|
const uv_process_options_t* options);
|
|
954
1160
|
UV_EXTERN int uv_process_kill(uv_process_t*, int signum);
|
|
955
1161
|
UV_EXTERN int uv_kill(int pid, int signum);
|
|
1162
|
+
UV_EXTERN uv_pid_t uv_process_get_pid(const uv_process_t*);
|
|
956
1163
|
|
|
957
1164
|
|
|
958
1165
|
/*
|
|
@@ -974,16 +1181,18 @@ UV_EXTERN int uv_queue_work(uv_loop_t* loop,
|
|
|
974
1181
|
UV_EXTERN int uv_cancel(uv_req_t* req);
|
|
975
1182
|
|
|
976
1183
|
|
|
1184
|
+
struct uv_cpu_times_s {
|
|
1185
|
+
uint64_t user; /* milliseconds */
|
|
1186
|
+
uint64_t nice; /* milliseconds */
|
|
1187
|
+
uint64_t sys; /* milliseconds */
|
|
1188
|
+
uint64_t idle; /* milliseconds */
|
|
1189
|
+
uint64_t irq; /* milliseconds */
|
|
1190
|
+
};
|
|
1191
|
+
|
|
977
1192
|
struct uv_cpu_info_s {
|
|
978
1193
|
char* model;
|
|
979
1194
|
int speed;
|
|
980
|
-
struct uv_cpu_times_s
|
|
981
|
-
uint64_t user;
|
|
982
|
-
uint64_t nice;
|
|
983
|
-
uint64_t sys;
|
|
984
|
-
uint64_t idle;
|
|
985
|
-
uint64_t irq;
|
|
986
|
-
} cpu_times;
|
|
1195
|
+
struct uv_cpu_times_s cpu_times;
|
|
987
1196
|
};
|
|
988
1197
|
|
|
989
1198
|
struct uv_interface_address_s {
|
|
@@ -1000,6 +1209,41 @@ struct uv_interface_address_s {
|
|
|
1000
1209
|
} netmask;
|
|
1001
1210
|
};
|
|
1002
1211
|
|
|
1212
|
+
struct uv_passwd_s {
|
|
1213
|
+
char* username;
|
|
1214
|
+
unsigned long uid;
|
|
1215
|
+
unsigned long gid;
|
|
1216
|
+
char* shell;
|
|
1217
|
+
char* homedir;
|
|
1218
|
+
};
|
|
1219
|
+
|
|
1220
|
+
struct uv_group_s {
|
|
1221
|
+
char* groupname;
|
|
1222
|
+
unsigned long gid;
|
|
1223
|
+
char** members;
|
|
1224
|
+
};
|
|
1225
|
+
|
|
1226
|
+
struct uv_utsname_s {
|
|
1227
|
+
char sysname[256];
|
|
1228
|
+
char release[256];
|
|
1229
|
+
char version[256];
|
|
1230
|
+
char machine[256];
|
|
1231
|
+
/* This struct does not contain the nodename and domainname fields present in
|
|
1232
|
+
the utsname type. domainname is a GNU extension. Both fields are referred
|
|
1233
|
+
to as meaningless in the docs. */
|
|
1234
|
+
};
|
|
1235
|
+
|
|
1236
|
+
struct uv_statfs_s {
|
|
1237
|
+
uint64_t f_type;
|
|
1238
|
+
uint64_t f_bsize;
|
|
1239
|
+
uint64_t f_blocks;
|
|
1240
|
+
uint64_t f_bfree;
|
|
1241
|
+
uint64_t f_bavail;
|
|
1242
|
+
uint64_t f_files;
|
|
1243
|
+
uint64_t f_ffree;
|
|
1244
|
+
uint64_t f_spare[4];
|
|
1245
|
+
};
|
|
1246
|
+
|
|
1003
1247
|
typedef enum {
|
|
1004
1248
|
UV_DIRENT_UNKNOWN,
|
|
1005
1249
|
UV_DIRENT_FILE,
|
|
@@ -1021,11 +1265,8 @@ UV_EXTERN int uv_get_process_title(char* buffer, size_t size);
|
|
|
1021
1265
|
UV_EXTERN int uv_set_process_title(const char* title);
|
|
1022
1266
|
UV_EXTERN int uv_resident_set_memory(size_t* rss);
|
|
1023
1267
|
UV_EXTERN int uv_uptime(double* uptime);
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
long tv_sec;
|
|
1027
|
-
long tv_usec;
|
|
1028
|
-
} uv_timeval_t;
|
|
1268
|
+
UV_EXTERN uv_os_fd_t uv_get_osfhandle(int fd);
|
|
1269
|
+
UV_EXTERN int uv_open_osfhandle(uv_os_fd_t os_fd);
|
|
1029
1270
|
|
|
1030
1271
|
typedef struct {
|
|
1031
1272
|
uv_timeval_t ru_utime; /* user CPU time used */
|
|
@@ -1049,15 +1290,92 @@ typedef struct {
|
|
|
1049
1290
|
UV_EXTERN int uv_getrusage(uv_rusage_t* rusage);
|
|
1050
1291
|
|
|
1051
1292
|
UV_EXTERN int uv_os_homedir(char* buffer, size_t* size);
|
|
1293
|
+
UV_EXTERN int uv_os_tmpdir(char* buffer, size_t* size);
|
|
1294
|
+
UV_EXTERN int uv_os_get_passwd(uv_passwd_t* pwd);
|
|
1295
|
+
UV_EXTERN void uv_os_free_passwd(uv_passwd_t* pwd);
|
|
1296
|
+
UV_EXTERN int uv_os_get_passwd2(uv_passwd_t* pwd, uv_uid_t uid);
|
|
1297
|
+
UV_EXTERN int uv_os_get_group(uv_group_t* grp, uv_uid_t gid);
|
|
1298
|
+
UV_EXTERN void uv_os_free_group(uv_group_t* grp);
|
|
1299
|
+
UV_EXTERN uv_pid_t uv_os_getpid(void);
|
|
1300
|
+
UV_EXTERN uv_pid_t uv_os_getppid(void);
|
|
1301
|
+
|
|
1302
|
+
#if defined(__PASE__)
|
|
1303
|
+
/* On IBM i PASE, the highest process priority is -10 */
|
|
1304
|
+
# define UV_PRIORITY_LOW 39 /* RUNPTY(99) */
|
|
1305
|
+
# define UV_PRIORITY_BELOW_NORMAL 15 /* RUNPTY(50) */
|
|
1306
|
+
# define UV_PRIORITY_NORMAL 0 /* RUNPTY(20) */
|
|
1307
|
+
# define UV_PRIORITY_ABOVE_NORMAL -4 /* RUNTY(12) */
|
|
1308
|
+
# define UV_PRIORITY_HIGH -7 /* RUNPTY(6) */
|
|
1309
|
+
# define UV_PRIORITY_HIGHEST -10 /* RUNPTY(1) */
|
|
1310
|
+
#else
|
|
1311
|
+
# define UV_PRIORITY_LOW 19
|
|
1312
|
+
# define UV_PRIORITY_BELOW_NORMAL 10
|
|
1313
|
+
# define UV_PRIORITY_NORMAL 0
|
|
1314
|
+
# define UV_PRIORITY_ABOVE_NORMAL -7
|
|
1315
|
+
# define UV_PRIORITY_HIGH -14
|
|
1316
|
+
# define UV_PRIORITY_HIGHEST -20
|
|
1317
|
+
#endif
|
|
1318
|
+
|
|
1319
|
+
UV_EXTERN int uv_os_getpriority(uv_pid_t pid, int* priority);
|
|
1320
|
+
UV_EXTERN int uv_os_setpriority(uv_pid_t pid, int priority);
|
|
1321
|
+
|
|
1322
|
+
enum {
|
|
1323
|
+
UV_THREAD_PRIORITY_HIGHEST = 2,
|
|
1324
|
+
UV_THREAD_PRIORITY_ABOVE_NORMAL = 1,
|
|
1325
|
+
UV_THREAD_PRIORITY_NORMAL = 0,
|
|
1326
|
+
UV_THREAD_PRIORITY_BELOW_NORMAL = -1,
|
|
1327
|
+
UV_THREAD_PRIORITY_LOWEST = -2,
|
|
1328
|
+
};
|
|
1329
|
+
|
|
1330
|
+
UV_EXTERN int uv_thread_getpriority(uv_thread_t tid, int* priority);
|
|
1331
|
+
UV_EXTERN int uv_thread_setpriority(uv_thread_t tid, int priority);
|
|
1052
1332
|
|
|
1333
|
+
UV_EXTERN unsigned int uv_available_parallelism(void);
|
|
1053
1334
|
UV_EXTERN int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count);
|
|
1054
1335
|
UV_EXTERN void uv_free_cpu_info(uv_cpu_info_t* cpu_infos, int count);
|
|
1336
|
+
UV_EXTERN int uv_cpumask_size(void);
|
|
1055
1337
|
|
|
1056
1338
|
UV_EXTERN int uv_interface_addresses(uv_interface_address_t** addresses,
|
|
1057
1339
|
int* count);
|
|
1058
1340
|
UV_EXTERN void uv_free_interface_addresses(uv_interface_address_t* addresses,
|
|
1059
1341
|
int count);
|
|
1060
1342
|
|
|
1343
|
+
struct uv_env_item_s {
|
|
1344
|
+
char* name;
|
|
1345
|
+
char* value;
|
|
1346
|
+
};
|
|
1347
|
+
|
|
1348
|
+
UV_EXTERN int uv_os_environ(uv_env_item_t** envitems, int* count);
|
|
1349
|
+
UV_EXTERN void uv_os_free_environ(uv_env_item_t* envitems, int count);
|
|
1350
|
+
UV_EXTERN int uv_os_getenv(const char* name, char* buffer, size_t* size);
|
|
1351
|
+
UV_EXTERN int uv_os_setenv(const char* name, const char* value);
|
|
1352
|
+
UV_EXTERN int uv_os_unsetenv(const char* name);
|
|
1353
|
+
|
|
1354
|
+
#ifdef MAXHOSTNAMELEN
|
|
1355
|
+
# define UV_MAXHOSTNAMESIZE (MAXHOSTNAMELEN + 1)
|
|
1356
|
+
#else
|
|
1357
|
+
/*
|
|
1358
|
+
Fallback for the maximum hostname size, including the null terminator. The
|
|
1359
|
+
Windows gethostname() documentation states that 256 bytes will always be
|
|
1360
|
+
large enough to hold the null-terminated hostname.
|
|
1361
|
+
*/
|
|
1362
|
+
# define UV_MAXHOSTNAMESIZE 256
|
|
1363
|
+
#endif
|
|
1364
|
+
|
|
1365
|
+
UV_EXTERN int uv_os_gethostname(char* buffer, size_t* size);
|
|
1366
|
+
|
|
1367
|
+
UV_EXTERN int uv_os_uname(uv_utsname_t* buffer);
|
|
1368
|
+
|
|
1369
|
+
struct uv_metrics_s {
|
|
1370
|
+
uint64_t loop_count;
|
|
1371
|
+
uint64_t events;
|
|
1372
|
+
uint64_t events_waiting;
|
|
1373
|
+
/* private */
|
|
1374
|
+
uint64_t* reserved[13];
|
|
1375
|
+
};
|
|
1376
|
+
|
|
1377
|
+
UV_EXTERN int uv_metrics_info(uv_loop_t* loop, uv_metrics_t* metrics);
|
|
1378
|
+
UV_EXTERN uint64_t uv_metrics_idle_time(uv_loop_t* loop);
|
|
1061
1379
|
|
|
1062
1380
|
typedef enum {
|
|
1063
1381
|
UV_FS_UNKNOWN = -1,
|
|
@@ -1089,9 +1407,24 @@ typedef enum {
|
|
|
1089
1407
|
UV_FS_READLINK,
|
|
1090
1408
|
UV_FS_CHOWN,
|
|
1091
1409
|
UV_FS_FCHOWN,
|
|
1092
|
-
UV_FS_REALPATH
|
|
1410
|
+
UV_FS_REALPATH,
|
|
1411
|
+
UV_FS_COPYFILE,
|
|
1412
|
+
UV_FS_LCHOWN,
|
|
1413
|
+
UV_FS_OPENDIR,
|
|
1414
|
+
UV_FS_READDIR,
|
|
1415
|
+
UV_FS_CLOSEDIR,
|
|
1416
|
+
UV_FS_STATFS,
|
|
1417
|
+
UV_FS_MKSTEMP,
|
|
1418
|
+
UV_FS_LUTIME
|
|
1093
1419
|
} uv_fs_type;
|
|
1094
1420
|
|
|
1421
|
+
struct uv_dir_s {
|
|
1422
|
+
uv_dirent_t* dirents;
|
|
1423
|
+
size_t nentries;
|
|
1424
|
+
void* reserved[4];
|
|
1425
|
+
UV_DIR_PRIVATE_FIELDS
|
|
1426
|
+
};
|
|
1427
|
+
|
|
1095
1428
|
/* uv_fs_t is a subclass of uv_req_t. */
|
|
1096
1429
|
struct uv_fs_s {
|
|
1097
1430
|
UV_REQ_FIELDS
|
|
@@ -1105,6 +1438,13 @@ struct uv_fs_s {
|
|
|
1105
1438
|
UV_FS_PRIVATE_FIELDS
|
|
1106
1439
|
};
|
|
1107
1440
|
|
|
1441
|
+
UV_EXTERN uv_fs_type uv_fs_get_type(const uv_fs_t*);
|
|
1442
|
+
UV_EXTERN ssize_t uv_fs_get_result(const uv_fs_t*);
|
|
1443
|
+
UV_EXTERN int uv_fs_get_system_error(const uv_fs_t*);
|
|
1444
|
+
UV_EXTERN void* uv_fs_get_ptr(const uv_fs_t*);
|
|
1445
|
+
UV_EXTERN const char* uv_fs_get_path(const uv_fs_t*);
|
|
1446
|
+
UV_EXTERN uv_stat_t* uv_fs_get_statbuf(uv_fs_t*);
|
|
1447
|
+
|
|
1108
1448
|
UV_EXTERN void uv_fs_req_cleanup(uv_fs_t* req);
|
|
1109
1449
|
UV_EXTERN int uv_fs_close(uv_loop_t* loop,
|
|
1110
1450
|
uv_fs_t* req,
|
|
@@ -1134,6 +1474,30 @@ UV_EXTERN int uv_fs_write(uv_loop_t* loop,
|
|
|
1134
1474
|
unsigned int nbufs,
|
|
1135
1475
|
int64_t offset,
|
|
1136
1476
|
uv_fs_cb cb);
|
|
1477
|
+
/*
|
|
1478
|
+
* This flag can be used with uv_fs_copyfile() to return an error if the
|
|
1479
|
+
* destination already exists.
|
|
1480
|
+
*/
|
|
1481
|
+
#define UV_FS_COPYFILE_EXCL 0x0001
|
|
1482
|
+
|
|
1483
|
+
/*
|
|
1484
|
+
* This flag can be used with uv_fs_copyfile() to attempt to create a reflink.
|
|
1485
|
+
* If copy-on-write is not supported, a fallback copy mechanism is used.
|
|
1486
|
+
*/
|
|
1487
|
+
#define UV_FS_COPYFILE_FICLONE 0x0002
|
|
1488
|
+
|
|
1489
|
+
/*
|
|
1490
|
+
* This flag can be used with uv_fs_copyfile() to attempt to create a reflink.
|
|
1491
|
+
* If copy-on-write is not supported, an error is returned.
|
|
1492
|
+
*/
|
|
1493
|
+
#define UV_FS_COPYFILE_FICLONE_FORCE 0x0004
|
|
1494
|
+
|
|
1495
|
+
UV_EXTERN int uv_fs_copyfile(uv_loop_t* loop,
|
|
1496
|
+
uv_fs_t* req,
|
|
1497
|
+
const char* path,
|
|
1498
|
+
const char* new_path,
|
|
1499
|
+
int flags,
|
|
1500
|
+
uv_fs_cb cb);
|
|
1137
1501
|
UV_EXTERN int uv_fs_mkdir(uv_loop_t* loop,
|
|
1138
1502
|
uv_fs_t* req,
|
|
1139
1503
|
const char* path,
|
|
@@ -1143,6 +1507,10 @@ UV_EXTERN int uv_fs_mkdtemp(uv_loop_t* loop,
|
|
|
1143
1507
|
uv_fs_t* req,
|
|
1144
1508
|
const char* tpl,
|
|
1145
1509
|
uv_fs_cb cb);
|
|
1510
|
+
UV_EXTERN int uv_fs_mkstemp(uv_loop_t* loop,
|
|
1511
|
+
uv_fs_t* req,
|
|
1512
|
+
const char* tpl,
|
|
1513
|
+
uv_fs_cb cb);
|
|
1146
1514
|
UV_EXTERN int uv_fs_rmdir(uv_loop_t* loop,
|
|
1147
1515
|
uv_fs_t* req,
|
|
1148
1516
|
const char* path,
|
|
@@ -1154,6 +1522,18 @@ UV_EXTERN int uv_fs_scandir(uv_loop_t* loop,
|
|
|
1154
1522
|
uv_fs_cb cb);
|
|
1155
1523
|
UV_EXTERN int uv_fs_scandir_next(uv_fs_t* req,
|
|
1156
1524
|
uv_dirent_t* ent);
|
|
1525
|
+
UV_EXTERN int uv_fs_opendir(uv_loop_t* loop,
|
|
1526
|
+
uv_fs_t* req,
|
|
1527
|
+
const char* path,
|
|
1528
|
+
uv_fs_cb cb);
|
|
1529
|
+
UV_EXTERN int uv_fs_readdir(uv_loop_t* loop,
|
|
1530
|
+
uv_fs_t* req,
|
|
1531
|
+
uv_dir_t* dir,
|
|
1532
|
+
uv_fs_cb cb);
|
|
1533
|
+
UV_EXTERN int uv_fs_closedir(uv_loop_t* loop,
|
|
1534
|
+
uv_fs_t* req,
|
|
1535
|
+
uv_dir_t* dir,
|
|
1536
|
+
uv_fs_cb cb);
|
|
1157
1537
|
UV_EXTERN int uv_fs_stat(uv_loop_t* loop,
|
|
1158
1538
|
uv_fs_t* req,
|
|
1159
1539
|
const char* path,
|
|
@@ -1209,6 +1589,12 @@ UV_EXTERN int uv_fs_futime(uv_loop_t* loop,
|
|
|
1209
1589
|
double atime,
|
|
1210
1590
|
double mtime,
|
|
1211
1591
|
uv_fs_cb cb);
|
|
1592
|
+
UV_EXTERN int uv_fs_lutime(uv_loop_t* loop,
|
|
1593
|
+
uv_fs_t* req,
|
|
1594
|
+
const char* path,
|
|
1595
|
+
double atime,
|
|
1596
|
+
double mtime,
|
|
1597
|
+
uv_fs_cb cb);
|
|
1212
1598
|
UV_EXTERN int uv_fs_lstat(uv_loop_t* loop,
|
|
1213
1599
|
uv_fs_t* req,
|
|
1214
1600
|
const char* path,
|
|
@@ -1262,6 +1648,16 @@ UV_EXTERN int uv_fs_fchown(uv_loop_t* loop,
|
|
|
1262
1648
|
uv_uid_t uid,
|
|
1263
1649
|
uv_gid_t gid,
|
|
1264
1650
|
uv_fs_cb cb);
|
|
1651
|
+
UV_EXTERN int uv_fs_lchown(uv_loop_t* loop,
|
|
1652
|
+
uv_fs_t* req,
|
|
1653
|
+
const char* path,
|
|
1654
|
+
uv_uid_t uid,
|
|
1655
|
+
uv_gid_t gid,
|
|
1656
|
+
uv_fs_cb cb);
|
|
1657
|
+
UV_EXTERN int uv_fs_statfs(uv_loop_t* loop,
|
|
1658
|
+
uv_fs_t* req,
|
|
1659
|
+
const char* path,
|
|
1660
|
+
uv_fs_cb cb);
|
|
1265
1661
|
|
|
1266
1662
|
|
|
1267
1663
|
enum uv_fs_event {
|
|
@@ -1309,6 +1705,9 @@ UV_EXTERN int uv_signal_init(uv_loop_t* loop, uv_signal_t* handle);
|
|
|
1309
1705
|
UV_EXTERN int uv_signal_start(uv_signal_t* handle,
|
|
1310
1706
|
uv_signal_cb signal_cb,
|
|
1311
1707
|
int signum);
|
|
1708
|
+
UV_EXTERN int uv_signal_start_oneshot(uv_signal_t* handle,
|
|
1709
|
+
uv_signal_cb signal_cb,
|
|
1710
|
+
int signum);
|
|
1312
1711
|
UV_EXTERN int uv_signal_stop(uv_signal_t* handle);
|
|
1313
1712
|
|
|
1314
1713
|
UV_EXTERN void uv_loadavg(double avg[3]);
|
|
@@ -1360,10 +1759,46 @@ UV_EXTERN int uv_ip6_addr(const char* ip, int port, struct sockaddr_in6* addr);
|
|
|
1360
1759
|
|
|
1361
1760
|
UV_EXTERN int uv_ip4_name(const struct sockaddr_in* src, char* dst, size_t size);
|
|
1362
1761
|
UV_EXTERN int uv_ip6_name(const struct sockaddr_in6* src, char* dst, size_t size);
|
|
1762
|
+
UV_EXTERN int uv_ip_name(const struct sockaddr* src, char* dst, size_t size);
|
|
1363
1763
|
|
|
1364
1764
|
UV_EXTERN int uv_inet_ntop(int af, const void* src, char* dst, size_t size);
|
|
1365
1765
|
UV_EXTERN int uv_inet_pton(int af, const char* src, void* dst);
|
|
1366
1766
|
|
|
1767
|
+
|
|
1768
|
+
struct uv_random_s {
|
|
1769
|
+
UV_REQ_FIELDS
|
|
1770
|
+
/* read-only */
|
|
1771
|
+
uv_loop_t* loop;
|
|
1772
|
+
/* private */
|
|
1773
|
+
int status;
|
|
1774
|
+
void* buf;
|
|
1775
|
+
size_t buflen;
|
|
1776
|
+
uv_random_cb cb;
|
|
1777
|
+
struct uv__work work_req;
|
|
1778
|
+
};
|
|
1779
|
+
|
|
1780
|
+
UV_EXTERN int uv_random(uv_loop_t* loop,
|
|
1781
|
+
uv_random_t* req,
|
|
1782
|
+
void *buf,
|
|
1783
|
+
size_t buflen,
|
|
1784
|
+
unsigned flags, /* For future extension; must be 0. */
|
|
1785
|
+
uv_random_cb cb);
|
|
1786
|
+
|
|
1787
|
+
#if defined(IF_NAMESIZE)
|
|
1788
|
+
# define UV_IF_NAMESIZE (IF_NAMESIZE + 1)
|
|
1789
|
+
#elif defined(IFNAMSIZ)
|
|
1790
|
+
# define UV_IF_NAMESIZE (IFNAMSIZ + 1)
|
|
1791
|
+
#else
|
|
1792
|
+
# define UV_IF_NAMESIZE (16 + 1)
|
|
1793
|
+
#endif
|
|
1794
|
+
|
|
1795
|
+
UV_EXTERN int uv_if_indextoname(unsigned int ifindex,
|
|
1796
|
+
char* buffer,
|
|
1797
|
+
size_t* size);
|
|
1798
|
+
UV_EXTERN int uv_if_indextoiid(unsigned int ifindex,
|
|
1799
|
+
char* buffer,
|
|
1800
|
+
size_t* size);
|
|
1801
|
+
|
|
1367
1802
|
UV_EXTERN int uv_exepath(char* buffer, size_t* size);
|
|
1368
1803
|
|
|
1369
1804
|
UV_EXTERN int uv_cwd(char* buffer, size_t* size);
|
|
@@ -1372,8 +1807,12 @@ UV_EXTERN int uv_chdir(const char* dir);
|
|
|
1372
1807
|
|
|
1373
1808
|
UV_EXTERN uint64_t uv_get_free_memory(void);
|
|
1374
1809
|
UV_EXTERN uint64_t uv_get_total_memory(void);
|
|
1810
|
+
UV_EXTERN uint64_t uv_get_constrained_memory(void);
|
|
1811
|
+
UV_EXTERN uint64_t uv_get_available_memory(void);
|
|
1375
1812
|
|
|
1813
|
+
UV_EXTERN int uv_clock_gettime(uv_clock_id clock_id, uv_timespec64_t* ts);
|
|
1376
1814
|
UV_EXTERN uint64_t uv_hrtime(void);
|
|
1815
|
+
UV_EXTERN void uv_sleep(unsigned int msec);
|
|
1377
1816
|
|
|
1378
1817
|
UV_EXTERN void uv_disable_stdio_inheritance(void);
|
|
1379
1818
|
|
|
@@ -1383,6 +1822,7 @@ UV_EXTERN int uv_dlsym(uv_lib_t* lib, const char* name, void** ptr);
|
|
|
1383
1822
|
UV_EXTERN const char* uv_dlerror(const uv_lib_t* lib);
|
|
1384
1823
|
|
|
1385
1824
|
UV_EXTERN int uv_mutex_init(uv_mutex_t* handle);
|
|
1825
|
+
UV_EXTERN int uv_mutex_init_recursive(uv_mutex_t* handle);
|
|
1386
1826
|
UV_EXTERN void uv_mutex_destroy(uv_mutex_t* handle);
|
|
1387
1827
|
UV_EXTERN void uv_mutex_lock(uv_mutex_t* handle);
|
|
1388
1828
|
UV_EXTERN int uv_mutex_trylock(uv_mutex_t* handle);
|
|
@@ -1424,9 +1864,37 @@ UV_EXTERN void uv_key_delete(uv_key_t* key);
|
|
|
1424
1864
|
UV_EXTERN void* uv_key_get(uv_key_t* key);
|
|
1425
1865
|
UV_EXTERN void uv_key_set(uv_key_t* key, void* value);
|
|
1426
1866
|
|
|
1867
|
+
UV_EXTERN int uv_gettimeofday(uv_timeval64_t* tv);
|
|
1868
|
+
|
|
1427
1869
|
typedef void (*uv_thread_cb)(void* arg);
|
|
1428
1870
|
|
|
1429
1871
|
UV_EXTERN int uv_thread_create(uv_thread_t* tid, uv_thread_cb entry, void* arg);
|
|
1872
|
+
|
|
1873
|
+
typedef enum {
|
|
1874
|
+
UV_THREAD_NO_FLAGS = 0x00,
|
|
1875
|
+
UV_THREAD_HAS_STACK_SIZE = 0x01
|
|
1876
|
+
} uv_thread_create_flags;
|
|
1877
|
+
|
|
1878
|
+
struct uv_thread_options_s {
|
|
1879
|
+
unsigned int flags;
|
|
1880
|
+
size_t stack_size;
|
|
1881
|
+
/* More fields may be added at any time. */
|
|
1882
|
+
};
|
|
1883
|
+
|
|
1884
|
+
typedef struct uv_thread_options_s uv_thread_options_t;
|
|
1885
|
+
|
|
1886
|
+
UV_EXTERN int uv_thread_create_ex(uv_thread_t* tid,
|
|
1887
|
+
const uv_thread_options_t* params,
|
|
1888
|
+
uv_thread_cb entry,
|
|
1889
|
+
void* arg);
|
|
1890
|
+
UV_EXTERN int uv_thread_setaffinity(uv_thread_t* tid,
|
|
1891
|
+
char* cpumask,
|
|
1892
|
+
char* oldmask,
|
|
1893
|
+
size_t mask_size);
|
|
1894
|
+
UV_EXTERN int uv_thread_getaffinity(uv_thread_t* tid,
|
|
1895
|
+
char* cpumask,
|
|
1896
|
+
size_t mask_size);
|
|
1897
|
+
UV_EXTERN int uv_thread_getcpu(void);
|
|
1430
1898
|
UV_EXTERN uv_thread_t uv_thread_self(void);
|
|
1431
1899
|
UV_EXTERN int uv_thread_join(uv_thread_t *tid);
|
|
1432
1900
|
UV_EXTERN int uv_thread_equal(const uv_thread_t* t1, const uv_thread_t* t2);
|
|
@@ -1448,13 +1916,32 @@ struct uv_loop_s {
|
|
|
1448
1916
|
void* data;
|
|
1449
1917
|
/* Loop reference counting. */
|
|
1450
1918
|
unsigned int active_handles;
|
|
1451
|
-
|
|
1452
|
-
|
|
1919
|
+
struct uv__queue handle_queue;
|
|
1920
|
+
union {
|
|
1921
|
+
void* unused;
|
|
1922
|
+
unsigned int count;
|
|
1923
|
+
} active_reqs;
|
|
1924
|
+
/* Internal storage for future extensions. */
|
|
1925
|
+
void* internal_fields;
|
|
1453
1926
|
/* Internal flag to signal loop stop. */
|
|
1454
1927
|
unsigned int stop_flag;
|
|
1455
1928
|
UV_LOOP_PRIVATE_FIELDS
|
|
1456
1929
|
};
|
|
1457
1930
|
|
|
1931
|
+
UV_EXTERN void* uv_loop_get_data(const uv_loop_t*);
|
|
1932
|
+
UV_EXTERN void uv_loop_set_data(uv_loop_t*, void* data);
|
|
1933
|
+
|
|
1934
|
+
/* Unicode utilities needed for dealing with Windows. */
|
|
1935
|
+
UV_EXTERN size_t uv_utf16_length_as_wtf8(const uint16_t* utf16,
|
|
1936
|
+
ssize_t utf16_len);
|
|
1937
|
+
UV_EXTERN int uv_utf16_to_wtf8(const uint16_t* utf16,
|
|
1938
|
+
ssize_t utf16_len,
|
|
1939
|
+
char** wtf8_ptr,
|
|
1940
|
+
size_t* wtf8_len_ptr);
|
|
1941
|
+
UV_EXTERN ssize_t uv_wtf8_length_as_utf16(const char* wtf8);
|
|
1942
|
+
UV_EXTERN void uv_wtf8_to_utf16(const char* wtf8,
|
|
1943
|
+
uint16_t* utf16,
|
|
1944
|
+
size_t utf16_len);
|
|
1458
1945
|
|
|
1459
1946
|
/* Don't export the private CPP symbols. */
|
|
1460
1947
|
#undef UV_HANDLE_TYPE_PRIVATE
|
|
@@ -1475,6 +1962,7 @@ struct uv_loop_s {
|
|
|
1475
1962
|
#undef UV_SIGNAL_PRIVATE_FIELDS
|
|
1476
1963
|
#undef UV_LOOP_PRIVATE_FIELDS
|
|
1477
1964
|
#undef UV_LOOP_PRIVATE_PLATFORM_FIELDS
|
|
1965
|
+
#undef UV__ERR
|
|
1478
1966
|
|
|
1479
1967
|
#ifdef __cplusplus
|
|
1480
1968
|
}
|