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
@@ -545,7 +545,7 @@ const T tracked_t<I>::static_query_v;
|
|
545
545
|
|
546
546
|
typedef detail::outstanding_work_t<> outstanding_work_t;
|
547
547
|
|
548
|
-
constexpr outstanding_work_t outstanding_work;
|
548
|
+
BOOST_ASIO_INLINE_VARIABLE constexpr outstanding_work_t outstanding_work;
|
549
549
|
|
550
550
|
} // namespace execution
|
551
551
|
|
@@ -543,7 +543,7 @@ const T continuation_t<I>::static_query_v;
|
|
543
543
|
|
544
544
|
typedef detail::relationship_t<> relationship_t;
|
545
545
|
|
546
|
-
constexpr relationship_t relationship;
|
546
|
+
BOOST_ASIO_INLINE_VARIABLE constexpr relationship_t relationship;
|
547
547
|
|
548
548
|
} // namespace execution
|
549
549
|
|
@@ -111,7 +111,8 @@ private:
|
|
111
111
|
|
112
112
|
template <typename... PayloadSignatures,
|
113
113
|
BOOST_ASIO_COMPLETION_TOKEN_FOR(PayloadSignatures...) CompletionToken>
|
114
|
-
auto do_async_receive(
|
114
|
+
auto do_async_receive(
|
115
|
+
boost::asio::detail::completion_payload<PayloadSignatures...>*,
|
115
116
|
CompletionToken&& token)
|
116
117
|
-> decltype(
|
117
118
|
async_initiate<CompletionToken, PayloadSignatures...>(
|
data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp
CHANGED
@@ -111,7 +111,8 @@ private:
|
|
111
111
|
|
112
112
|
template <typename... PayloadSignatures,
|
113
113
|
BOOST_ASIO_COMPLETION_TOKEN_FOR(PayloadSignatures...) CompletionToken>
|
114
|
-
auto do_async_receive(
|
114
|
+
auto do_async_receive(
|
115
|
+
boost::asio::detail::completion_payload<PayloadSignatures...>*,
|
115
116
|
CompletionToken&& token)
|
116
117
|
-> decltype(
|
117
118
|
async_initiate<CompletionToken, PayloadSignatures...>(
|
@@ -16,7 +16,7 @@
|
|
16
16
|
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
|
17
17
|
|
18
18
|
#include <boost/asio/detail/config.hpp>
|
19
|
-
#include <boost/asio/
|
19
|
+
#include <boost/asio/co_composed.hpp>
|
20
20
|
|
21
21
|
#include <boost/asio/detail/push_options.hpp>
|
22
22
|
|
@@ -24,117 +24,7 @@ namespace boost {
|
|
24
24
|
namespace asio {
|
25
25
|
namespace experimental {
|
26
26
|
|
27
|
-
|
28
|
-
/// coroutine-based composed asynchronous operation.
|
29
|
-
/**
|
30
|
-
* The experimental::co_composed utility simplifies the implementation of
|
31
|
-
* composed asynchronous operations by automatically adapting a coroutine to be
|
32
|
-
* an initiation function object for use with @c async_initiate. When awaiting
|
33
|
-
* asynchronous operations, the coroutine automatically uses a conforming
|
34
|
-
* intermediate completion handler.
|
35
|
-
*
|
36
|
-
* @param implementation A function object that contains the coroutine-based
|
37
|
-
* implementation of the composed asynchronous operation. The first argument to
|
38
|
-
* the function object represents the state of the operation, and may be used
|
39
|
-
* to test for cancellation. The remaining arguments are those passed to @c
|
40
|
-
* async_initiate after the completion token.
|
41
|
-
*
|
42
|
-
* @param io_objects_or_executors Zero or more I/O objects or I/O executors for
|
43
|
-
* which outstanding work must be maintained while the operation is incomplete.
|
44
|
-
*
|
45
|
-
* @par Per-Operation Cancellation
|
46
|
-
* By default, terminal per-operation cancellation is enabled for composed
|
47
|
-
* operations that use experimental::co_composed. To disable cancellation for
|
48
|
-
* the composed operation, or to alter its supported cancellation types, call
|
49
|
-
* the state's @c reset_cancellation_state function.
|
50
|
-
*
|
51
|
-
* @par Examples
|
52
|
-
* The following example illustrates manual error handling and explicit checks
|
53
|
-
* for cancellation. The completion handler is invoked via a @c co_yield to the
|
54
|
-
* state's @c complete function, which never returns.
|
55
|
-
*
|
56
|
-
* @code template <typename CompletionToken>
|
57
|
-
* auto async_echo(tcp::socket& socket,
|
58
|
-
* CompletionToken&& token)
|
59
|
-
* {
|
60
|
-
* return boost::asio::async_initiate<
|
61
|
-
* CompletionToken, void(boost::system::error_code)>(
|
62
|
-
* boost::asio::experimental::co_composed(
|
63
|
-
* [](auto state, tcp::socket& socket) -> void
|
64
|
-
* {
|
65
|
-
* state.reset_cancellation_state(
|
66
|
-
* boost::asio::enable_terminal_cancellation());
|
67
|
-
*
|
68
|
-
* while (!state.cancelled())
|
69
|
-
* {
|
70
|
-
* char data[1024];
|
71
|
-
* auto [e1, n1] =
|
72
|
-
* co_await socket.async_read_some(
|
73
|
-
* boost::asio::buffer(data),
|
74
|
-
* boost::asio::as_tuple(boost::asio::deferred));
|
75
|
-
*
|
76
|
-
* if (e1)
|
77
|
-
* co_yield state.complete(e1);
|
78
|
-
*
|
79
|
-
* if (!!state.cancelled())
|
80
|
-
* co_yield state.complete(
|
81
|
-
* make_error_code(boost::asio::error::operation_aborted));
|
82
|
-
*
|
83
|
-
* auto [e2, n2] =
|
84
|
-
* co_await boost::asio::async_write(socket,
|
85
|
-
* boost::asio::buffer(data, n1),
|
86
|
-
* boost::asio::as_tuple(boost::asio::deferred));
|
87
|
-
*
|
88
|
-
* if (e2)
|
89
|
-
* co_yield state.complete(e2);
|
90
|
-
* }
|
91
|
-
* }, socket),
|
92
|
-
* token, std::ref(socket));
|
93
|
-
* } @endcode
|
94
|
-
*
|
95
|
-
* This next example shows exception-based error handling and implicit checks
|
96
|
-
* for cancellation. The completion handler is invoked after returning from the
|
97
|
-
* coroutine via @c co_return. Valid @c co_return values are specified using
|
98
|
-
* completion signatures passed to the @c co_composed function.
|
99
|
-
*
|
100
|
-
* @code template <typename CompletionToken>
|
101
|
-
* auto async_echo(tcp::socket& socket,
|
102
|
-
* CompletionToken&& token)
|
103
|
-
* {
|
104
|
-
* return boost::asio::async_initiate<
|
105
|
-
* CompletionToken, void(boost::system::error_code)>(
|
106
|
-
* boost::asio::experimental::co_composed<
|
107
|
-
* void(boost::system::error_code)>(
|
108
|
-
* [](auto state, tcp::socket& socket) -> void
|
109
|
-
* {
|
110
|
-
* try
|
111
|
-
* {
|
112
|
-
* state.throw_if_cancelled(true);
|
113
|
-
* state.reset_cancellation_state(
|
114
|
-
* boost::asio::enable_terminal_cancellation());
|
115
|
-
*
|
116
|
-
* for (;;)
|
117
|
-
* {
|
118
|
-
* char data[1024];
|
119
|
-
* std::size_t n = co_await socket.async_read_some(
|
120
|
-
* boost::asio::buffer(data), boost::asio::deferred);
|
121
|
-
*
|
122
|
-
* co_await boost::asio::async_write(socket,
|
123
|
-
* boost::asio::buffer(data, n), boost::asio::deferred);
|
124
|
-
* }
|
125
|
-
* }
|
126
|
-
* catch (const boost::system::system_error& e)
|
127
|
-
* {
|
128
|
-
* co_return {e.code()};
|
129
|
-
* }
|
130
|
-
* }, socket),
|
131
|
-
* token, std::ref(socket));
|
132
|
-
* } @endcode
|
133
|
-
*/
|
134
|
-
template <completion_signature... Signatures,
|
135
|
-
typename Implementation, typename... IoObjectsOrExecutors>
|
136
|
-
auto co_composed(Implementation&& implementation,
|
137
|
-
IoObjectsOrExecutors&&... io_objects_or_executors);
|
27
|
+
using boost::asio::co_composed;
|
138
28
|
|
139
29
|
} // namespace experimental
|
140
30
|
} // namespace asio
|
@@ -142,6 +32,4 @@ auto co_composed(Implementation&& implementation,
|
|
142
32
|
|
143
33
|
#include <boost/asio/detail/pop_options.hpp>
|
144
34
|
|
145
|
-
#include <boost/asio/experimental/impl/co_composed.hpp>
|
146
|
-
|
147
35
|
#endif // BOOST_ASIO_EXPERIMENTAL_CO_COMPOSED_HPP
|
data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp
CHANGED
@@ -17,11 +17,10 @@
|
|
17
17
|
|
18
18
|
#include <boost/asio/detail/config.hpp>
|
19
19
|
#include <boost/asio/detail/bind_handler.hpp>
|
20
|
+
#include <boost/asio/detail/completion_handler.hpp>
|
20
21
|
#include <boost/asio/detail/handler_alloc_helpers.hpp>
|
21
22
|
#include <boost/asio/error.hpp>
|
22
|
-
#include <boost/asio/experimental/detail/channel_handler.hpp>
|
23
23
|
#include <boost/asio/experimental/detail/channel_operation.hpp>
|
24
|
-
#include <boost/asio/experimental/detail/channel_payload.hpp>
|
25
24
|
|
26
25
|
#include <boost/asio/detail/push_options.hpp>
|
27
26
|
|
@@ -93,7 +92,7 @@ public:
|
|
93
92
|
if (a != channel_operation::destroy_op)
|
94
93
|
{
|
95
94
|
Payload* payload = static_cast<Payload*>(v);
|
96
|
-
|
95
|
+
boost::asio::detail::completion_payload_handler<Payload, Handler> handler(
|
97
96
|
static_cast<Payload&&>(*payload), o->handler_);
|
98
97
|
p.h = boost::asio::detail::addressof(handler.handler_);
|
99
98
|
p.reset();
|
data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp
CHANGED
@@ -17,9 +17,9 @@
|
|
17
17
|
|
18
18
|
#include <boost/asio/detail/config.hpp>
|
19
19
|
#include <boost/asio/async_result.hpp>
|
20
|
+
#include <boost/asio/detail/completion_message.hpp>
|
20
21
|
#include <boost/asio/detail/type_traits.hpp>
|
21
22
|
#include <boost/system/error_code.hpp>
|
22
|
-
#include <boost/asio/experimental/detail/channel_message.hpp>
|
23
23
|
|
24
24
|
#include <boost/asio/detail/push_options.hpp>
|
25
25
|
|
@@ -37,11 +37,12 @@ class channel_send_functions<Derived, Executor, R(Args...)>
|
|
37
37
|
public:
|
38
38
|
template <typename... Args2>
|
39
39
|
enable_if_t<
|
40
|
-
is_constructible<detail::
|
40
|
+
is_constructible<boost::asio::detail::completion_message<R(Args...)>,
|
41
|
+
int, Args2...>::value,
|
41
42
|
bool
|
42
43
|
> try_send(Args2&&... args)
|
43
44
|
{
|
44
|
-
typedef
|
45
|
+
typedef boost::asio::detail::completion_message<R(Args...)> message_type;
|
45
46
|
Derived* self = static_cast<Derived*>(this);
|
46
47
|
return self->service_->template try_send<message_type>(
|
47
48
|
self->impl_, false, static_cast<Args2&&>(args)...);
|
@@ -49,11 +50,12 @@ public:
|
|
49
50
|
|
50
51
|
template <typename... Args2>
|
51
52
|
enable_if_t<
|
52
|
-
is_constructible<detail::
|
53
|
+
is_constructible<boost::asio::detail::completion_message<R(Args...)>,
|
54
|
+
int, Args2...>::value,
|
53
55
|
bool
|
54
56
|
> try_send_via_dispatch(Args2&&... args)
|
55
57
|
{
|
56
|
-
typedef
|
58
|
+
typedef boost::asio::detail::completion_message<R(Args...)> message_type;
|
57
59
|
Derived* self = static_cast<Derived*>(this);
|
58
60
|
return self->service_->template try_send<message_type>(
|
59
61
|
self->impl_, true, static_cast<Args2&&>(args)...);
|
@@ -61,11 +63,12 @@ public:
|
|
61
63
|
|
62
64
|
template <typename... Args2>
|
63
65
|
enable_if_t<
|
64
|
-
is_constructible<detail::
|
66
|
+
is_constructible<boost::asio::detail::completion_message<R(Args...)>,
|
67
|
+
int, Args2...>::value,
|
65
68
|
std::size_t
|
66
69
|
> try_send_n(std::size_t count, Args2&&... args)
|
67
70
|
{
|
68
|
-
typedef
|
71
|
+
typedef boost::asio::detail::completion_message<R(Args...)> message_type;
|
69
72
|
Derived* self = static_cast<Derived*>(this);
|
70
73
|
return self->service_->template try_send_n<message_type>(
|
71
74
|
self->impl_, count, false, static_cast<Args2&&>(args)...);
|
@@ -73,11 +76,12 @@ public:
|
|
73
76
|
|
74
77
|
template <typename... Args2>
|
75
78
|
enable_if_t<
|
76
|
-
is_constructible<detail::
|
79
|
+
is_constructible<boost::asio::detail::completion_message<R(Args...)>,
|
80
|
+
int, Args2...>::value,
|
77
81
|
std::size_t
|
78
82
|
> try_send_n_via_dispatch(std::size_t count, Args2&&... args)
|
79
83
|
{
|
80
|
-
typedef
|
84
|
+
typedef boost::asio::detail::completion_message<R(Args...)> message_type;
|
81
85
|
Derived* self = static_cast<Derived*>(this);
|
82
86
|
return self->service_->template try_send_n<message_type>(
|
83
87
|
self->impl_, count, true, static_cast<Args2&&>(args)...);
|
@@ -97,7 +101,7 @@ public:
|
|
97
101
|
Derived>::payload_type>()))
|
98
102
|
{
|
99
103
|
typedef typename Derived::payload_type payload_type;
|
100
|
-
typedef
|
104
|
+
typedef boost::asio::detail::completion_message<R(Args...)> message_type;
|
101
105
|
Derived* self = static_cast<Derived*>(this);
|
102
106
|
return async_initiate<CompletionToken, void (boost::system::error_code)>(
|
103
107
|
typename Derived::initiate_async_send(self), token,
|
@@ -116,11 +120,12 @@ public:
|
|
116
120
|
|
117
121
|
template <typename... Args2>
|
118
122
|
enable_if_t<
|
119
|
-
is_constructible<detail::
|
123
|
+
is_constructible<boost::asio::detail::completion_message<R(Args...)>,
|
124
|
+
int, Args2...>::value,
|
120
125
|
bool
|
121
126
|
> try_send(Args2&&... args)
|
122
127
|
{
|
123
|
-
typedef
|
128
|
+
typedef boost::asio::detail::completion_message<R(Args...)> message_type;
|
124
129
|
Derived* self = static_cast<Derived*>(this);
|
125
130
|
return self->service_->template try_send<message_type>(
|
126
131
|
self->impl_, false, static_cast<Args2&&>(args)...);
|
@@ -128,11 +133,12 @@ public:
|
|
128
133
|
|
129
134
|
template <typename... Args2>
|
130
135
|
enable_if_t<
|
131
|
-
is_constructible<detail::
|
136
|
+
is_constructible<boost::asio::detail::completion_message<R(Args...)>,
|
137
|
+
int, Args2...>::value,
|
132
138
|
bool
|
133
139
|
> try_send_via_dispatch(Args2&&... args)
|
134
140
|
{
|
135
|
-
typedef
|
141
|
+
typedef boost::asio::detail::completion_message<R(Args...)> message_type;
|
136
142
|
Derived* self = static_cast<Derived*>(this);
|
137
143
|
return self->service_->template try_send<message_type>(
|
138
144
|
self->impl_, true, static_cast<Args2&&>(args)...);
|
@@ -140,11 +146,12 @@ public:
|
|
140
146
|
|
141
147
|
template <typename... Args2>
|
142
148
|
enable_if_t<
|
143
|
-
is_constructible<detail::
|
149
|
+
is_constructible<boost::asio::detail::completion_message<R(Args...)>,
|
150
|
+
int, Args2...>::value,
|
144
151
|
std::size_t
|
145
152
|
> try_send_n(std::size_t count, Args2&&... args)
|
146
153
|
{
|
147
|
-
typedef
|
154
|
+
typedef boost::asio::detail::completion_message<R(Args...)> message_type;
|
148
155
|
Derived* self = static_cast<Derived*>(this);
|
149
156
|
return self->service_->template try_send_n<message_type>(
|
150
157
|
self->impl_, count, false, static_cast<Args2&&>(args)...);
|
@@ -152,11 +159,12 @@ public:
|
|
152
159
|
|
153
160
|
template <typename... Args2>
|
154
161
|
enable_if_t<
|
155
|
-
is_constructible<detail::
|
162
|
+
is_constructible<boost::asio::detail::completion_message<R(Args...)>,
|
163
|
+
int, Args2...>::value,
|
156
164
|
std::size_t
|
157
165
|
> try_send_n_via_dispatch(std::size_t count, Args2&&... args)
|
158
166
|
{
|
159
|
-
typedef
|
167
|
+
typedef boost::asio::detail::completion_message<R(Args...)> message_type;
|
160
168
|
Derived* self = static_cast<Derived*>(this);
|
161
169
|
return self->service_->template try_send_n<message_type>(
|
162
170
|
self->impl_, count, true, static_cast<Args2&&>(args)...);
|
@@ -176,7 +184,7 @@ public:
|
|
176
184
|
Derived>::payload_type>()))
|
177
185
|
{
|
178
186
|
typedef typename Derived::payload_type payload_type;
|
179
|
-
typedef
|
187
|
+
typedef boost::asio::detail::completion_message<R(Args...)> message_type;
|
180
188
|
Derived* self = static_cast<Derived*>(this);
|
181
189
|
return async_initiate<CompletionToken, void (boost::system::error_code)>(
|
182
190
|
typename Derived::initiate_async_send(self), token,
|
@@ -21,7 +21,6 @@
|
|
21
21
|
#include <boost/asio/error.hpp>
|
22
22
|
#include <boost/asio/experimental/channel_error.hpp>
|
23
23
|
#include <boost/asio/experimental/detail/channel_operation.hpp>
|
24
|
-
#include <boost/asio/experimental/detail/channel_payload.hpp>
|
25
24
|
|
26
25
|
#include <boost/asio/detail/push_options.hpp>
|
27
26
|
|
@@ -18,10 +18,12 @@
|
|
18
18
|
#include <boost/asio/detail/config.hpp>
|
19
19
|
#include <boost/asio/associated_cancellation_slot.hpp>
|
20
20
|
#include <boost/asio/cancellation_type.hpp>
|
21
|
+
#include <boost/asio/detail/completion_message.hpp>
|
22
|
+
#include <boost/asio/detail/completion_payload.hpp>
|
23
|
+
#include <boost/asio/detail/completion_payload_handler.hpp>
|
21
24
|
#include <boost/asio/detail/mutex.hpp>
|
22
25
|
#include <boost/asio/detail/op_queue.hpp>
|
23
26
|
#include <boost/asio/execution_context.hpp>
|
24
|
-
#include <boost/asio/experimental/detail/channel_message.hpp>
|
25
27
|
#include <boost/asio/experimental/detail/channel_receive_op.hpp>
|
26
28
|
#include <boost/asio/experimental/detail/channel_send_op.hpp>
|
27
29
|
#include <boost/asio/experimental/detail/has_signature.hpp>
|
@@ -232,7 +234,7 @@ private:
|
|
232
234
|
void operator()(Args&&... args)
|
233
235
|
{
|
234
236
|
op_->post(
|
235
|
-
|
237
|
+
boost::asio::detail::completion_message<Signature>(0,
|
236
238
|
static_cast<Args&&>(args)...));
|
237
239
|
}
|
238
240
|
|
@@ -308,8 +310,8 @@ struct channel_service<Mutex>::implementation_type : base_implementation_type
|
|
308
310
|
typename traits_type::receive_closed_signature,
|
309
311
|
Signatures...
|
310
312
|
>::value,
|
311
|
-
|
312
|
-
|
313
|
+
boost::asio::detail::completion_payload<Signatures...>,
|
314
|
+
boost::asio::detail::completion_payload<
|
313
315
|
Signatures...,
|
314
316
|
typename traits_type::receive_closed_signature
|
315
317
|
>
|
@@ -320,11 +322,11 @@ struct channel_service<Mutex>::implementation_type : base_implementation_type
|
|
320
322
|
Signatures...,
|
321
323
|
typename traits_type::receive_cancelled_signature
|
322
324
|
>::value,
|
323
|
-
|
325
|
+
boost::asio::detail::completion_payload<
|
324
326
|
Signatures...,
|
325
327
|
typename traits_type::receive_cancelled_signature
|
326
328
|
>,
|
327
|
-
|
329
|
+
boost::asio::detail::completion_payload<
|
328
330
|
Signatures...,
|
329
331
|
typename traits_type::receive_cancelled_signature,
|
330
332
|
typename traits_type::receive_closed_signature
|
@@ -405,8 +407,8 @@ struct channel_service<Mutex>::implementation_type<Traits, R()>
|
|
405
407
|
typename traits_type::receive_closed_signature,
|
406
408
|
R()
|
407
409
|
>::value,
|
408
|
-
|
409
|
-
|
410
|
+
boost::asio::detail::completion_payload<R()>,
|
411
|
+
boost::asio::detail::completion_payload<
|
410
412
|
R(),
|
411
413
|
typename traits_type::receive_closed_signature
|
412
414
|
>
|
@@ -417,11 +419,11 @@ struct channel_service<Mutex>::implementation_type<Traits, R()>
|
|
417
419
|
R(),
|
418
420
|
typename traits_type::receive_cancelled_signature
|
419
421
|
>::value,
|
420
|
-
|
422
|
+
boost::asio::detail::completion_payload<
|
421
423
|
R(),
|
422
424
|
typename traits_type::receive_cancelled_signature
|
423
425
|
>,
|
424
|
-
|
426
|
+
boost::asio::detail::completion_payload<
|
425
427
|
R(),
|
426
428
|
typename traits_type::receive_cancelled_signature,
|
427
429
|
typename traits_type::receive_closed_signature
|
@@ -466,7 +468,7 @@ struct channel_service<Mutex>::implementation_type<Traits, R()>
|
|
466
468
|
// Get the element at the front of the buffer.
|
467
469
|
payload_type buffer_front()
|
468
470
|
{
|
469
|
-
return payload_type(
|
471
|
+
return payload_type(boost::asio::detail::completion_message<R()>(0));
|
470
472
|
}
|
471
473
|
|
472
474
|
// Pop a value from the front of the buffer.
|
@@ -508,8 +510,8 @@ struct channel_service<Mutex>::implementation_type<
|
|
508
510
|
typename traits_type::receive_closed_signature,
|
509
511
|
R(boost::system::error_code)
|
510
512
|
>::value,
|
511
|
-
|
512
|
-
|
513
|
+
boost::asio::detail::completion_payload<R(boost::system::error_code)>,
|
514
|
+
boost::asio::detail::completion_payload<
|
513
515
|
R(boost::system::error_code),
|
514
516
|
typename traits_type::receive_closed_signature
|
515
517
|
>
|
@@ -520,11 +522,11 @@ struct channel_service<Mutex>::implementation_type<
|
|
520
522
|
R(boost::system::error_code),
|
521
523
|
typename traits_type::receive_cancelled_signature
|
522
524
|
>::value,
|
523
|
-
|
525
|
+
boost::asio::detail::completion_payload<
|
524
526
|
R(boost::system::error_code),
|
525
527
|
typename traits_type::receive_cancelled_signature
|
526
528
|
>,
|
527
|
-
|
529
|
+
boost::asio::detail::completion_payload<
|
528
530
|
R(boost::system::error_code),
|
529
531
|
typename traits_type::receive_cancelled_signature,
|
530
532
|
typename traits_type::receive_closed_signature
|
data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp
CHANGED
@@ -65,7 +65,6 @@ constexpr std::size_t variadic_first(std::size_t = 0u)
|
|
65
65
|
return std::numeric_limits<std::size_t>::max();
|
66
66
|
}
|
67
67
|
|
68
|
-
|
69
68
|
template <typename T, typename First, typename... Args>
|
70
69
|
constexpr std::size_t variadic_first(std::size_t pos = 0u)
|
71
70
|
{
|
@@ -95,14 +94,14 @@ struct coro_promise_allocator
|
|
95
94
|
allocator_type get_allocator() const {return alloc_;}
|
96
95
|
|
97
96
|
template <typename... Args>
|
98
|
-
void* operator new(
|
97
|
+
void* operator new(std::size_t size, Args & ... args)
|
99
98
|
{
|
100
99
|
return allocate_coroutine(size,
|
101
100
|
get_variadic<variadic_first<std::allocator_arg_t,
|
102
101
|
std::decay_t<Args>...>() + 1u>(args...));
|
103
102
|
}
|
104
103
|
|
105
|
-
void operator delete(void* raw,
|
104
|
+
void operator delete(void* raw, std::size_t size)
|
106
105
|
{
|
107
106
|
deallocate_coroutine<allocator_type>(raw, size);
|
108
107
|
}
|
data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp
CHANGED
@@ -518,7 +518,8 @@ bool channel_service<Mutex>::try_receive(
|
|
518
518
|
}
|
519
519
|
lock.unlock();
|
520
520
|
boost::asio::detail::non_const_lvalue<Handler> handler2(handler);
|
521
|
-
|
521
|
+
boost::asio::detail::completion_payload_handler<
|
522
|
+
payload_type, decay_t<Handler>>(
|
522
523
|
static_cast<payload_type&&>(payload), handler2.value)();
|
523
524
|
return true;
|
524
525
|
}
|
@@ -533,7 +534,8 @@ bool channel_service<Mutex>::try_receive(
|
|
533
534
|
send_op->post();
|
534
535
|
lock.unlock();
|
535
536
|
boost::asio::detail::non_const_lvalue<Handler> handler2(handler);
|
536
|
-
|
537
|
+
boost::asio::detail::completion_payload_handler<
|
538
|
+
payload_type, decay_t<Handler>>(
|
537
539
|
static_cast<payload_type&&>(payload), handler2.value)();
|
538
540
|
return true;
|
539
541
|
}
|
@@ -55,12 +55,12 @@ template <typename Allocator>
|
|
55
55
|
struct partial_promise_base
|
56
56
|
{
|
57
57
|
template <typename Executor, typename Token, typename... Args>
|
58
|
-
void* operator new(
|
58
|
+
void* operator new(std::size_t size, Executor&, Token& tk, Args&...)
|
59
59
|
{
|
60
60
|
return allocate_coroutine<Allocator>(size, get_associated_allocator(tk));
|
61
61
|
}
|
62
62
|
|
63
|
-
void operator delete(void* raw,
|
63
|
+
void operator delete(void* raw, std::size_t size)
|
64
64
|
{
|
65
65
|
deallocate_coroutine<Allocator>(raw, size);
|
66
66
|
}
|
@@ -111,9 +111,7 @@ struct partial_promise : partial_promise_base<Allocator>
|
|
111
111
|
}
|
112
112
|
};
|
113
113
|
|
114
|
-
|
115
|
-
|
116
|
-
}; // namespace detail
|
114
|
+
} // namespace detail
|
117
115
|
} // namespace experimental
|
118
116
|
} // namespace asio
|
119
117
|
} // namespace boost
|
@@ -20,6 +20,7 @@
|
|
20
20
|
#include <boost/asio/associator.hpp>
|
21
21
|
#include <boost/asio/async_result.hpp>
|
22
22
|
#include <boost/asio/detail/handler_cont_helpers.hpp>
|
23
|
+
#include <boost/asio/detail/initiation_base.hpp>
|
23
24
|
#include <boost/asio/detail/type_traits.hpp>
|
24
25
|
|
25
26
|
#include <boost/asio/detail/push_options.hpp>
|
@@ -111,23 +112,27 @@ template <typename CompletionToken, typename Signature>
|
|
111
112
|
struct async_result<experimental::as_single_t<CompletionToken>, Signature>
|
112
113
|
{
|
113
114
|
template <typename Initiation>
|
114
|
-
struct init_wrapper
|
115
|
+
struct init_wrapper : detail::initiation_base<Initiation>
|
115
116
|
{
|
116
|
-
|
117
|
-
|
117
|
+
using detail::initiation_base<Initiation>::initiation_base;
|
118
|
+
|
119
|
+
template <typename Handler, typename... Args>
|
120
|
+
void operator()(Handler&& handler, Args&&... args) &&
|
118
121
|
{
|
122
|
+
static_cast<Initiation&&>(*this)(
|
123
|
+
experimental::detail::as_single_handler<decay_t<Handler>>(
|
124
|
+
static_cast<Handler&&>(handler)),
|
125
|
+
static_cast<Args&&>(args)...);
|
119
126
|
}
|
120
127
|
|
121
128
|
template <typename Handler, typename... Args>
|
122
|
-
void operator()(Handler&& handler, Args&&... args)
|
129
|
+
void operator()(Handler&& handler, Args&&... args) const &
|
123
130
|
{
|
124
|
-
static_cast<Initiation
|
131
|
+
static_cast<const Initiation&>(*this)(
|
125
132
|
experimental::detail::as_single_handler<decay_t<Handler>>(
|
126
133
|
static_cast<Handler&&>(handler)),
|
127
134
|
static_cast<Args&&>(args)...);
|
128
135
|
}
|
129
|
-
|
130
|
-
Initiation initiation_;
|
131
136
|
};
|
132
137
|
|
133
138
|
template <typename Initiation, typename RawCompletionToken, typename... Args>
|
@@ -601,7 +601,7 @@ struct coro_promise final :
|
|
601
601
|
|
602
602
|
cancellation_slot_type get_cancellation_slot() const noexcept
|
603
603
|
{
|
604
|
-
return cancel ? cancel->slot : cancellation_slot_type{};
|
604
|
+
return cancel ? cancel->state.slot() : cancellation_slot_type{};
|
605
605
|
}
|
606
606
|
|
607
607
|
using allocator_type =
|