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
@@ -35,15 +35,6 @@ namespace asio {
|
|
35
35
|
|
36
36
|
namespace detail
|
37
37
|
{
|
38
|
-
struct default_connect_condition
|
39
|
-
{
|
40
|
-
template <typename Endpoint>
|
41
|
-
bool operator()(const boost::system::error_code&, const Endpoint&)
|
42
|
-
{
|
43
|
-
return true;
|
44
|
-
}
|
45
|
-
};
|
46
|
-
|
47
38
|
template <typename Protocol, typename Iterator>
|
48
39
|
inline typename Protocol::endpoint deref_connect_result(
|
49
40
|
Iterator iter, boost::system::error_code& ec)
|
@@ -51,38 +42,15 @@ namespace detail
|
|
51
42
|
return ec ? typename Protocol::endpoint() : *iter;
|
52
43
|
}
|
53
44
|
|
54
|
-
template <typename T, typename Iterator>
|
55
|
-
struct legacy_connect_condition_helper : T
|
56
|
-
{
|
57
|
-
typedef char (*fallback_func_type)(...);
|
58
|
-
operator fallback_func_type() const;
|
59
|
-
};
|
60
|
-
|
61
|
-
template <typename R, typename Arg1, typename Arg2, typename Iterator>
|
62
|
-
struct legacy_connect_condition_helper<R (*)(Arg1, Arg2), Iterator>
|
63
|
-
{
|
64
|
-
R operator()(Arg1, Arg2) const;
|
65
|
-
char operator()(...) const;
|
66
|
-
};
|
67
|
-
|
68
|
-
template <typename T, typename Iterator>
|
69
|
-
struct is_legacy_connect_condition
|
70
|
-
{
|
71
|
-
static char asio_connect_condition_check(char);
|
72
|
-
static char (&asio_connect_condition_check(Iterator))[2];
|
73
|
-
|
74
|
-
static const bool value =
|
75
|
-
sizeof(asio_connect_condition_check(
|
76
|
-
(declval<legacy_connect_condition_helper<T, Iterator>>())(
|
77
|
-
declval<const boost::system::error_code>(),
|
78
|
-
declval<const Iterator>()))) != 1;
|
79
|
-
};
|
80
|
-
|
81
45
|
template <typename ConnectCondition, typename Iterator>
|
82
46
|
inline Iterator call_connect_condition(ConnectCondition& connect_condition,
|
83
47
|
const boost::system::error_code& ec, Iterator next, Iterator end,
|
84
|
-
|
85
|
-
|
48
|
+
constraint_t<
|
49
|
+
is_same<
|
50
|
+
result_of_t<ConnectCondition(boost::system::error_code, Iterator)>,
|
51
|
+
Iterator
|
52
|
+
>::value
|
53
|
+
> = 0)
|
86
54
|
{
|
87
55
|
if (next != end)
|
88
56
|
return connect_condition(ec, next);
|
@@ -92,20 +60,27 @@ namespace detail
|
|
92
60
|
template <typename ConnectCondition, typename Iterator>
|
93
61
|
inline Iterator call_connect_condition(ConnectCondition& connect_condition,
|
94
62
|
const boost::system::error_code& ec, Iterator next, Iterator end,
|
95
|
-
|
96
|
-
|
63
|
+
constraint_t<
|
64
|
+
is_same<
|
65
|
+
result_of_t<ConnectCondition(boost::system::error_code,
|
66
|
+
decltype(*declval<Iterator>()))>,
|
67
|
+
bool
|
68
|
+
>::value
|
69
|
+
> = 0)
|
97
70
|
{
|
98
71
|
for (;next != end; ++next)
|
99
72
|
if (connect_condition(ec, *next))
|
100
73
|
return next;
|
101
74
|
return end;
|
102
75
|
}
|
103
|
-
}
|
76
|
+
} // namespace detail
|
104
77
|
|
105
78
|
template <typename Protocol, typename Executor, typename EndpointSequence>
|
106
79
|
typename Protocol::endpoint connect(basic_socket<Protocol, Executor>& s,
|
107
80
|
const EndpointSequence& endpoints,
|
108
|
-
constraint_t<
|
81
|
+
constraint_t<
|
82
|
+
is_endpoint_sequence<EndpointSequence>::value
|
83
|
+
>)
|
109
84
|
{
|
110
85
|
boost::system::error_code ec;
|
111
86
|
typename Protocol::endpoint result = connect(s, endpoints, ec);
|
@@ -116,7 +91,9 @@ typename Protocol::endpoint connect(basic_socket<Protocol, Executor>& s,
|
|
116
91
|
template <typename Protocol, typename Executor, typename EndpointSequence>
|
117
92
|
typename Protocol::endpoint connect(basic_socket<Protocol, Executor>& s,
|
118
93
|
const EndpointSequence& endpoints, boost::system::error_code& ec,
|
119
|
-
constraint_t<
|
94
|
+
constraint_t<
|
95
|
+
is_endpoint_sequence<EndpointSequence>::value
|
96
|
+
>)
|
120
97
|
{
|
121
98
|
return detail::deref_connect_result<Protocol>(
|
122
99
|
connect(s, endpoints.begin(), endpoints.end(),
|
@@ -126,7 +103,9 @@ typename Protocol::endpoint connect(basic_socket<Protocol, Executor>& s,
|
|
126
103
|
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
127
104
|
template <typename Protocol, typename Executor, typename Iterator>
|
128
105
|
Iterator connect(basic_socket<Protocol, Executor>& s, Iterator begin,
|
129
|
-
constraint_t
|
106
|
+
constraint_t<
|
107
|
+
!is_endpoint_sequence<Iterator>::value
|
108
|
+
>)
|
130
109
|
{
|
131
110
|
boost::system::error_code ec;
|
132
111
|
Iterator result = connect(s, begin, ec);
|
@@ -137,7 +116,9 @@ Iterator connect(basic_socket<Protocol, Executor>& s, Iterator begin,
|
|
137
116
|
template <typename Protocol, typename Executor, typename Iterator>
|
138
117
|
inline Iterator connect(basic_socket<Protocol, Executor>& s,
|
139
118
|
Iterator begin, boost::system::error_code& ec,
|
140
|
-
constraint_t
|
119
|
+
constraint_t<
|
120
|
+
!is_endpoint_sequence<Iterator>::value
|
121
|
+
>)
|
141
122
|
{
|
142
123
|
return connect(s, begin, Iterator(), detail::default_connect_condition(), ec);
|
143
124
|
}
|
@@ -164,7 +145,13 @@ template <typename Protocol, typename Executor,
|
|
164
145
|
typename EndpointSequence, typename ConnectCondition>
|
165
146
|
typename Protocol::endpoint connect(basic_socket<Protocol, Executor>& s,
|
166
147
|
const EndpointSequence& endpoints, ConnectCondition connect_condition,
|
167
|
-
constraint_t<
|
148
|
+
constraint_t<
|
149
|
+
is_endpoint_sequence<EndpointSequence>::value
|
150
|
+
>,
|
151
|
+
constraint_t<
|
152
|
+
is_connect_condition<ConnectCondition,
|
153
|
+
decltype(declval<const EndpointSequence&>().begin())>::value
|
154
|
+
>)
|
168
155
|
{
|
169
156
|
boost::system::error_code ec;
|
170
157
|
typename Protocol::endpoint result = connect(
|
@@ -178,7 +165,13 @@ template <typename Protocol, typename Executor,
|
|
178
165
|
typename Protocol::endpoint connect(basic_socket<Protocol, Executor>& s,
|
179
166
|
const EndpointSequence& endpoints, ConnectCondition connect_condition,
|
180
167
|
boost::system::error_code& ec,
|
181
|
-
constraint_t<
|
168
|
+
constraint_t<
|
169
|
+
is_endpoint_sequence<EndpointSequence>::value
|
170
|
+
>,
|
171
|
+
constraint_t<
|
172
|
+
is_connect_condition<ConnectCondition,
|
173
|
+
decltype(declval<const EndpointSequence&>().begin())>::value
|
174
|
+
>)
|
182
175
|
{
|
183
176
|
return detail::deref_connect_result<Protocol>(
|
184
177
|
connect(s, endpoints.begin(), endpoints.end(),
|
@@ -190,7 +183,12 @@ template <typename Protocol, typename Executor,
|
|
190
183
|
typename Iterator, typename ConnectCondition>
|
191
184
|
Iterator connect(basic_socket<Protocol, Executor>& s,
|
192
185
|
Iterator begin, ConnectCondition connect_condition,
|
193
|
-
constraint_t
|
186
|
+
constraint_t<
|
187
|
+
!is_endpoint_sequence<Iterator>::value
|
188
|
+
>,
|
189
|
+
constraint_t<
|
190
|
+
is_connect_condition<ConnectCondition, Iterator>::value
|
191
|
+
>)
|
194
192
|
{
|
195
193
|
boost::system::error_code ec;
|
196
194
|
Iterator result = connect(s, begin, connect_condition, ec);
|
@@ -203,7 +201,12 @@ template <typename Protocol, typename Executor,
|
|
203
201
|
inline Iterator connect(basic_socket<Protocol, Executor>& s,
|
204
202
|
Iterator begin, ConnectCondition connect_condition,
|
205
203
|
boost::system::error_code& ec,
|
206
|
-
constraint_t
|
204
|
+
constraint_t<
|
205
|
+
!is_endpoint_sequence<Iterator>::value
|
206
|
+
>,
|
207
|
+
constraint_t<
|
208
|
+
is_connect_condition<ConnectCondition, Iterator>::value
|
209
|
+
>)
|
207
210
|
{
|
208
211
|
return connect(s, begin, Iterator(), connect_condition, ec);
|
209
212
|
}
|
@@ -212,7 +215,10 @@ inline Iterator connect(basic_socket<Protocol, Executor>& s,
|
|
212
215
|
template <typename Protocol, typename Executor,
|
213
216
|
typename Iterator, typename ConnectCondition>
|
214
217
|
Iterator connect(basic_socket<Protocol, Executor>& s, Iterator begin,
|
215
|
-
Iterator end, ConnectCondition connect_condition
|
218
|
+
Iterator end, ConnectCondition connect_condition,
|
219
|
+
constraint_t<
|
220
|
+
is_connect_condition<ConnectCondition, Iterator>::value
|
221
|
+
>)
|
216
222
|
{
|
217
223
|
boost::system::error_code ec;
|
218
224
|
Iterator result = connect(s, begin, end, connect_condition, ec);
|
@@ -224,7 +230,10 @@ template <typename Protocol, typename Executor,
|
|
224
230
|
typename Iterator, typename ConnectCondition>
|
225
231
|
Iterator connect(basic_socket<Protocol, Executor>& s, Iterator begin,
|
226
232
|
Iterator end, ConnectCondition connect_condition,
|
227
|
-
boost::system::error_code& ec
|
233
|
+
boost::system::error_code& ec,
|
234
|
+
constraint_t<
|
235
|
+
is_connect_condition<ConnectCondition, Iterator>::value
|
236
|
+
>)
|
228
237
|
{
|
229
238
|
ec = boost::system::error_code();
|
230
239
|
|
@@ -688,121 +697,6 @@ struct associator<Associator,
|
|
688
697
|
|
689
698
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
690
699
|
|
691
|
-
template <typename Protocol, typename Executor, typename EndpointSequence,
|
692
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
693
|
-
typename Protocol::endpoint)) RangeConnectToken>
|
694
|
-
inline auto async_connect(basic_socket<Protocol, Executor>& s,
|
695
|
-
const EndpointSequence& endpoints, RangeConnectToken&& token,
|
696
|
-
constraint_t<is_endpoint_sequence<EndpointSequence>::value>)
|
697
|
-
-> decltype(
|
698
|
-
async_initiate<RangeConnectToken,
|
699
|
-
void (boost::system::error_code, typename Protocol::endpoint)>(
|
700
|
-
declval<detail::initiate_async_range_connect<Protocol, Executor>>(),
|
701
|
-
token, endpoints, declval<detail::default_connect_condition>()))
|
702
|
-
{
|
703
|
-
return async_initiate<RangeConnectToken,
|
704
|
-
void (boost::system::error_code, typename Protocol::endpoint)>(
|
705
|
-
detail::initiate_async_range_connect<Protocol, Executor>(s),
|
706
|
-
token, endpoints, detail::default_connect_condition());
|
707
|
-
}
|
708
|
-
|
709
|
-
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
710
|
-
template <typename Protocol, typename Executor, typename Iterator,
|
711
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
712
|
-
Iterator)) IteratorConnectToken>
|
713
|
-
inline auto async_connect(basic_socket<Protocol, Executor>& s,
|
714
|
-
Iterator begin, IteratorConnectToken&& token,
|
715
|
-
constraint_t<!is_endpoint_sequence<Iterator>::value>)
|
716
|
-
-> decltype(
|
717
|
-
async_initiate<IteratorConnectToken,
|
718
|
-
void (boost::system::error_code, Iterator)>(
|
719
|
-
declval<detail::initiate_async_iterator_connect<Protocol, Executor>>(),
|
720
|
-
token, begin, Iterator(), declval<detail::default_connect_condition>()))
|
721
|
-
{
|
722
|
-
return async_initiate<IteratorConnectToken,
|
723
|
-
void (boost::system::error_code, Iterator)>(
|
724
|
-
detail::initiate_async_iterator_connect<Protocol, Executor>(s),
|
725
|
-
token, begin, Iterator(), detail::default_connect_condition());
|
726
|
-
}
|
727
|
-
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
728
|
-
|
729
|
-
template <typename Protocol, typename Executor, typename Iterator,
|
730
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
731
|
-
Iterator)) IteratorConnectToken>
|
732
|
-
inline auto async_connect(basic_socket<Protocol, Executor>& s,
|
733
|
-
Iterator begin, Iterator end, IteratorConnectToken&& token)
|
734
|
-
-> decltype(
|
735
|
-
async_initiate<IteratorConnectToken,
|
736
|
-
void (boost::system::error_code, Iterator)>(
|
737
|
-
declval<detail::initiate_async_iterator_connect<Protocol, Executor>>(),
|
738
|
-
token, begin, end, declval<detail::default_connect_condition>()))
|
739
|
-
{
|
740
|
-
return async_initiate<IteratorConnectToken,
|
741
|
-
void (boost::system::error_code, Iterator)>(
|
742
|
-
detail::initiate_async_iterator_connect<Protocol, Executor>(s),
|
743
|
-
token, begin, end, detail::default_connect_condition());
|
744
|
-
}
|
745
|
-
|
746
|
-
template <typename Protocol, typename Executor,
|
747
|
-
typename EndpointSequence, typename ConnectCondition,
|
748
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
749
|
-
typename Protocol::endpoint)) RangeConnectToken>
|
750
|
-
inline auto async_connect(basic_socket<Protocol, Executor>& s,
|
751
|
-
const EndpointSequence& endpoints, ConnectCondition connect_condition,
|
752
|
-
RangeConnectToken&& token,
|
753
|
-
constraint_t<is_endpoint_sequence<EndpointSequence>::value>)
|
754
|
-
-> decltype(
|
755
|
-
async_initiate<RangeConnectToken,
|
756
|
-
void (boost::system::error_code, typename Protocol::endpoint)>(
|
757
|
-
declval<detail::initiate_async_range_connect<Protocol, Executor>>(),
|
758
|
-
token, endpoints, connect_condition))
|
759
|
-
{
|
760
|
-
return async_initiate<RangeConnectToken,
|
761
|
-
void (boost::system::error_code, typename Protocol::endpoint)>(
|
762
|
-
detail::initiate_async_range_connect<Protocol, Executor>(s),
|
763
|
-
token, endpoints, connect_condition);
|
764
|
-
}
|
765
|
-
|
766
|
-
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
767
|
-
template <typename Protocol, typename Executor,
|
768
|
-
typename Iterator, typename ConnectCondition,
|
769
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
770
|
-
Iterator)) IteratorConnectToken>
|
771
|
-
inline auto async_connect(basic_socket<Protocol, Executor>& s, Iterator begin,
|
772
|
-
ConnectCondition connect_condition, IteratorConnectToken&& token,
|
773
|
-
constraint_t<!is_endpoint_sequence<Iterator>::value>)
|
774
|
-
-> decltype(
|
775
|
-
async_initiate<IteratorConnectToken,
|
776
|
-
void (boost::system::error_code, Iterator)>(
|
777
|
-
declval<detail::initiate_async_iterator_connect<Protocol, Executor>>(),
|
778
|
-
token, begin, Iterator(), connect_condition))
|
779
|
-
{
|
780
|
-
return async_initiate<IteratorConnectToken,
|
781
|
-
void (boost::system::error_code, Iterator)>(
|
782
|
-
detail::initiate_async_iterator_connect<Protocol, Executor>(s),
|
783
|
-
token, begin, Iterator(), connect_condition);
|
784
|
-
}
|
785
|
-
#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
|
786
|
-
|
787
|
-
template <typename Protocol, typename Executor,
|
788
|
-
typename Iterator, typename ConnectCondition,
|
789
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
790
|
-
Iterator)) IteratorConnectToken>
|
791
|
-
inline auto async_connect(basic_socket<Protocol, Executor>& s,
|
792
|
-
Iterator begin, Iterator end, ConnectCondition connect_condition,
|
793
|
-
IteratorConnectToken&& token)
|
794
|
-
-> decltype(
|
795
|
-
async_initiate<IteratorConnectToken,
|
796
|
-
void (boost::system::error_code, Iterator)>(
|
797
|
-
declval<detail::initiate_async_iterator_connect<Protocol, Executor>>(),
|
798
|
-
token, begin, end, connect_condition))
|
799
|
-
{
|
800
|
-
return async_initiate<IteratorConnectToken,
|
801
|
-
void (boost::system::error_code, Iterator)>(
|
802
|
-
detail::initiate_async_iterator_connect<Protocol, Executor>(s),
|
803
|
-
token, begin, end, connect_condition);
|
804
|
-
}
|
805
|
-
|
806
700
|
} // namespace asio
|
807
701
|
} // namespace boost
|
808
702
|
|
@@ -19,6 +19,7 @@
|
|
19
19
|
#include <boost/asio/associator.hpp>
|
20
20
|
#include <boost/asio/async_result.hpp>
|
21
21
|
#include <boost/asio/detail/handler_cont_helpers.hpp>
|
22
|
+
#include <boost/asio/detail/initiation_base.hpp>
|
22
23
|
#include <boost/asio/detail/type_traits.hpp>
|
23
24
|
#include <boost/asio/detail/utility.hpp>
|
24
25
|
|
@@ -70,25 +71,31 @@ struct async_result<consign_t<CompletionToken, Values...>, Signatures...>
|
|
70
71
|
: async_result<CompletionToken, Signatures...>
|
71
72
|
{
|
72
73
|
template <typename Initiation>
|
73
|
-
struct init_wrapper
|
74
|
+
struct init_wrapper : detail::initiation_base<Initiation>
|
74
75
|
{
|
75
|
-
|
76
|
-
|
76
|
+
using detail::initiation_base<Initiation>::initiation_base;
|
77
|
+
|
78
|
+
template <typename Handler, typename... Args>
|
79
|
+
void operator()(Handler&& handler,
|
80
|
+
std::tuple<Values...> values, Args&&... args) &&
|
77
81
|
{
|
82
|
+
static_cast<Initiation&&>(*this)(
|
83
|
+
detail::consign_handler<decay_t<Handler>, Values...>(
|
84
|
+
static_cast<Handler&&>(handler),
|
85
|
+
static_cast<std::tuple<Values...>&&>(values)),
|
86
|
+
static_cast<Args&&>(args)...);
|
78
87
|
}
|
79
88
|
|
80
89
|
template <typename Handler, typename... Args>
|
81
90
|
void operator()(Handler&& handler,
|
82
|
-
std::tuple<Values...> values, Args&&... args)
|
91
|
+
std::tuple<Values...> values, Args&&... args) const &
|
83
92
|
{
|
84
|
-
static_cast<Initiation
|
93
|
+
static_cast<const Initiation&>(*this)(
|
85
94
|
detail::consign_handler<decay_t<Handler>, Values...>(
|
86
95
|
static_cast<Handler&&>(handler),
|
87
96
|
static_cast<std::tuple<Values...>&&>(values)),
|
88
97
|
static_cast<Args&&>(args)...);
|
89
98
|
}
|
90
|
-
|
91
|
-
Initiation initiation_;
|
92
99
|
};
|
93
100
|
|
94
101
|
template <typename Initiation, typename RawCompletionToken, typename... Args>
|
@@ -44,8 +44,8 @@ namespace detail {
|
|
44
44
|
|
45
45
|
#if !defined(GENERATING_DOCUMENTATION)
|
46
46
|
|
47
|
-
template <typename
|
48
|
-
struct async_result<detached_t,
|
47
|
+
template <typename... Signatures>
|
48
|
+
struct async_result<detached_t, Signatures...>
|
49
49
|
{
|
50
50
|
typedef boost::asio::detail::detached_handler completion_handler_type;
|
51
51
|
|
@@ -19,6 +19,7 @@
|
|
19
19
|
#include <boost/asio/associator.hpp>
|
20
20
|
#include <boost/asio/async_result.hpp>
|
21
21
|
#include <boost/asio/detail/handler_cont_helpers.hpp>
|
22
|
+
#include <boost/asio/detail/initiation_base.hpp>
|
22
23
|
#include <boost/asio/detail/type_traits.hpp>
|
23
24
|
#include <boost/asio/detail/utility.hpp>
|
24
25
|
|
@@ -95,25 +96,31 @@ struct async_result<
|
|
95
96
|
Signature, Values...>::type signature;
|
96
97
|
|
97
98
|
template <typename Initiation>
|
98
|
-
struct init_wrapper
|
99
|
+
struct init_wrapper : detail::initiation_base<Initiation>
|
99
100
|
{
|
100
|
-
|
101
|
-
|
101
|
+
using detail::initiation_base<Initiation>::initiation_base;
|
102
|
+
|
103
|
+
template <typename Handler, typename... Args>
|
104
|
+
void operator()(Handler&& handler,
|
105
|
+
std::tuple<Values...> values, Args&&... args) &&
|
102
106
|
{
|
107
|
+
static_cast<Initiation&&>(*this)(
|
108
|
+
detail::prepend_handler<decay_t<Handler>, Values...>(
|
109
|
+
static_cast<Handler&&>(handler),
|
110
|
+
static_cast<std::tuple<Values...>&&>(values)),
|
111
|
+
static_cast<Args&&>(args)...);
|
103
112
|
}
|
104
113
|
|
105
114
|
template <typename Handler, typename... Args>
|
106
115
|
void operator()(Handler&& handler,
|
107
|
-
std::tuple<Values...> values, Args&&... args)
|
116
|
+
std::tuple<Values...> values, Args&&... args) const &
|
108
117
|
{
|
109
|
-
static_cast<Initiation
|
118
|
+
static_cast<const Initiation&>(*this)(
|
110
119
|
detail::prepend_handler<decay_t<Handler>, Values...>(
|
111
120
|
static_cast<Handler&&>(handler),
|
112
121
|
static_cast<std::tuple<Values...>&&>(values)),
|
113
122
|
static_cast<Args&&>(args)...);
|
114
123
|
}
|
115
|
-
|
116
|
-
Initiation initiation_;
|
117
124
|
};
|
118
125
|
|
119
126
|
template <typename Initiation, typename RawCompletionToken, typename... Args>
|