passenger 6.0.23 → 6.0.24
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -69,6 +69,19 @@ namespace detail
|
|
69
69
|
}
|
70
70
|
return std::make_pair(last1, false);
|
71
71
|
}
|
72
|
+
|
73
|
+
#if !defined(BOOST_ASIO_NO_EXTENSIONS)
|
74
|
+
#if defined(BOOST_ASIO_HAS_BOOST_REGEX)
|
75
|
+
struct regex_match_flags
|
76
|
+
{
|
77
|
+
template <typename T>
|
78
|
+
operator T() const
|
79
|
+
{
|
80
|
+
return T::match_default | T::match_partial;
|
81
|
+
}
|
82
|
+
};
|
83
|
+
#endif // !defined(BOOST_ASIO_NO_EXTENSIONS)
|
84
|
+
#endif // defined(BOOST_ASIO_HAS_BOOST_REGEX)
|
72
85
|
} // namespace detail
|
73
86
|
|
74
87
|
#if !defined(BOOST_ASIO_NO_DYNAMIC_BUFFER_V1)
|
@@ -232,19 +245,6 @@ std::size_t read_until(SyncReadStream& s,
|
|
232
245
|
#if !defined(BOOST_ASIO_NO_EXTENSIONS)
|
233
246
|
#if defined(BOOST_ASIO_HAS_BOOST_REGEX)
|
234
247
|
|
235
|
-
namespace detail {
|
236
|
-
|
237
|
-
struct regex_match_flags
|
238
|
-
{
|
239
|
-
template <typename T>
|
240
|
-
operator T() const
|
241
|
-
{
|
242
|
-
return T::match_default | T::match_partial;
|
243
|
-
}
|
244
|
-
};
|
245
|
-
|
246
|
-
} // namespace detail
|
247
|
-
|
248
248
|
template <typename SyncReadStream, typename DynamicBuffer_v1, typename Traits>
|
249
249
|
inline std::size_t read_until(SyncReadStream& s, DynamicBuffer_v1&& buffers,
|
250
250
|
const boost::basic_regex<char, Traits>& expr,
|
@@ -1029,29 +1029,6 @@ struct associator<Associator,
|
|
1029
1029
|
|
1030
1030
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
1031
1031
|
|
1032
|
-
template <typename AsyncReadStream, typename DynamicBuffer_v1,
|
1033
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
1034
|
-
std::size_t)) ReadToken>
|
1035
|
-
inline auto async_read_until(AsyncReadStream& s,
|
1036
|
-
DynamicBuffer_v1&& buffers, char delim, ReadToken&& token,
|
1037
|
-
constraint_t<
|
1038
|
-
is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
|
1039
|
-
>,
|
1040
|
-
constraint_t<
|
1041
|
-
!is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
|
1042
|
-
>)
|
1043
|
-
-> decltype(
|
1044
|
-
async_initiate<ReadToken,
|
1045
|
-
void (boost::system::error_code, std::size_t)>(
|
1046
|
-
declval<detail::initiate_async_read_until_delim_v1<AsyncReadStream>>(),
|
1047
|
-
token, static_cast<DynamicBuffer_v1&&>(buffers), delim))
|
1048
|
-
{
|
1049
|
-
return async_initiate<ReadToken,
|
1050
|
-
void (boost::system::error_code, std::size_t)>(
|
1051
|
-
detail::initiate_async_read_until_delim_v1<AsyncReadStream>(s),
|
1052
|
-
token, static_cast<DynamicBuffer_v1&&>(buffers), delim);
|
1053
|
-
}
|
1054
|
-
|
1055
1032
|
namespace detail
|
1056
1033
|
{
|
1057
1034
|
template <typename AsyncReadStream,
|
@@ -1280,32 +1257,6 @@ struct associator<Associator,
|
|
1280
1257
|
|
1281
1258
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
1282
1259
|
|
1283
|
-
template <typename AsyncReadStream, typename DynamicBuffer_v1,
|
1284
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
1285
|
-
std::size_t)) ReadToken>
|
1286
|
-
inline auto async_read_until(AsyncReadStream& s, DynamicBuffer_v1&& buffers,
|
1287
|
-
BOOST_ASIO_STRING_VIEW_PARAM delim, ReadToken&& token,
|
1288
|
-
constraint_t<
|
1289
|
-
is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
|
1290
|
-
>,
|
1291
|
-
constraint_t<
|
1292
|
-
!is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
|
1293
|
-
>)
|
1294
|
-
-> decltype(
|
1295
|
-
async_initiate<ReadToken,
|
1296
|
-
void (boost::system::error_code, std::size_t)>(
|
1297
|
-
declval<detail::initiate_async_read_until_delim_string_v1<
|
1298
|
-
AsyncReadStream>>(),
|
1299
|
-
token, static_cast<DynamicBuffer_v1&&>(buffers),
|
1300
|
-
static_cast<std::string>(delim)))
|
1301
|
-
{
|
1302
|
-
return async_initiate<ReadToken,
|
1303
|
-
void (boost::system::error_code, std::size_t)>(
|
1304
|
-
detail::initiate_async_read_until_delim_string_v1<AsyncReadStream>(s),
|
1305
|
-
token, static_cast<DynamicBuffer_v1&&>(buffers),
|
1306
|
-
static_cast<std::string>(delim));
|
1307
|
-
}
|
1308
|
-
|
1309
1260
|
#if !defined(BOOST_ASIO_NO_EXTENSIONS)
|
1310
1261
|
#if defined(BOOST_ASIO_HAS_BOOST_REGEX)
|
1311
1262
|
|
@@ -1538,29 +1489,6 @@ struct associator<Associator,
|
|
1538
1489
|
|
1539
1490
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
1540
1491
|
|
1541
|
-
template <typename AsyncReadStream, typename DynamicBuffer_v1, typename Traits,
|
1542
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
1543
|
-
std::size_t)) ReadToken>
|
1544
|
-
inline auto async_read_until(AsyncReadStream& s, DynamicBuffer_v1&& buffers,
|
1545
|
-
const boost::basic_regex<char, Traits>& expr, ReadToken&& token,
|
1546
|
-
constraint_t<
|
1547
|
-
is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
|
1548
|
-
>,
|
1549
|
-
constraint_t<
|
1550
|
-
!is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
|
1551
|
-
>)
|
1552
|
-
-> decltype(
|
1553
|
-
async_initiate<ReadToken,
|
1554
|
-
void (boost::system::error_code, std::size_t)>(
|
1555
|
-
declval<detail::initiate_async_read_until_expr_v1<AsyncReadStream>>(),
|
1556
|
-
token, static_cast<DynamicBuffer_v1&&>(buffers), expr))
|
1557
|
-
{
|
1558
|
-
return async_initiate<ReadToken,
|
1559
|
-
void (boost::system::error_code, std::size_t)>(
|
1560
|
-
detail::initiate_async_read_until_expr_v1<AsyncReadStream>(s),
|
1561
|
-
token, static_cast<DynamicBuffer_v1&&>(buffers), expr);
|
1562
|
-
}
|
1563
|
-
|
1564
1492
|
#endif // defined(BOOST_ASIO_HAS_BOOST_REGEX)
|
1565
1493
|
|
1566
1494
|
namespace detail
|
@@ -1791,117 +1719,6 @@ struct associator<Associator,
|
|
1791
1719
|
|
1792
1720
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
1793
1721
|
|
1794
|
-
template <typename AsyncReadStream,
|
1795
|
-
typename DynamicBuffer_v1, typename MatchCondition,
|
1796
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
1797
|
-
std::size_t)) ReadToken>
|
1798
|
-
inline auto async_read_until(AsyncReadStream& s, DynamicBuffer_v1&& buffers,
|
1799
|
-
MatchCondition match_condition, ReadToken&& token,
|
1800
|
-
constraint_t<
|
1801
|
-
is_match_condition<MatchCondition>::value
|
1802
|
-
>,
|
1803
|
-
constraint_t<
|
1804
|
-
is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
|
1805
|
-
>,
|
1806
|
-
constraint_t<
|
1807
|
-
!is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
|
1808
|
-
>)
|
1809
|
-
-> decltype(
|
1810
|
-
async_initiate<ReadToken,
|
1811
|
-
void (boost::system::error_code, std::size_t)>(
|
1812
|
-
declval<detail::initiate_async_read_until_match_v1<AsyncReadStream>>(),
|
1813
|
-
token, static_cast<DynamicBuffer_v1&&>(buffers),
|
1814
|
-
match_condition))
|
1815
|
-
{
|
1816
|
-
return async_initiate<ReadToken,
|
1817
|
-
void (boost::system::error_code, std::size_t)>(
|
1818
|
-
detail::initiate_async_read_until_match_v1<AsyncReadStream>(s),
|
1819
|
-
token, static_cast<DynamicBuffer_v1&&>(buffers),
|
1820
|
-
match_condition);
|
1821
|
-
}
|
1822
|
-
|
1823
|
-
#if !defined(BOOST_ASIO_NO_IOSTREAM)
|
1824
|
-
|
1825
|
-
template <typename AsyncReadStream, typename Allocator,
|
1826
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
1827
|
-
std::size_t)) ReadToken>
|
1828
|
-
inline auto async_read_until(AsyncReadStream& s,
|
1829
|
-
boost::asio::basic_streambuf<Allocator>& b, char delim, ReadToken&& token)
|
1830
|
-
-> decltype(
|
1831
|
-
async_initiate<ReadToken,
|
1832
|
-
void (boost::system::error_code, std::size_t)>(
|
1833
|
-
declval<detail::initiate_async_read_until_delim_v1<AsyncReadStream>>(),
|
1834
|
-
token, basic_streambuf_ref<Allocator>(b), delim))
|
1835
|
-
{
|
1836
|
-
return async_initiate<ReadToken,
|
1837
|
-
void (boost::system::error_code, std::size_t)>(
|
1838
|
-
detail::initiate_async_read_until_delim_v1<AsyncReadStream>(s),
|
1839
|
-
token, basic_streambuf_ref<Allocator>(b), delim);
|
1840
|
-
}
|
1841
|
-
|
1842
|
-
template <typename AsyncReadStream, typename Allocator,
|
1843
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
1844
|
-
std::size_t)) ReadToken>
|
1845
|
-
inline auto async_read_until(AsyncReadStream& s,
|
1846
|
-
boost::asio::basic_streambuf<Allocator>& b,
|
1847
|
-
BOOST_ASIO_STRING_VIEW_PARAM delim, ReadToken&& token)
|
1848
|
-
-> decltype(
|
1849
|
-
async_initiate<ReadToken,
|
1850
|
-
void (boost::system::error_code, std::size_t)>(
|
1851
|
-
declval<detail::initiate_async_read_until_delim_string_v1<
|
1852
|
-
AsyncReadStream>>(),
|
1853
|
-
token, basic_streambuf_ref<Allocator>(b),
|
1854
|
-
static_cast<std::string>(delim)))
|
1855
|
-
{
|
1856
|
-
return async_initiate<ReadToken,
|
1857
|
-
void (boost::system::error_code, std::size_t)>(
|
1858
|
-
detail::initiate_async_read_until_delim_string_v1<AsyncReadStream>(s),
|
1859
|
-
token, basic_streambuf_ref<Allocator>(b),
|
1860
|
-
static_cast<std::string>(delim));
|
1861
|
-
}
|
1862
|
-
|
1863
|
-
#if defined(BOOST_ASIO_HAS_BOOST_REGEX)
|
1864
|
-
|
1865
|
-
template <typename AsyncReadStream, typename Allocator, typename Traits,
|
1866
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
1867
|
-
std::size_t)) ReadToken>
|
1868
|
-
inline auto async_read_until(AsyncReadStream& s,
|
1869
|
-
boost::asio::basic_streambuf<Allocator>& b,
|
1870
|
-
const boost::basic_regex<char, Traits>& expr, ReadToken&& token)
|
1871
|
-
-> decltype(
|
1872
|
-
async_initiate<ReadToken,
|
1873
|
-
void (boost::system::error_code, std::size_t)>(
|
1874
|
-
declval<detail::initiate_async_read_until_expr_v1<AsyncReadStream>>(),
|
1875
|
-
token, basic_streambuf_ref<Allocator>(b), expr))
|
1876
|
-
{
|
1877
|
-
return async_initiate<ReadToken,
|
1878
|
-
void (boost::system::error_code, std::size_t)>(
|
1879
|
-
detail::initiate_async_read_until_expr_v1<AsyncReadStream>(s),
|
1880
|
-
token, basic_streambuf_ref<Allocator>(b), expr);
|
1881
|
-
}
|
1882
|
-
|
1883
|
-
#endif // defined(BOOST_ASIO_HAS_BOOST_REGEX)
|
1884
|
-
|
1885
|
-
template <typename AsyncReadStream, typename Allocator, typename MatchCondition,
|
1886
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
1887
|
-
std::size_t)) ReadToken>
|
1888
|
-
inline auto async_read_until(AsyncReadStream& s,
|
1889
|
-
boost::asio::basic_streambuf<Allocator>& b,
|
1890
|
-
MatchCondition match_condition, ReadToken&& token,
|
1891
|
-
constraint_t<is_match_condition<MatchCondition>::value>)
|
1892
|
-
-> decltype(
|
1893
|
-
async_initiate<ReadToken,
|
1894
|
-
void (boost::system::error_code, std::size_t)>(
|
1895
|
-
declval<detail::initiate_async_read_until_match_v1<AsyncReadStream>>(),
|
1896
|
-
token, basic_streambuf_ref<Allocator>(b), match_condition))
|
1897
|
-
{
|
1898
|
-
return async_initiate<ReadToken,
|
1899
|
-
void (boost::system::error_code, std::size_t)>(
|
1900
|
-
detail::initiate_async_read_until_match_v1<AsyncReadStream>(s),
|
1901
|
-
token, basic_streambuf_ref<Allocator>(b), match_condition);
|
1902
|
-
}
|
1903
|
-
|
1904
|
-
#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
|
1905
1722
|
#endif // !defined(BOOST_ASIO_NO_EXTENSIONS)
|
1906
1723
|
#endif // !defined(BOOST_ASIO_NO_DYNAMIC_BUFFER_V1)
|
1907
1724
|
|
@@ -2129,26 +1946,6 @@ struct associator<Associator,
|
|
2129
1946
|
|
2130
1947
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
2131
1948
|
|
2132
|
-
template <typename AsyncReadStream, typename DynamicBuffer_v2,
|
2133
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
2134
|
-
std::size_t)) ReadToken>
|
2135
|
-
inline auto async_read_until(AsyncReadStream& s,
|
2136
|
-
DynamicBuffer_v2 buffers, char delim, ReadToken&& token,
|
2137
|
-
constraint_t<
|
2138
|
-
is_dynamic_buffer_v2<DynamicBuffer_v2>::value
|
2139
|
-
>)
|
2140
|
-
-> decltype(
|
2141
|
-
async_initiate<ReadToken,
|
2142
|
-
void (boost::system::error_code, std::size_t)>(
|
2143
|
-
declval<detail::initiate_async_read_until_delim_v2<AsyncReadStream>>(),
|
2144
|
-
token, static_cast<DynamicBuffer_v2&&>(buffers), delim))
|
2145
|
-
{
|
2146
|
-
return async_initiate<ReadToken,
|
2147
|
-
void (boost::system::error_code, std::size_t)>(
|
2148
|
-
detail::initiate_async_read_until_delim_v2<AsyncReadStream>(s),
|
2149
|
-
token, static_cast<DynamicBuffer_v2&&>(buffers), delim);
|
2150
|
-
}
|
2151
|
-
|
2152
1949
|
namespace detail
|
2153
1950
|
{
|
2154
1951
|
template <typename AsyncReadStream,
|
@@ -2385,30 +2182,6 @@ struct associator<Associator,
|
|
2385
2182
|
|
2386
2183
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
2387
2184
|
|
2388
|
-
template <typename AsyncReadStream,
|
2389
|
-
typename DynamicBuffer_v2,
|
2390
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
2391
|
-
std::size_t)) ReadToken>
|
2392
|
-
inline auto async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
|
2393
|
-
BOOST_ASIO_STRING_VIEW_PARAM delim, ReadToken&& token,
|
2394
|
-
constraint_t<
|
2395
|
-
is_dynamic_buffer_v2<DynamicBuffer_v2>::value
|
2396
|
-
>)
|
2397
|
-
-> decltype(
|
2398
|
-
async_initiate<ReadToken,
|
2399
|
-
void (boost::system::error_code, std::size_t)>(
|
2400
|
-
declval<detail::initiate_async_read_until_delim_string_v2<
|
2401
|
-
AsyncReadStream>>(),
|
2402
|
-
token, static_cast<DynamicBuffer_v2&&>(buffers),
|
2403
|
-
static_cast<std::string>(delim)))
|
2404
|
-
{
|
2405
|
-
return async_initiate<ReadToken,
|
2406
|
-
void (boost::system::error_code, std::size_t)>(
|
2407
|
-
detail::initiate_async_read_until_delim_string_v2<AsyncReadStream>(s),
|
2408
|
-
token, static_cast<DynamicBuffer_v2&&>(buffers),
|
2409
|
-
static_cast<std::string>(delim));
|
2410
|
-
}
|
2411
|
-
|
2412
2185
|
#if !defined(BOOST_ASIO_NO_EXTENSIONS)
|
2413
2186
|
#if defined(BOOST_ASIO_HAS_BOOST_REGEX)
|
2414
2187
|
|
@@ -2650,26 +2423,6 @@ struct associator<Associator,
|
|
2650
2423
|
|
2651
2424
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
2652
2425
|
|
2653
|
-
template <typename AsyncReadStream, typename DynamicBuffer_v2, typename Traits,
|
2654
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
2655
|
-
std::size_t)) ReadToken>
|
2656
|
-
inline auto async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
|
2657
|
-
const boost::basic_regex<char, Traits>& expr, ReadToken&& token,
|
2658
|
-
constraint_t<
|
2659
|
-
is_dynamic_buffer_v2<DynamicBuffer_v2>::value
|
2660
|
-
>)
|
2661
|
-
-> decltype(
|
2662
|
-
async_initiate<ReadToken,
|
2663
|
-
void (boost::system::error_code, std::size_t)>(
|
2664
|
-
declval<detail::initiate_async_read_until_expr_v2<AsyncReadStream>>(),
|
2665
|
-
token, static_cast<DynamicBuffer_v2&&>(buffers), expr))
|
2666
|
-
{
|
2667
|
-
return async_initiate<ReadToken,
|
2668
|
-
void (boost::system::error_code, std::size_t)>(
|
2669
|
-
detail::initiate_async_read_until_expr_v2<AsyncReadStream>(s),
|
2670
|
-
token, static_cast<DynamicBuffer_v2&&>(buffers), expr);
|
2671
|
-
}
|
2672
|
-
|
2673
2426
|
#endif // defined(BOOST_ASIO_HAS_BOOST_REGEX)
|
2674
2427
|
|
2675
2428
|
namespace detail
|
@@ -2907,32 +2660,6 @@ struct associator<Associator,
|
|
2907
2660
|
|
2908
2661
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
2909
2662
|
|
2910
|
-
template <typename AsyncReadStream,
|
2911
|
-
typename DynamicBuffer_v2, typename MatchCondition,
|
2912
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
2913
|
-
std::size_t)) ReadToken>
|
2914
|
-
inline auto async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
|
2915
|
-
MatchCondition match_condition, ReadToken&& token,
|
2916
|
-
constraint_t<
|
2917
|
-
is_match_condition<MatchCondition>::value
|
2918
|
-
>,
|
2919
|
-
constraint_t<
|
2920
|
-
is_dynamic_buffer_v2<DynamicBuffer_v2>::value
|
2921
|
-
>)
|
2922
|
-
-> decltype(
|
2923
|
-
async_initiate<ReadToken,
|
2924
|
-
void (boost::system::error_code, std::size_t)>(
|
2925
|
-
declval<detail::initiate_async_read_until_match_v2<AsyncReadStream>>(),
|
2926
|
-
token, static_cast<DynamicBuffer_v2&&>(buffers),
|
2927
|
-
match_condition))
|
2928
|
-
{
|
2929
|
-
return async_initiate<ReadToken,
|
2930
|
-
void (boost::system::error_code, std::size_t)>(
|
2931
|
-
detail::initiate_async_read_until_match_v2<AsyncReadStream>(s),
|
2932
|
-
token, static_cast<DynamicBuffer_v2&&>(buffers),
|
2933
|
-
match_condition);
|
2934
|
-
}
|
2935
|
-
|
2936
2663
|
#endif // !defined(BOOST_ASIO_NO_EXTENSIONS)
|
2937
2664
|
|
2938
2665
|
} // namespace asio
|
@@ -16,9 +16,11 @@
|
|
16
16
|
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
|
17
17
|
|
18
18
|
#include <boost/asio/detail/config.hpp>
|
19
|
+
#include <boost/asio/associated_executor.hpp>
|
19
20
|
#include <boost/asio/associator.hpp>
|
20
21
|
#include <boost/asio/async_result.hpp>
|
21
22
|
#include <boost/asio/detail/handler_cont_helpers.hpp>
|
23
|
+
#include <boost/asio/detail/initiation_base.hpp>
|
22
24
|
#include <boost/asio/detail/type_traits.hpp>
|
23
25
|
#include <boost/system/system_error.hpp>
|
24
26
|
|
@@ -183,42 +185,52 @@ struct async_result<redirect_error_t<CompletionToken>, Signature>
|
|
183
185
|
: async_result<CompletionToken,
|
184
186
|
typename detail::redirect_error_signature<Signature>::type>
|
185
187
|
{
|
186
|
-
|
187
|
-
struct init_wrapper
|
188
|
+
template <typename Initiation>
|
189
|
+
struct init_wrapper : detail::initiation_base<Initiation>
|
188
190
|
{
|
189
|
-
|
190
|
-
|
191
|
+
using detail::initiation_base<Initiation>::initiation_base;
|
192
|
+
|
193
|
+
template <typename Handler, typename... Args>
|
194
|
+
void operator()(Handler&& handler,
|
195
|
+
boost::system::error_code* ec, Args&&... args) &&
|
191
196
|
{
|
197
|
+
static_cast<Initiation&&>(*this)(
|
198
|
+
detail::redirect_error_handler<decay_t<Handler>>(
|
199
|
+
*ec, static_cast<Handler&&>(handler)),
|
200
|
+
static_cast<Args&&>(args)...);
|
192
201
|
}
|
193
202
|
|
194
|
-
template <typename Handler, typename
|
203
|
+
template <typename Handler, typename... Args>
|
195
204
|
void operator()(Handler&& handler,
|
196
|
-
|
205
|
+
boost::system::error_code* ec, Args&&... args) const &
|
197
206
|
{
|
198
|
-
static_cast<Initiation
|
207
|
+
static_cast<const Initiation&>(*this)(
|
199
208
|
detail::redirect_error_handler<decay_t<Handler>>(
|
200
|
-
|
209
|
+
*ec, static_cast<Handler&&>(handler)),
|
201
210
|
static_cast<Args&&>(args)...);
|
202
211
|
}
|
203
|
-
|
204
|
-
boost::system::error_code& ec_;
|
205
212
|
};
|
206
213
|
|
207
214
|
template <typename Initiation, typename RawCompletionToken, typename... Args>
|
208
215
|
static auto initiate(Initiation&& initiation,
|
209
216
|
RawCompletionToken&& token, Args&&... args)
|
210
217
|
-> decltype(
|
211
|
-
async_initiate<
|
218
|
+
async_initiate<
|
219
|
+
conditional_t<
|
220
|
+
is_const<remove_reference_t<RawCompletionToken>>::value,
|
221
|
+
const CompletionToken, CompletionToken>,
|
212
222
|
typename detail::redirect_error_signature<Signature>::type>(
|
213
|
-
declval<init_wrapper
|
214
|
-
static_cast<
|
215
|
-
static_cast<Args&&>(args)...))
|
223
|
+
declval<init_wrapper<decay_t<Initiation>>>(),
|
224
|
+
token.token_, &token.ec_, static_cast<Args&&>(args)...))
|
216
225
|
{
|
217
|
-
return async_initiate<
|
226
|
+
return async_initiate<
|
227
|
+
conditional_t<
|
228
|
+
is_const<remove_reference_t<RawCompletionToken>>::value,
|
229
|
+
const CompletionToken, CompletionToken>,
|
218
230
|
typename detail::redirect_error_signature<Signature>::type>(
|
219
|
-
init_wrapper(
|
220
|
-
|
221
|
-
static_cast<Args&&>(args)...);
|
231
|
+
init_wrapper<decay_t<Initiation>>(
|
232
|
+
static_cast<Initiation&&>(initiation)),
|
233
|
+
token.token_, &token.ec_, static_cast<Args&&>(args)...);
|
222
234
|
}
|
223
235
|
};
|
224
236
|
|
@@ -242,6 +254,31 @@ struct associator<Associator,
|
|
242
254
|
}
|
243
255
|
};
|
244
256
|
|
257
|
+
template <typename... Signatures>
|
258
|
+
struct async_result<partial_redirect_error, Signatures...>
|
259
|
+
{
|
260
|
+
template <typename Initiation, typename RawCompletionToken, typename... Args>
|
261
|
+
static auto initiate(Initiation&& initiation,
|
262
|
+
RawCompletionToken&& token, Args&&... args)
|
263
|
+
-> decltype(
|
264
|
+
async_initiate<Signatures...>(
|
265
|
+
static_cast<Initiation&&>(initiation),
|
266
|
+
redirect_error_t<
|
267
|
+
default_completion_token_t<associated_executor_t<Initiation>>>(
|
268
|
+
default_completion_token_t<associated_executor_t<Initiation>>{},
|
269
|
+
token.ec_),
|
270
|
+
static_cast<Args&&>(args)...))
|
271
|
+
{
|
272
|
+
return async_initiate<Signatures...>(
|
273
|
+
static_cast<Initiation&&>(initiation),
|
274
|
+
redirect_error_t<
|
275
|
+
default_completion_token_t<associated_executor_t<Initiation>>>(
|
276
|
+
default_completion_token_t<associated_executor_t<Initiation>>{},
|
277
|
+
token.ec_),
|
278
|
+
static_cast<Args&&>(args)...);
|
279
|
+
}
|
280
|
+
};
|
281
|
+
|
245
282
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
246
283
|
|
247
284
|
} // namespace asio
|
@@ -29,6 +29,7 @@
|
|
29
29
|
#include <boost/asio/detail/noncopyable.hpp>
|
30
30
|
#include <boost/asio/detail/type_traits.hpp>
|
31
31
|
#include <boost/asio/detail/utility.hpp>
|
32
|
+
#include <boost/asio/error.hpp>
|
32
33
|
#include <boost/system/system_error.hpp>
|
33
34
|
|
34
35
|
#if defined(BOOST_ASIO_HAS_BOOST_CONTEXT_FIBER)
|
@@ -976,7 +977,6 @@ private:
|
|
976
977
|
Executor ex_;
|
977
978
|
};
|
978
979
|
|
979
|
-
|
980
980
|
template <typename Handler, typename Executor>
|
981
981
|
class spawn_cancellation_handler<Handler, Executor,
|
982
982
|
enable_if_t<
|