passenger 6.0.23 → 6.0.24
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.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG +26 -1
- data/Rakefile +7 -3
- data/bin/passenger-install-apache2-module +5 -0
- data/bin/passenger-install-nginx-module +17 -2
- data/build/apache2.rb +1 -1
- data/build/basics.rb +10 -4
- data/build/cxx_tests.rb +18 -7
- data/build/support/cxx_dependency_map.rb +40 -6
- data/build/test_basics.rb +4 -12
- data/package.json +1 -1
- data/passenger.gemspec +1 -1
- data/src/agent/Core/ApplicationPool/Group/InitializationAndShutdown.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +10 -2
- data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +9 -0
- data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +9 -0
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +63 -50
- data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +19 -9
- data/src/agent/Core/ApplicationPool/Group/SpawningAndRestarting.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group/Verification.cpp +8 -0
- data/src/agent/Core/ApplicationPool/Group.h +15 -5
- data/src/agent/Core/ApplicationPool/Pool/AnalyticsCollection.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +5 -0
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +11 -1
- data/src/agent/Core/ApplicationPool/Pool.h +0 -2
- data/src/agent/Core/ApplicationPool/Process.h +22 -6
- data/src/agent/Core/ApplicationPool/Session.h +6 -1
- data/src/agent/Core/Config.h +7 -3
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Core/CoreMain.cpp +10 -17
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -53
- data/src/agent/Core/SpawningKit/Handshake/Session.h +3 -0
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
- data/src/agent/Core/SpawningKit/SmartSpawner.h +6 -2
- data/src/agent/Core/SpawningKit/Spawner.h +4 -0
- data/src/agent/Shared/Fundamentals/AbortHandler.cpp +88 -9
- data/src/agent/Shared/Fundamentals/AbortHandler.h +2 -0
- data/src/agent/Shared/Fundamentals/Initialization.cpp +9 -3
- data/src/agent/Shared/Fundamentals/Initialization.h +3 -3
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +6 -7
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +4 -7
- data/src/apache2_module/ConfigGeneral/ManifestGeneration.h +5 -3
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +3 -0
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +3 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +2 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +2 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/DataStructures/StringMap.h +0 -1
- data/src/cxx_supportlib/FileTools/PathManip.cpp +1 -1
- data/src/cxx_supportlib/SafeLibev.h +1 -3
- data/src/cxx_supportlib/ServerKit/Hooks.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +0 -1
- data/src/cxx_supportlib/ServerKit/HttpServer.h +15 -10
- data/src/cxx_supportlib/ServerKit/Server.h +0 -6
- data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +2 -0
- data/src/cxx_supportlib/Utils/SpeedMeter.h +0 -3
- data/src/cxx_supportlib/oxt/implementation.cpp +11 -0
- data/src/cxx_supportlib/oxt/system_calls.cpp +10 -3
- data/src/cxx_supportlib/oxt/thread.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +35 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +74 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +88 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +91 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +105 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +90 -23
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_after.hpp +303 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancel_at.hpp +296 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/impl/co_composed.hpp → co_composed.hpp} +208 -61
- data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +10 -201
- data/src/cxx_supportlib/vendor-modified/boost/asio/composed.hpp +415 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +214 -48
- data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/default_completion_token.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +9 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/detail/channel_message.hpp → detail/completion_message.hpp} +14 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/detail/channel_payload.hpp → detail/completion_payload.hpp} +30 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/detail/channel_handler.hpp → detail/completion_payload_handler.hpp} +15 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +26 -32
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +14 -118
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +36 -33
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +7 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +44 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiation_base.hpp +64 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +20 -16
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +23 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timed_cancel_op.hpp +363 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +29 -51
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +2 -114
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +27 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +17 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +3 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +12 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +38 -40
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/immediate.hpp +144 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +45 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_after.hpp +270 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancel_at.hpp +270 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +60 -166
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +26 -177
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +16 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +13 -286
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +55 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +26 -185
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +16 -87
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +12 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +127 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +70 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +114 -36
- data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +43 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +147 -35
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +74 -22
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +42 -11
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +15 -37
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +151 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +11 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +611 -102
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +47 -47
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +25 -24
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocation_type.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_list.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_slist.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/construct_in_place.hpp +35 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +55 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/function_detector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_container.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_contiguous_container.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_pair.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +96 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +19 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_resource.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +86 -52
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/version_type.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +145 -65
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +105 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +30 -22
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +19 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +15 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +31 -24
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +45 -43
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +45 -33
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +5 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +55 -47
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +222 -73
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/minstd_rand.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +53 -5
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/pointer_in_range.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/type_name.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +22 -34
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +141 -38
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/algorithm.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +22 -17
- data/src/cxx_supportlib/vendor-modified/boost/libs/random/src/random_device.cpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/integral_wrapper.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category_message.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set_fwd.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +22 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +38 -10
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +111 -2
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/cumulative_stats.hpp +177 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +33 -7
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +1 -43
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +6 -2
- data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +10 -0
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +12 -4
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +32 -5
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +0 -4
- data/src/ruby_supportlib/phusion_passenger/utils/json.rb +5 -1
- data/src/ruby_supportlib/phusion_passenger/utils.rb +5 -15
- data/src/ruby_supportlib/phusion_passenger.rb +5 -5
- metadata +21 -8
@@ -70,25 +70,24 @@ int close(int d, state_type& state, boost::system::error_code& ec)
|
|
70
70
|
::fcntl(d, F_SETFL, flags & ~O_NONBLOCK);
|
71
71
|
#else // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
|
72
72
|
ioctl_arg_type arg = 0;
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
73
|
+
if ((state & possible_dup) == 0)
|
74
|
+
{
|
75
|
+
result = ::ioctl(d, FIONBIO, &arg);
|
76
|
+
get_last_error(ec, result < 0);
|
77
|
+
}
|
78
|
+
if ((state & possible_dup) != 0
|
79
|
+
# if defined(ENOTTY)
|
78
80
|
|| ec.value() == ENOTTY
|
79
|
-
#
|
80
|
-
#
|
81
|
+
# endif // defined(ENOTTY)
|
82
|
+
# if defined(ENOTCAPABLE)
|
81
83
|
|| ec.value() == ENOTCAPABLE
|
82
|
-
#
|
84
|
+
# endif // defined(ENOTCAPABLE)
|
83
85
|
)
|
84
86
|
{
|
85
87
|
int flags = ::fcntl(d, F_GETFL, 0);
|
86
88
|
if (flags >= 0)
|
87
89
|
::fcntl(d, F_SETFL, flags & ~O_NONBLOCK);
|
88
90
|
}
|
89
|
-
# else // defined(ENOTTY) || defined(ENOTCAPABLE)
|
90
|
-
::ioctl(d, FIONBIO, &arg);
|
91
|
-
# endif // defined(ENOTTY) || defined(ENOTCAPABLE)
|
92
91
|
#endif // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
|
93
92
|
state &= ~non_blocking;
|
94
93
|
|
@@ -115,21 +114,24 @@ bool set_user_non_blocking(int d, state_type& state,
|
|
115
114
|
if (result >= 0)
|
116
115
|
{
|
117
116
|
int flag = (value ? (result | O_NONBLOCK) : (result & ~O_NONBLOCK));
|
118
|
-
result = ::fcntl(d, F_SETFL, flag);
|
117
|
+
result = (flag != result) ? ::fcntl(d, F_SETFL, flag) : 0;
|
119
118
|
get_last_error(ec, result < 0);
|
120
119
|
}
|
121
120
|
#else // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
|
122
121
|
ioctl_arg_type arg = (value ? 1 : 0);
|
123
|
-
int result =
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
122
|
+
int result = 0;
|
123
|
+
if ((state & possible_dup) == 0)
|
124
|
+
{
|
125
|
+
result = ::ioctl(d, FIONBIO, &arg);
|
126
|
+
get_last_error(ec, result < 0);
|
127
|
+
}
|
128
|
+
if ((state & possible_dup) != 0
|
129
|
+
# if defined(ENOTTY)
|
128
130
|
|| ec.value() == ENOTTY
|
129
|
-
#
|
130
|
-
#
|
131
|
+
# endif // defined(ENOTTY)
|
132
|
+
# if defined(ENOTCAPABLE)
|
131
133
|
|| ec.value() == ENOTCAPABLE
|
132
|
-
#
|
134
|
+
# endif // defined(ENOTCAPABLE)
|
133
135
|
)
|
134
136
|
{
|
135
137
|
result = ::fcntl(d, F_GETFL, 0);
|
@@ -137,11 +139,10 @@ bool set_user_non_blocking(int d, state_type& state,
|
|
137
139
|
if (result >= 0)
|
138
140
|
{
|
139
141
|
int flag = (value ? (result | O_NONBLOCK) : (result & ~O_NONBLOCK));
|
140
|
-
result = ::fcntl(d, F_SETFL, flag);
|
142
|
+
result = (flag != result) ? ::fcntl(d, F_SETFL, flag) : 0;
|
141
143
|
get_last_error(ec, result < 0);
|
142
144
|
}
|
143
145
|
}
|
144
|
-
# endif // defined(ENOTTY) || defined(ENOTCAPABLE)
|
145
146
|
#endif // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
|
146
147
|
|
147
148
|
if (result >= 0)
|
@@ -185,21 +186,24 @@ bool set_internal_non_blocking(int d, state_type& state,
|
|
185
186
|
if (result >= 0)
|
186
187
|
{
|
187
188
|
int flag = (value ? (result | O_NONBLOCK) : (result & ~O_NONBLOCK));
|
188
|
-
result = ::fcntl(d, F_SETFL, flag);
|
189
|
+
result = (flag != result) ? ::fcntl(d, F_SETFL, flag) : 0;
|
189
190
|
get_last_error(ec, result < 0);
|
190
191
|
}
|
191
192
|
#else // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
|
192
193
|
ioctl_arg_type arg = (value ? 1 : 0);
|
193
|
-
int result =
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
194
|
+
int result = 0;
|
195
|
+
if ((state & possible_dup) == 0)
|
196
|
+
{
|
197
|
+
result = ::ioctl(d, FIONBIO, &arg);
|
198
|
+
get_last_error(ec, result < 0);
|
199
|
+
}
|
200
|
+
if ((state & possible_dup) != 0
|
201
|
+
# if defined(ENOTTY)
|
198
202
|
|| ec.value() == ENOTTY
|
199
|
-
#
|
200
|
-
#
|
203
|
+
# endif // defined(ENOTTY)
|
204
|
+
# if defined(ENOTCAPABLE)
|
201
205
|
|| ec.value() == ENOTCAPABLE
|
202
|
-
#
|
206
|
+
# endif // defined(ENOTCAPABLE)
|
203
207
|
)
|
204
208
|
{
|
205
209
|
result = ::fcntl(d, F_GETFL, 0);
|
@@ -207,11 +211,10 @@ bool set_internal_non_blocking(int d, state_type& state,
|
|
207
211
|
if (result >= 0)
|
208
212
|
{
|
209
213
|
int flag = (value ? (result | O_NONBLOCK) : (result & ~O_NONBLOCK));
|
210
|
-
result = ::fcntl(d, F_SETFL, flag);
|
214
|
+
result = (flag != result) ? ::fcntl(d, F_SETFL, flag) : 0;
|
211
215
|
get_last_error(ec, result < 0);
|
212
216
|
}
|
213
217
|
}
|
214
|
-
# endif // defined(ENOTTY) || defined(ENOTCAPABLE)
|
215
218
|
#endif // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
|
216
219
|
|
217
220
|
if (result >= 0)
|
data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp
CHANGED
@@ -199,18 +199,20 @@ boost::system::error_code reactive_descriptor_service::cancel(
|
|
199
199
|
}
|
200
200
|
|
201
201
|
void reactive_descriptor_service::do_start_op(implementation_type& impl,
|
202
|
-
int op_type, reactor_op* op, bool is_continuation,
|
203
|
-
bool
|
202
|
+
int op_type, reactor_op* op, bool is_continuation,
|
203
|
+
bool allow_speculative, bool noop, bool needs_non_blocking,
|
204
|
+
void (*on_immediate)(operation* op, bool, const void*),
|
204
205
|
const void* immediate_arg)
|
205
206
|
{
|
206
207
|
if (!noop)
|
207
208
|
{
|
208
|
-
if ((impl.state_ & descriptor_ops::non_blocking)
|
209
|
-
|
209
|
+
if ((impl.state_ & descriptor_ops::non_blocking)
|
210
|
+
|| !needs_non_blocking
|
211
|
+
|| descriptor_ops::set_internal_non_blocking(
|
210
212
|
impl.descriptor_, impl.state_, true, op->ec_))
|
211
213
|
{
|
212
214
|
reactor_.start_op(op_type, impl.descriptor_, impl.reactor_data_, op,
|
213
|
-
is_continuation,
|
215
|
+
is_continuation, allow_speculative, on_immediate, immediate_arg);
|
214
216
|
return;
|
215
217
|
}
|
216
218
|
}
|
data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp
CHANGED
@@ -235,19 +235,21 @@ boost::system::error_code reactive_socket_service_base::do_assign(
|
|
235
235
|
}
|
236
236
|
|
237
237
|
void reactive_socket_service_base::do_start_op(
|
238
|
-
reactive_socket_service_base::base_implementation_type& impl,
|
239
|
-
reactor_op* op, bool is_continuation,
|
238
|
+
reactive_socket_service_base::base_implementation_type& impl,
|
239
|
+
int op_type, reactor_op* op, bool is_continuation,
|
240
|
+
bool allow_speculative, bool noop, bool needs_non_blocking,
|
240
241
|
void (*on_immediate)(operation* op, bool, const void*),
|
241
242
|
const void* immediate_arg)
|
242
243
|
{
|
243
244
|
if (!noop)
|
244
245
|
{
|
245
246
|
if ((impl.state_ & socket_ops::non_blocking)
|
247
|
+
|| !needs_non_blocking
|
246
248
|
|| socket_ops::set_internal_non_blocking(
|
247
249
|
impl.socket_, impl.state_, true, op->ec_))
|
248
250
|
{
|
249
251
|
reactor_.start_op(op_type, impl.socket_, impl.reactor_data_, op,
|
250
|
-
is_continuation,
|
252
|
+
is_continuation, allow_speculative, on_immediate, immediate_arg);
|
251
253
|
return;
|
252
254
|
}
|
253
255
|
}
|
@@ -264,7 +266,7 @@ void reactive_socket_service_base::do_start_accept_op(
|
|
264
266
|
if (!peer_is_open)
|
265
267
|
{
|
266
268
|
do_start_op(impl, reactor::read_op, op, is_continuation,
|
267
|
-
true, false, on_immediate, immediate_arg);
|
269
|
+
true, false, true, on_immediate, immediate_arg);
|
268
270
|
}
|
269
271
|
else
|
270
272
|
{
|
@@ -41,6 +41,10 @@
|
|
41
41
|
#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
|
42
42
|
// || defined(__MACH__) && defined(__APPLE__)
|
43
43
|
|
44
|
+
#if defined(_MSC_VER) && (_MSC_VER >= 1800)
|
45
|
+
# include <malloc.h>
|
46
|
+
#endif // defined(_MSC_VER) && (_MSC_VER >= 1800)
|
47
|
+
|
44
48
|
#include <boost/asio/detail/push_options.hpp>
|
45
49
|
|
46
50
|
namespace boost {
|
@@ -340,25 +344,24 @@ int close(socket_type s, state_type& state,
|
|
340
344
|
::fcntl(s, F_SETFL, flags & ~O_NONBLOCK);
|
341
345
|
# else // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
|
342
346
|
ioctl_arg_type arg = 0;
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
347
|
+
if ((state & possible_dup) == 0)
|
348
|
+
{
|
349
|
+
result = ::ioctl(s, FIONBIO, &arg);
|
350
|
+
get_last_error(ec, result < 0);
|
351
|
+
}
|
352
|
+
if ((state & possible_dup) != 0
|
353
|
+
# if defined(ENOTTY)
|
348
354
|
|| ec.value() == ENOTTY
|
349
|
-
#
|
350
|
-
#
|
355
|
+
# endif // defined(ENOTTY)
|
356
|
+
# if defined(ENOTCAPABLE)
|
351
357
|
|| ec.value() == ENOTCAPABLE
|
352
|
-
#
|
358
|
+
# endif // defined(ENOTCAPABLE)
|
353
359
|
)
|
354
360
|
{
|
355
361
|
int flags = ::fcntl(s, F_GETFL, 0);
|
356
362
|
if (flags >= 0)
|
357
363
|
::fcntl(s, F_SETFL, flags & ~O_NONBLOCK);
|
358
364
|
}
|
359
|
-
# else // defined(ENOTTY) || defined(ENOTCAPABLE)
|
360
|
-
::ioctl(s, FIONBIO, &arg);
|
361
|
-
# endif // defined(ENOTTY) || defined(ENOTCAPABLE)
|
362
365
|
# endif // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
|
363
366
|
#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
|
364
367
|
state &= ~non_blocking;
|
@@ -394,21 +397,24 @@ bool set_user_non_blocking(socket_type s,
|
|
394
397
|
if (result >= 0)
|
395
398
|
{
|
396
399
|
int flag = (value ? (result | O_NONBLOCK) : (result & ~O_NONBLOCK));
|
397
|
-
result = ::fcntl(s, F_SETFL, flag);
|
400
|
+
result = (flag != result) ? ::fcntl(s, F_SETFL, flag) : 0;
|
398
401
|
get_last_error(ec, result < 0);
|
399
402
|
}
|
400
403
|
#else // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
|
401
404
|
ioctl_arg_type arg = (value ? 1 : 0);
|
402
|
-
int result =
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
405
|
+
int result = 0;
|
406
|
+
if ((state & possible_dup) == 0)
|
407
|
+
{
|
408
|
+
result = ::ioctl(s, FIONBIO, &arg);
|
409
|
+
get_last_error(ec, result < 0);
|
410
|
+
}
|
411
|
+
if ((state & possible_dup) != 0
|
412
|
+
# if defined(ENOTTY)
|
407
413
|
|| ec.value() == ENOTTY
|
408
|
-
#
|
409
|
-
#
|
414
|
+
# endif // defined(ENOTTY)
|
415
|
+
# if defined(ENOTCAPABLE)
|
410
416
|
|| ec.value() == ENOTCAPABLE
|
411
|
-
#
|
417
|
+
# endif // defined(ENOTCAPABLE)
|
412
418
|
)
|
413
419
|
{
|
414
420
|
result = ::fcntl(s, F_GETFL, 0);
|
@@ -416,11 +422,10 @@ bool set_user_non_blocking(socket_type s,
|
|
416
422
|
if (result >= 0)
|
417
423
|
{
|
418
424
|
int flag = (value ? (result | O_NONBLOCK) : (result & ~O_NONBLOCK));
|
419
|
-
result = ::fcntl(s, F_SETFL, flag);
|
425
|
+
result = (flag != result) ? ::fcntl(s, F_SETFL, flag) : 0;
|
420
426
|
get_last_error(ec, result < 0);
|
421
427
|
}
|
422
428
|
}
|
423
|
-
# endif // defined(ENOTTY) || defined(ENOTCAPABLE)
|
424
429
|
#endif // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
|
425
430
|
|
426
431
|
if (result >= 0)
|
@@ -468,21 +473,24 @@ bool set_internal_non_blocking(socket_type s,
|
|
468
473
|
if (result >= 0)
|
469
474
|
{
|
470
475
|
int flag = (value ? (result | O_NONBLOCK) : (result & ~O_NONBLOCK));
|
471
|
-
result = ::fcntl(s, F_SETFL, flag);
|
476
|
+
result = (flag != result) ? ::fcntl(s, F_SETFL, flag) : 0;
|
472
477
|
get_last_error(ec, result < 0);
|
473
478
|
}
|
474
479
|
#else // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
|
475
480
|
ioctl_arg_type arg = (value ? 1 : 0);
|
476
|
-
int result =
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
+
int result = 0;
|
482
|
+
if ((state & possible_dup) == 0)
|
483
|
+
{
|
484
|
+
result = ::ioctl(s, FIONBIO, &arg);
|
485
|
+
get_last_error(ec, result < 0);
|
486
|
+
}
|
487
|
+
if ((state & possible_dup) != 0
|
488
|
+
# if defined(ENOTTY)
|
481
489
|
|| ec.value() == ENOTTY
|
482
|
-
#
|
483
|
-
#
|
490
|
+
# endif // defined(ENOTTY)
|
491
|
+
# if defined(ENOTCAPABLE)
|
484
492
|
|| ec.value() == ENOTCAPABLE
|
485
|
-
#
|
493
|
+
# endif // defined(ENOTCAPABLE)
|
486
494
|
)
|
487
495
|
{
|
488
496
|
result = ::fcntl(s, F_GETFL, 0);
|
@@ -490,11 +498,10 @@ bool set_internal_non_blocking(socket_type s,
|
|
490
498
|
if (result >= 0)
|
491
499
|
{
|
492
500
|
int flag = (value ? (result | O_NONBLOCK) : (result & ~O_NONBLOCK));
|
493
|
-
result = ::fcntl(s, F_SETFL, flag);
|
501
|
+
result = (flag != result) ? ::fcntl(s, F_SETFL, flag) : 0;
|
494
502
|
get_last_error(ec, result < 0);
|
495
503
|
}
|
496
504
|
}
|
497
|
-
# endif // defined(ENOTTY) || defined(ENOTCAPABLE)
|
498
505
|
#endif // defined(__SYMBIAN32__) || defined(__EMSCRIPTEN__)
|
499
506
|
|
500
507
|
if (result >= 0)
|
@@ -2580,9 +2587,11 @@ const char* inet_ntop(int af, const void* src, char* dest, size_t length,
|
|
2580
2587
|
|| if_indextoname(static_cast<unsigned>(scope_id), if_name + 1) == 0)
|
2581
2588
|
#if defined(BOOST_ASIO_HAS_SNPRINTF)
|
2582
2589
|
snprintf(if_name + 1, sizeof(if_name) - 1, "%lu", scope_id);
|
2583
|
-
#
|
2590
|
+
#elif defined(BOOST_ASIO_HAS_SECURE_RTL)
|
2591
|
+
sprintf_s(if_name + 1, sizeof(if_name) -1, "%lu", scope_id);
|
2592
|
+
#else // defined(BOOST_ASIO_HAS_SECURE_RTL)
|
2584
2593
|
sprintf(if_name + 1, "%lu", scope_id);
|
2585
|
-
#endif // defined(
|
2594
|
+
#endif // defined(BOOST_ASIO_HAS_SECURE_RTL)
|
2586
2595
|
strcat(dest, if_name);
|
2587
2596
|
}
|
2588
2597
|
return result;
|
data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp
CHANGED
@@ -91,7 +91,7 @@ void socket_select_interrupter::open_descriptors()
|
|
91
91
|
socket_holder server(socket_ops::accept(acceptor.get(), 0, 0, ec));
|
92
92
|
if (server.get() == invalid_socket)
|
93
93
|
boost::asio::detail::throw_error(ec, "socket_select_interrupter");
|
94
|
-
|
94
|
+
|
95
95
|
ioctl_arg_type non_blocking = 1;
|
96
96
|
socket_ops::state_type client_state = 0;
|
97
97
|
if (socket_ops::ioctl(client.get(), client_state,
|
@@ -0,0 +1,64 @@
|
|
1
|
+
//
|
2
|
+
// detail/initiation_base.hpp
|
3
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
|
4
|
+
//
|
5
|
+
// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
6
|
+
//
|
7
|
+
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
8
|
+
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
9
|
+
//
|
10
|
+
|
11
|
+
#ifndef BOOST_ASIO_DETAIL_INITIATION_BASE_HPP
|
12
|
+
#define BOOST_ASIO_DETAIL_INITIATION_BASE_HPP
|
13
|
+
|
14
|
+
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
|
15
|
+
# pragma once
|
16
|
+
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
|
17
|
+
|
18
|
+
#include <boost/asio/detail/config.hpp>
|
19
|
+
#include <boost/asio/detail/type_traits.hpp>
|
20
|
+
|
21
|
+
#include <boost/asio/detail/push_options.hpp>
|
22
|
+
|
23
|
+
namespace boost {
|
24
|
+
namespace asio {
|
25
|
+
namespace detail {
|
26
|
+
|
27
|
+
template <typename Initiation, typename = void>
|
28
|
+
class initiation_base : public Initiation
|
29
|
+
{
|
30
|
+
public:
|
31
|
+
template <typename I>
|
32
|
+
explicit initiation_base(I&& initiation)
|
33
|
+
: Initiation(static_cast<I&&>(initiation))
|
34
|
+
{
|
35
|
+
}
|
36
|
+
};
|
37
|
+
|
38
|
+
template <typename Initiation>
|
39
|
+
class initiation_base<Initiation, enable_if_t<!is_class<Initiation>::value>>
|
40
|
+
{
|
41
|
+
public:
|
42
|
+
template <typename I>
|
43
|
+
explicit initiation_base(I&& initiation)
|
44
|
+
: initiation_(static_cast<I&&>(initiation))
|
45
|
+
{
|
46
|
+
}
|
47
|
+
|
48
|
+
template <typename... Args>
|
49
|
+
void operator()(Args&&... args) const
|
50
|
+
{
|
51
|
+
initiation_(static_cast<Args&&>(args)...);
|
52
|
+
}
|
53
|
+
|
54
|
+
private:
|
55
|
+
Initiation initiation_;
|
56
|
+
};
|
57
|
+
|
58
|
+
} // namespace detail
|
59
|
+
} // namespace asio
|
60
|
+
} // namespace boost
|
61
|
+
|
62
|
+
#include <boost/asio/detail/pop_options.hpp>
|
63
|
+
|
64
|
+
#endif // BOOST_ASIO_DETAIL_INITIATION_BASE_HPP
|
@@ -55,18 +55,7 @@ inline const volatile T* to_address(const volatile T* p) { return p; }
|
|
55
55
|
inline void* align(std::size_t alignment,
|
56
56
|
std::size_t size, void*& ptr, std::size_t& space)
|
57
57
|
{
|
58
|
-
#if defined(BOOST_ASIO_HAS_STD_ALIGN)
|
59
58
|
return std::align(alignment, size, ptr, space);
|
60
|
-
#else // defined(BOOST_ASIO_HAS_STD_ALIGN)
|
61
|
-
const uintptr_t intptr = reinterpret_cast<uintptr_t>(ptr);
|
62
|
-
const uintptr_t aligned = (intptr - 1u + alignment) & -alignment;
|
63
|
-
const std::size_t padding = aligned - intptr;
|
64
|
-
if (size + padding > space)
|
65
|
-
return 0;
|
66
|
-
space -= padding;
|
67
|
-
ptr = reinterpret_cast<void*>(aligned);
|
68
|
-
return ptr;
|
69
|
-
#endif // defined(BOOST_ASIO_HAS_STD_ALIGN)
|
70
59
|
}
|
71
60
|
|
72
61
|
} // namespace detail
|
@@ -240,7 +240,7 @@ public:
|
|
240
240
|
default:
|
241
241
|
p.p->ec_ = boost::asio::error::invalid_argument;
|
242
242
|
start_op(impl, reactor::read_op, p.p,
|
243
|
-
is_continuation, false, true, &io_ex, 0);
|
243
|
+
is_continuation, false, true, false, &io_ex, 0);
|
244
244
|
p.v = p.p = 0;
|
245
245
|
return;
|
246
246
|
}
|
@@ -253,7 +253,8 @@ public:
|
|
253
253
|
&reactor_, &impl.reactor_data_, impl.descriptor_, op_type);
|
254
254
|
}
|
255
255
|
|
256
|
-
start_op(impl, op_type, p.p, is_continuation,
|
256
|
+
start_op(impl, op_type, p.p, is_continuation,
|
257
|
+
false, false, false, &io_ex, 0);
|
257
258
|
p.v = p.p = 0;
|
258
259
|
}
|
259
260
|
|
@@ -327,7 +328,7 @@ public:
|
|
327
328
|
|
328
329
|
start_op(impl, reactor::write_op, p.p, is_continuation, true,
|
329
330
|
buffer_sequence_adapter<boost::asio::const_buffer,
|
330
|
-
ConstBufferSequence>::all_empty(buffers), &io_ex, 0);
|
331
|
+
ConstBufferSequence>::all_empty(buffers), true, &io_ex, 0);
|
331
332
|
p.v = p.p = 0;
|
332
333
|
}
|
333
334
|
|
@@ -361,7 +362,7 @@ public:
|
|
361
362
|
&impl, impl.descriptor_, "async_write_some(null_buffers)"));
|
362
363
|
|
363
364
|
start_op(impl, reactor::write_op, p.p,
|
364
|
-
is_continuation, false, false, &io_ex, 0);
|
365
|
+
is_continuation, false, false, false, &io_ex, 0);
|
365
366
|
p.v = p.p = 0;
|
366
367
|
}
|
367
368
|
|
@@ -436,7 +437,7 @@ public:
|
|
436
437
|
|
437
438
|
start_op(impl, reactor::read_op, p.p, is_continuation, true,
|
438
439
|
buffer_sequence_adapter<boost::asio::mutable_buffer,
|
439
|
-
MutableBufferSequence>::all_empty(buffers), &io_ex, 0);
|
440
|
+
MutableBufferSequence>::all_empty(buffers), true, &io_ex, 0);
|
440
441
|
p.v = p.p = 0;
|
441
442
|
}
|
442
443
|
|
@@ -470,14 +471,15 @@ public:
|
|
470
471
|
&impl, impl.descriptor_, "async_read_some(null_buffers)"));
|
471
472
|
|
472
473
|
start_op(impl, reactor::read_op, p.p,
|
473
|
-
is_continuation, false, false, &io_ex, 0);
|
474
|
+
is_continuation, false, false, false, &io_ex, 0);
|
474
475
|
p.v = p.p = 0;
|
475
476
|
}
|
476
477
|
|
477
478
|
private:
|
478
479
|
// Start the asynchronous operation.
|
479
|
-
BOOST_ASIO_DECL void do_start_op(implementation_type& impl,
|
480
|
-
reactor_op* op, bool is_continuation,
|
480
|
+
BOOST_ASIO_DECL void do_start_op(implementation_type& impl,
|
481
|
+
int op_type, reactor_op* op, bool is_continuation,
|
482
|
+
bool allow_speculative, bool noop, bool needs_non_blocking,
|
481
483
|
void (*on_immediate)(operation* op, bool, const void*),
|
482
484
|
const void* immediate_arg);
|
483
485
|
|
@@ -485,18 +487,19 @@ private:
|
|
485
487
|
// immediate completion.
|
486
488
|
template <typename Op>
|
487
489
|
void start_op(implementation_type& impl, int op_type, Op* op,
|
488
|
-
bool is_continuation, bool
|
489
|
-
const void* io_ex, ...)
|
490
|
+
bool is_continuation, bool allow_speculative, bool noop,
|
491
|
+
bool needs_non_blocking, const void* io_ex, ...)
|
490
492
|
{
|
491
|
-
return do_start_op(impl, op_type, op, is_continuation,
|
492
|
-
|
493
|
+
return do_start_op(impl, op_type, op, is_continuation, allow_speculative,
|
494
|
+
noop, needs_non_blocking, &Op::do_immediate, io_ex);
|
493
495
|
}
|
494
496
|
|
495
497
|
// Start the asynchronous operation for handlers that are not specialised for
|
496
498
|
// immediate completion.
|
497
499
|
template <typename Op>
|
498
|
-
void start_op(implementation_type& impl, int op_type,
|
499
|
-
|
500
|
+
void start_op(implementation_type& impl, int op_type,
|
501
|
+
Op* op, bool is_continuation, bool allow_speculative,
|
502
|
+
bool noop, bool needs_non_blocking, const void*,
|
500
503
|
enable_if_t<
|
501
504
|
is_same<
|
502
505
|
typename associated_immediate_executor<
|
@@ -507,8 +510,9 @@ private:
|
|
507
510
|
>::value
|
508
511
|
>*)
|
509
512
|
{
|
510
|
-
return do_start_op(impl, op_type, op, is_continuation,
|
511
|
-
noop,
|
513
|
+
return do_start_op(impl, op_type, op, is_continuation,
|
514
|
+
allow_speculative, noop, needs_non_blocking,
|
515
|
+
&reactor::call_post_immediate_completion, &reactor_);
|
512
516
|
}
|
513
517
|
|
514
518
|
// Helper class used to implement per-operation cancellation
|
@@ -308,7 +308,7 @@ public:
|
|
308
308
|
&impl, impl.socket_, "async_send_to"));
|
309
309
|
|
310
310
|
start_op(impl, reactor::write_op, p.p,
|
311
|
-
is_continuation, true, false, &io_ex, 0);
|
311
|
+
is_continuation, true, false, true, &io_ex, 0);
|
312
312
|
p.v = p.p = 0;
|
313
313
|
}
|
314
314
|
|
@@ -342,7 +342,7 @@ public:
|
|
342
342
|
&impl, impl.socket_, "async_send_to(null_buffers)"));
|
343
343
|
|
344
344
|
start_op(impl, reactor::write_op, p.p,
|
345
|
-
is_continuation, false, false, &io_ex, 0);
|
345
|
+
is_continuation, false, false, false, &io_ex, 0);
|
346
346
|
p.v = p.p = 0;
|
347
347
|
}
|
348
348
|
|
@@ -433,7 +433,7 @@ public:
|
|
433
433
|
start_op(impl,
|
434
434
|
(flags & socket_base::message_out_of_band)
|
435
435
|
? reactor::except_op : reactor::read_op,
|
436
|
-
p.p, is_continuation, true, false, &io_ex, 0);
|
436
|
+
p.p, is_continuation, true, false, true, &io_ex, 0);
|
437
437
|
p.v = p.p = 0;
|
438
438
|
}
|
439
439
|
|
@@ -472,7 +472,7 @@ public:
|
|
472
472
|
start_op(impl,
|
473
473
|
(flags & socket_base::message_out_of_band)
|
474
474
|
? reactor::except_op : reactor::read_op,
|
475
|
-
p.p, is_continuation, false, false, &io_ex, 0);
|
475
|
+
p.p, is_continuation, false, false, false, &io_ex, 0);
|
476
476
|
p.v = p.p = 0;
|
477
477
|
}
|
478
478
|
|