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
@@ -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>
|