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
@@ -63,6 +63,9 @@ inline std::size_t write(SyncWriteStream& s, const ConstBufferSequence& buffers,
|
|
63
63
|
CompletionCondition completion_condition, boost::system::error_code& ec,
|
64
64
|
constraint_t<
|
65
65
|
is_const_buffer_sequence<ConstBufferSequence>::value
|
66
|
+
>,
|
67
|
+
constraint_t<
|
68
|
+
is_completion_condition<CompletionCondition>::value
|
66
69
|
>)
|
67
70
|
{
|
68
71
|
return detail::write(s, buffers,
|
@@ -98,6 +101,9 @@ inline std::size_t write(SyncWriteStream& s, const ConstBufferSequence& buffers,
|
|
98
101
|
CompletionCondition completion_condition,
|
99
102
|
constraint_t<
|
100
103
|
is_const_buffer_sequence<ConstBufferSequence>::value
|
104
|
+
>,
|
105
|
+
constraint_t<
|
106
|
+
is_completion_condition<CompletionCondition>::value
|
101
107
|
>)
|
102
108
|
{
|
103
109
|
boost::system::error_code ec;
|
@@ -119,6 +125,9 @@ std::size_t write(SyncWriteStream& s,
|
|
119
125
|
>,
|
120
126
|
constraint_t<
|
121
127
|
!is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
|
128
|
+
>,
|
129
|
+
constraint_t<
|
130
|
+
is_completion_condition<CompletionCondition>::value
|
122
131
|
>)
|
123
132
|
{
|
124
133
|
decay_t<DynamicBuffer_v1> b(
|
@@ -173,6 +182,9 @@ inline std::size_t write(SyncWriteStream& s,
|
|
173
182
|
>,
|
174
183
|
constraint_t<
|
175
184
|
!is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
|
185
|
+
>,
|
186
|
+
constraint_t<
|
187
|
+
is_completion_condition<CompletionCondition>::value
|
176
188
|
>)
|
177
189
|
{
|
178
190
|
boost::system::error_code ec;
|
@@ -190,7 +202,10 @@ template <typename SyncWriteStream, typename Allocator,
|
|
190
202
|
typename CompletionCondition>
|
191
203
|
inline std::size_t write(SyncWriteStream& s,
|
192
204
|
boost::asio::basic_streambuf<Allocator>& b,
|
193
|
-
CompletionCondition completion_condition, boost::system::error_code& ec
|
205
|
+
CompletionCondition completion_condition, boost::system::error_code& ec,
|
206
|
+
constraint_t<
|
207
|
+
is_completion_condition<CompletionCondition>::value
|
208
|
+
>)
|
194
209
|
{
|
195
210
|
return write(s, basic_streambuf_ref<Allocator>(b),
|
196
211
|
static_cast<CompletionCondition&&>(completion_condition), ec);
|
@@ -215,7 +230,10 @@ template <typename SyncWriteStream, typename Allocator,
|
|
215
230
|
typename CompletionCondition>
|
216
231
|
inline std::size_t write(SyncWriteStream& s,
|
217
232
|
boost::asio::basic_streambuf<Allocator>& b,
|
218
|
-
CompletionCondition completion_condition
|
233
|
+
CompletionCondition completion_condition,
|
234
|
+
constraint_t<
|
235
|
+
is_completion_condition<CompletionCondition>::value
|
236
|
+
>)
|
219
237
|
{
|
220
238
|
return write(s, basic_streambuf_ref<Allocator>(b),
|
221
239
|
static_cast<CompletionCondition&&>(completion_condition));
|
@@ -231,6 +249,9 @@ std::size_t write(SyncWriteStream& s, DynamicBuffer_v2 buffers,
|
|
231
249
|
CompletionCondition completion_condition, boost::system::error_code& ec,
|
232
250
|
constraint_t<
|
233
251
|
is_dynamic_buffer_v2<DynamicBuffer_v2>::value
|
252
|
+
>,
|
253
|
+
constraint_t<
|
254
|
+
is_completion_condition<CompletionCondition>::value
|
234
255
|
>)
|
235
256
|
{
|
236
257
|
std::size_t bytes_transferred = write(s, buffers.data(0, buffers.size()),
|
@@ -270,6 +291,9 @@ inline std::size_t write(SyncWriteStream& s, DynamicBuffer_v2 buffers,
|
|
270
291
|
CompletionCondition completion_condition,
|
271
292
|
constraint_t<
|
272
293
|
is_dynamic_buffer_v2<DynamicBuffer_v2>::value
|
294
|
+
>,
|
295
|
+
constraint_t<
|
296
|
+
is_completion_condition<CompletionCondition>::value
|
273
297
|
>)
|
274
298
|
{
|
275
299
|
boost::system::error_code ec;
|
@@ -463,49 +487,6 @@ struct associator<Associator,
|
|
463
487
|
|
464
488
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
465
489
|
|
466
|
-
template <typename AsyncWriteStream,
|
467
|
-
typename ConstBufferSequence, typename CompletionCondition,
|
468
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
469
|
-
std::size_t)) WriteToken>
|
470
|
-
inline auto async_write(AsyncWriteStream& s, const ConstBufferSequence& buffers,
|
471
|
-
CompletionCondition completion_condition, WriteToken&& token,
|
472
|
-
constraint_t<
|
473
|
-
is_const_buffer_sequence<ConstBufferSequence>::value
|
474
|
-
>)
|
475
|
-
-> decltype(
|
476
|
-
async_initiate<WriteToken,
|
477
|
-
void (boost::system::error_code, std::size_t)>(
|
478
|
-
declval<detail::initiate_async_write<AsyncWriteStream>>(),
|
479
|
-
token, buffers,
|
480
|
-
static_cast<CompletionCondition&&>(completion_condition)))
|
481
|
-
{
|
482
|
-
return async_initiate<WriteToken,
|
483
|
-
void (boost::system::error_code, std::size_t)>(
|
484
|
-
detail::initiate_async_write<AsyncWriteStream>(s),
|
485
|
-
token, buffers,
|
486
|
-
static_cast<CompletionCondition&&>(completion_condition));
|
487
|
-
}
|
488
|
-
|
489
|
-
template <typename AsyncWriteStream, typename ConstBufferSequence,
|
490
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
491
|
-
std::size_t)) WriteToken>
|
492
|
-
inline auto async_write(AsyncWriteStream& s,
|
493
|
-
const ConstBufferSequence& buffers, WriteToken&& token,
|
494
|
-
constraint_t<
|
495
|
-
is_const_buffer_sequence<ConstBufferSequence>::value
|
496
|
-
>)
|
497
|
-
-> decltype(
|
498
|
-
async_initiate<WriteToken,
|
499
|
-
void (boost::system::error_code, std::size_t)>(
|
500
|
-
declval<detail::initiate_async_write<AsyncWriteStream>>(),
|
501
|
-
token, buffers, transfer_all()))
|
502
|
-
{
|
503
|
-
return async_initiate<WriteToken,
|
504
|
-
void (boost::system::error_code, std::size_t)>(
|
505
|
-
detail::initiate_async_write<AsyncWriteStream>(s),
|
506
|
-
token, buffers, transfer_all());
|
507
|
-
}
|
508
|
-
|
509
490
|
#if !defined(BOOST_ASIO_NO_DYNAMIC_BUFFER_V1)
|
510
491
|
|
511
492
|
namespace detail
|
@@ -650,101 +631,6 @@ struct associator<Associator,
|
|
650
631
|
|
651
632
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
652
633
|
|
653
|
-
template <typename AsyncWriteStream, typename DynamicBuffer_v1,
|
654
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
655
|
-
std::size_t)) WriteToken>
|
656
|
-
inline auto async_write(AsyncWriteStream& s,
|
657
|
-
DynamicBuffer_v1&& buffers, WriteToken&& token,
|
658
|
-
constraint_t<
|
659
|
-
is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
|
660
|
-
>,
|
661
|
-
constraint_t<
|
662
|
-
!is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
|
663
|
-
>)
|
664
|
-
-> decltype(
|
665
|
-
async_initiate<WriteToken,
|
666
|
-
void (boost::system::error_code, std::size_t)>(
|
667
|
-
declval<detail::initiate_async_write_dynbuf_v1<AsyncWriteStream>>(),
|
668
|
-
token, static_cast<DynamicBuffer_v1&&>(buffers),
|
669
|
-
transfer_all()))
|
670
|
-
{
|
671
|
-
return async_initiate<WriteToken,
|
672
|
-
void (boost::system::error_code, std::size_t)>(
|
673
|
-
detail::initiate_async_write_dynbuf_v1<AsyncWriteStream>(s),
|
674
|
-
token, static_cast<DynamicBuffer_v1&&>(buffers),
|
675
|
-
transfer_all());
|
676
|
-
}
|
677
|
-
|
678
|
-
template <typename AsyncWriteStream,
|
679
|
-
typename DynamicBuffer_v1, typename CompletionCondition,
|
680
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
681
|
-
std::size_t)) WriteToken>
|
682
|
-
inline auto async_write(AsyncWriteStream& s, DynamicBuffer_v1&& buffers,
|
683
|
-
CompletionCondition completion_condition, WriteToken&& token,
|
684
|
-
constraint_t<
|
685
|
-
is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
|
686
|
-
>,
|
687
|
-
constraint_t<
|
688
|
-
!is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
|
689
|
-
>)
|
690
|
-
-> decltype(
|
691
|
-
async_initiate<WriteToken,
|
692
|
-
void (boost::system::error_code, std::size_t)>(
|
693
|
-
declval<detail::initiate_async_write_dynbuf_v1<AsyncWriteStream>>(),
|
694
|
-
token, static_cast<DynamicBuffer_v1&&>(buffers),
|
695
|
-
static_cast<CompletionCondition&&>(completion_condition)))
|
696
|
-
{
|
697
|
-
return async_initiate<WriteToken,
|
698
|
-
void (boost::system::error_code, std::size_t)>(
|
699
|
-
detail::initiate_async_write_dynbuf_v1<AsyncWriteStream>(s),
|
700
|
-
token, static_cast<DynamicBuffer_v1&&>(buffers),
|
701
|
-
static_cast<CompletionCondition&&>(completion_condition));
|
702
|
-
}
|
703
|
-
|
704
|
-
#if !defined(BOOST_ASIO_NO_EXTENSIONS)
|
705
|
-
#if !defined(BOOST_ASIO_NO_IOSTREAM)
|
706
|
-
|
707
|
-
template <typename AsyncWriteStream, typename Allocator,
|
708
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
709
|
-
std::size_t)) WriteToken>
|
710
|
-
inline auto async_write(AsyncWriteStream& s,
|
711
|
-
boost::asio::basic_streambuf<Allocator>& b,
|
712
|
-
WriteToken&& token)
|
713
|
-
-> decltype(
|
714
|
-
async_initiate<WriteToken,
|
715
|
-
void (boost::system::error_code, std::size_t)>(
|
716
|
-
declval<detail::initiate_async_write_dynbuf_v1<AsyncWriteStream>>(),
|
717
|
-
token, basic_streambuf_ref<Allocator>(b), transfer_all()))
|
718
|
-
{
|
719
|
-
return async_initiate<WriteToken,
|
720
|
-
void (boost::system::error_code, std::size_t)>(
|
721
|
-
detail::initiate_async_write_dynbuf_v1<AsyncWriteStream>(s),
|
722
|
-
token, basic_streambuf_ref<Allocator>(b), transfer_all());
|
723
|
-
}
|
724
|
-
|
725
|
-
template <typename AsyncWriteStream,
|
726
|
-
typename Allocator, typename CompletionCondition,
|
727
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
728
|
-
std::size_t)) WriteToken>
|
729
|
-
inline auto async_write(AsyncWriteStream& s,
|
730
|
-
boost::asio::basic_streambuf<Allocator>& b,
|
731
|
-
CompletionCondition completion_condition, WriteToken&& token)
|
732
|
-
-> decltype(
|
733
|
-
async_initiate<WriteToken,
|
734
|
-
void (boost::system::error_code, std::size_t)>(
|
735
|
-
declval<detail::initiate_async_write_dynbuf_v1<AsyncWriteStream>>(),
|
736
|
-
token, basic_streambuf_ref<Allocator>(b),
|
737
|
-
static_cast<CompletionCondition&&>(completion_condition)))
|
738
|
-
{
|
739
|
-
return async_initiate<WriteToken,
|
740
|
-
void (boost::system::error_code, std::size_t)>(
|
741
|
-
detail::initiate_async_write_dynbuf_v1<AsyncWriteStream>(s),
|
742
|
-
token, basic_streambuf_ref<Allocator>(b),
|
743
|
-
static_cast<CompletionCondition&&>(completion_condition));
|
744
|
-
}
|
745
|
-
|
746
|
-
#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
|
747
|
-
#endif // !defined(BOOST_ASIO_NO_EXTENSIONS)
|
748
634
|
#endif // !defined(BOOST_ASIO_NO_DYNAMIC_BUFFER_V1)
|
749
635
|
|
750
636
|
namespace detail
|
@@ -888,51 +774,6 @@ struct associator<Associator,
|
|
888
774
|
|
889
775
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
890
776
|
|
891
|
-
template <typename AsyncWriteStream, typename DynamicBuffer_v2,
|
892
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
893
|
-
std::size_t)) WriteToken>
|
894
|
-
inline auto async_write(AsyncWriteStream& s,
|
895
|
-
DynamicBuffer_v2 buffers, WriteToken&& token,
|
896
|
-
constraint_t<
|
897
|
-
is_dynamic_buffer_v2<DynamicBuffer_v2>::value
|
898
|
-
>)
|
899
|
-
-> decltype(
|
900
|
-
async_initiate<WriteToken,
|
901
|
-
void (boost::system::error_code, std::size_t)>(
|
902
|
-
declval<detail::initiate_async_write_dynbuf_v2<AsyncWriteStream>>(),
|
903
|
-
token, static_cast<DynamicBuffer_v2&&>(buffers),
|
904
|
-
transfer_all()))
|
905
|
-
{
|
906
|
-
return async_initiate<WriteToken,
|
907
|
-
void (boost::system::error_code, std::size_t)>(
|
908
|
-
detail::initiate_async_write_dynbuf_v2<AsyncWriteStream>(s),
|
909
|
-
token, static_cast<DynamicBuffer_v2&&>(buffers),
|
910
|
-
transfer_all());
|
911
|
-
}
|
912
|
-
|
913
|
-
template <typename AsyncWriteStream,
|
914
|
-
typename DynamicBuffer_v2, typename CompletionCondition,
|
915
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
916
|
-
std::size_t)) WriteToken>
|
917
|
-
inline auto async_write(AsyncWriteStream& s, DynamicBuffer_v2 buffers,
|
918
|
-
CompletionCondition completion_condition, WriteToken&& token,
|
919
|
-
constraint_t<
|
920
|
-
is_dynamic_buffer_v2<DynamicBuffer_v2>::value
|
921
|
-
>)
|
922
|
-
-> decltype(
|
923
|
-
async_initiate<WriteToken,
|
924
|
-
void (boost::system::error_code, std::size_t)>(
|
925
|
-
declval<detail::initiate_async_write_dynbuf_v2<AsyncWriteStream>>(),
|
926
|
-
token, static_cast<DynamicBuffer_v2&&>(buffers),
|
927
|
-
static_cast<CompletionCondition&&>(completion_condition)))
|
928
|
-
{
|
929
|
-
return async_initiate<WriteToken,
|
930
|
-
void (boost::system::error_code, std::size_t)>(
|
931
|
-
detail::initiate_async_write_dynbuf_v2<AsyncWriteStream>(s),
|
932
|
-
token, static_cast<DynamicBuffer_v2&&>(buffers),
|
933
|
-
static_cast<CompletionCondition&&>(completion_condition));
|
934
|
-
}
|
935
|
-
|
936
777
|
} // namespace asio
|
937
778
|
} // namespace boost
|
938
779
|
|
@@ -65,7 +65,10 @@ template <typename SyncRandomAccessWriteDevice, typename ConstBufferSequence,
|
|
65
65
|
typename CompletionCondition>
|
66
66
|
std::size_t write_at(SyncRandomAccessWriteDevice& d,
|
67
67
|
uint64_t offset, const ConstBufferSequence& buffers,
|
68
|
-
CompletionCondition completion_condition, boost::system::error_code& ec
|
68
|
+
CompletionCondition completion_condition, boost::system::error_code& ec,
|
69
|
+
constraint_t<
|
70
|
+
is_completion_condition<CompletionCondition>::value
|
71
|
+
>)
|
69
72
|
{
|
70
73
|
return detail::write_at_buffer_sequence(d, offset, buffers,
|
71
74
|
boost::asio::buffer_sequence_begin(buffers),
|
@@ -95,7 +98,10 @@ template <typename SyncRandomAccessWriteDevice, typename ConstBufferSequence,
|
|
95
98
|
typename CompletionCondition>
|
96
99
|
inline std::size_t write_at(SyncRandomAccessWriteDevice& d,
|
97
100
|
uint64_t offset, const ConstBufferSequence& buffers,
|
98
|
-
CompletionCondition completion_condition
|
101
|
+
CompletionCondition completion_condition,
|
102
|
+
constraint_t<
|
103
|
+
is_completion_condition<CompletionCondition>::value
|
104
|
+
>)
|
99
105
|
{
|
100
106
|
boost::system::error_code ec;
|
101
107
|
std::size_t bytes_transferred = write_at(d, offset, buffers,
|
@@ -111,7 +117,10 @@ template <typename SyncRandomAccessWriteDevice, typename Allocator,
|
|
111
117
|
typename CompletionCondition>
|
112
118
|
std::size_t write_at(SyncRandomAccessWriteDevice& d,
|
113
119
|
uint64_t offset, boost::asio::basic_streambuf<Allocator>& b,
|
114
|
-
CompletionCondition completion_condition, boost::system::error_code& ec
|
120
|
+
CompletionCondition completion_condition, boost::system::error_code& ec,
|
121
|
+
constraint_t<
|
122
|
+
is_completion_condition<CompletionCondition>::value
|
123
|
+
>)
|
115
124
|
{
|
116
125
|
std::size_t bytes_transferred = write_at(d, offset, b.data(),
|
117
126
|
static_cast<CompletionCondition&&>(completion_condition), ec);
|
@@ -141,7 +150,10 @@ template <typename SyncRandomAccessWriteDevice, typename Allocator,
|
|
141
150
|
typename CompletionCondition>
|
142
151
|
inline std::size_t write_at(SyncRandomAccessWriteDevice& d,
|
143
152
|
uint64_t offset, boost::asio::basic_streambuf<Allocator>& b,
|
144
|
-
CompletionCondition completion_condition
|
153
|
+
CompletionCondition completion_condition,
|
154
|
+
constraint_t<
|
155
|
+
is_completion_condition<CompletionCondition>::value
|
156
|
+
>)
|
145
157
|
{
|
146
158
|
boost::system::error_code ec;
|
147
159
|
std::size_t bytes_transferred = write_at(d, offset, b,
|
@@ -345,46 +357,6 @@ struct associator<Associator,
|
|
345
357
|
|
346
358
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
347
359
|
|
348
|
-
template <typename AsyncRandomAccessWriteDevice,
|
349
|
-
typename ConstBufferSequence, typename CompletionCondition,
|
350
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
351
|
-
std::size_t)) WriteToken>
|
352
|
-
inline auto async_write_at(AsyncRandomAccessWriteDevice& d,
|
353
|
-
uint64_t offset, const ConstBufferSequence& buffers,
|
354
|
-
CompletionCondition completion_condition, WriteToken&& token)
|
355
|
-
-> decltype(
|
356
|
-
async_initiate<WriteToken,
|
357
|
-
void (boost::system::error_code, std::size_t)>(
|
358
|
-
declval<detail::initiate_async_write_at<
|
359
|
-
AsyncRandomAccessWriteDevice>>(),
|
360
|
-
token, offset, buffers,
|
361
|
-
static_cast<CompletionCondition&&>(completion_condition)))
|
362
|
-
{
|
363
|
-
return async_initiate<WriteToken,
|
364
|
-
void (boost::system::error_code, std::size_t)>(
|
365
|
-
detail::initiate_async_write_at<AsyncRandomAccessWriteDevice>(d),
|
366
|
-
token, offset, buffers,
|
367
|
-
static_cast<CompletionCondition&&>(completion_condition));
|
368
|
-
}
|
369
|
-
|
370
|
-
template <typename AsyncRandomAccessWriteDevice, typename ConstBufferSequence,
|
371
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
372
|
-
std::size_t)) WriteToken>
|
373
|
-
inline auto async_write_at(AsyncRandomAccessWriteDevice& d,
|
374
|
-
uint64_t offset, const ConstBufferSequence& buffers, WriteToken&& token)
|
375
|
-
-> decltype(
|
376
|
-
async_initiate<WriteToken,
|
377
|
-
void (boost::system::error_code, std::size_t)>(
|
378
|
-
declval<detail::initiate_async_write_at<
|
379
|
-
AsyncRandomAccessWriteDevice>>(),
|
380
|
-
token, offset, buffers, transfer_all()))
|
381
|
-
{
|
382
|
-
return async_initiate<WriteToken,
|
383
|
-
void (boost::system::error_code, std::size_t)>(
|
384
|
-
detail::initiate_async_write_at<AsyncRandomAccessWriteDevice>(d),
|
385
|
-
token, offset, buffers, transfer_all());
|
386
|
-
}
|
387
|
-
|
388
360
|
#if !defined(BOOST_ASIO_NO_EXTENSIONS)
|
389
361
|
#if !defined(BOOST_ASIO_NO_IOSTREAM)
|
390
362
|
|
@@ -499,49 +471,6 @@ struct associator<Associator,
|
|
499
471
|
|
500
472
|
#endif // !defined(GENERATING_DOCUMENTATION)
|
501
473
|
|
502
|
-
template <typename AsyncRandomAccessWriteDevice,
|
503
|
-
typename Allocator, typename CompletionCondition,
|
504
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
505
|
-
std::size_t)) WriteToken>
|
506
|
-
inline auto async_write_at(AsyncRandomAccessWriteDevice& d,
|
507
|
-
uint64_t offset, boost::asio::basic_streambuf<Allocator>& b,
|
508
|
-
CompletionCondition completion_condition, WriteToken&& token)
|
509
|
-
-> decltype(
|
510
|
-
async_initiate<WriteToken,
|
511
|
-
void (boost::system::error_code, std::size_t)>(
|
512
|
-
declval<detail::initiate_async_write_at_streambuf<
|
513
|
-
AsyncRandomAccessWriteDevice>>(),
|
514
|
-
token, offset, &b,
|
515
|
-
static_cast<CompletionCondition&&>(completion_condition)))
|
516
|
-
{
|
517
|
-
return async_initiate<WriteToken,
|
518
|
-
void (boost::system::error_code, std::size_t)>(
|
519
|
-
detail::initiate_async_write_at_streambuf<
|
520
|
-
AsyncRandomAccessWriteDevice>(d),
|
521
|
-
token, offset, &b,
|
522
|
-
static_cast<CompletionCondition&&>(completion_condition));
|
523
|
-
}
|
524
|
-
|
525
|
-
template <typename AsyncRandomAccessWriteDevice, typename Allocator,
|
526
|
-
BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
|
527
|
-
std::size_t)) WriteToken>
|
528
|
-
inline auto async_write_at(AsyncRandomAccessWriteDevice& d,
|
529
|
-
uint64_t offset, boost::asio::basic_streambuf<Allocator>& b,
|
530
|
-
WriteToken&& token)
|
531
|
-
-> decltype(
|
532
|
-
async_initiate<WriteToken,
|
533
|
-
void (boost::system::error_code, std::size_t)>(
|
534
|
-
declval<detail::initiate_async_write_at_streambuf<
|
535
|
-
AsyncRandomAccessWriteDevice>>(),
|
536
|
-
token, offset, &b, transfer_all()))
|
537
|
-
{
|
538
|
-
return async_initiate<WriteToken,
|
539
|
-
void (boost::system::error_code, std::size_t)>(
|
540
|
-
detail::initiate_async_write_at_streambuf<
|
541
|
-
AsyncRandomAccessWriteDevice>(d),
|
542
|
-
token, offset, &b, transfer_all());
|
543
|
-
}
|
544
|
-
|
545
474
|
#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
|
546
475
|
#endif // !defined(BOOST_ASIO_NO_EXTENSIONS)
|
547
476
|
|
@@ -55,18 +55,18 @@ namespace asio {
|
|
55
55
|
* if any of the following conditions are true:
|
56
56
|
*
|
57
57
|
* @li @c s.post(a) happens-before @c s.post(b)
|
58
|
-
*
|
58
|
+
*
|
59
59
|
* @li @c s.post(a) happens-before @c s.dispatch(b), where the latter is
|
60
60
|
* performed outside the strand
|
61
|
-
*
|
61
|
+
*
|
62
62
|
* @li @c s.dispatch(a) happens-before @c s.post(b), where the former is
|
63
63
|
* performed outside the strand
|
64
|
-
*
|
64
|
+
*
|
65
65
|
* @li @c s.dispatch(a) happens-before @c s.dispatch(b), where both are
|
66
66
|
* performed outside the strand
|
67
|
-
*
|
67
|
+
*
|
68
68
|
* then @c a() happens-before @c b()
|
69
|
-
*
|
69
|
+
*
|
70
70
|
* Note that in the following case:
|
71
71
|
* @code async_op_1(..., s.wrap(a));
|
72
72
|
* async_op_2(..., s.wrap(b)); @endcode
|
@@ -663,7 +663,7 @@ public:
|
|
663
663
|
* Regardless of whether the asynchronous operation completes immediately or
|
664
664
|
* not, the completion handler will not be invoked from within this function.
|
665
665
|
* On immediate completion, invocation of the handler will be performed in a
|
666
|
-
* manner equivalent to using boost::asio::
|
666
|
+
* manner equivalent to using boost::asio::async_immediate().
|
667
667
|
*
|
668
668
|
* A successful resolve operation is guaranteed to pass a non-empty range to
|
669
669
|
* the handler.
|
@@ -715,7 +715,7 @@ public:
|
|
715
715
|
* Regardless of whether the asynchronous operation completes immediately or
|
716
716
|
* not, the completion handler will not be invoked from within this function.
|
717
717
|
* On immediate completion, invocation of the handler will be performed in a
|
718
|
-
* manner equivalent to using boost::asio::
|
718
|
+
* manner equivalent to using boost::asio::async_immediate().
|
719
719
|
*
|
720
720
|
* A successful resolve operation is guaranteed to pass a non-empty range to
|
721
721
|
* the handler.
|
@@ -784,7 +784,7 @@ public:
|
|
784
784
|
* Regardless of whether the asynchronous operation completes immediately or
|
785
785
|
* not, the completion handler will not be invoked from within this function.
|
786
786
|
* On immediate completion, invocation of the handler will be performed in a
|
787
|
-
* manner equivalent to using boost::asio::
|
787
|
+
* manner equivalent to using boost::asio::async_immediate().
|
788
788
|
*
|
789
789
|
* A successful resolve operation is guaranteed to pass a non-empty range to
|
790
790
|
* the handler.
|
@@ -855,7 +855,7 @@ public:
|
|
855
855
|
* Regardless of whether the asynchronous operation completes immediately or
|
856
856
|
* not, the completion handler will not be invoked from within this function.
|
857
857
|
* On immediate completion, invocation of the handler will be performed in a
|
858
|
-
* manner equivalent to using boost::asio::
|
858
|
+
* manner equivalent to using boost::asio::async_immediate().
|
859
859
|
*
|
860
860
|
* A successful resolve operation is guaranteed to pass a non-empty range to
|
861
861
|
* the handler.
|
@@ -927,7 +927,7 @@ public:
|
|
927
927
|
* Regardless of whether the asynchronous operation completes immediately or
|
928
928
|
* not, the completion handler will not be invoked from within this function.
|
929
929
|
* On immediate completion, invocation of the handler will be performed in a
|
930
|
-
* manner equivalent to using boost::asio::
|
930
|
+
* manner equivalent to using boost::asio::async_immediate().
|
931
931
|
*
|
932
932
|
* A successful resolve operation is guaranteed to pass a non-empty range to
|
933
933
|
* the handler.
|
@@ -1032,7 +1032,7 @@ public:
|
|
1032
1032
|
* Regardless of whether the asynchronous operation completes immediately or
|
1033
1033
|
* not, the completion handler will not be invoked from within this function.
|
1034
1034
|
* On immediate completion, invocation of the handler will be performed in a
|
1035
|
-
* manner equivalent to using boost::asio::
|
1035
|
+
* manner equivalent to using boost::asio::async_immediate().
|
1036
1036
|
*
|
1037
1037
|
* A successful resolve operation is guaranteed to pass a non-empty range to
|
1038
1038
|
* the handler.
|
@@ -40,7 +40,7 @@ public:
|
|
40
40
|
#if defined(__sun) || defined(__osf__)
|
41
41
|
typedef unsigned char ipv4_value_type;
|
42
42
|
typedef unsigned char ipv6_value_type;
|
43
|
-
#elif defined(_AIX) || defined(__hpux) || defined(__QNXNTO__)
|
43
|
+
#elif defined(_AIX) || defined(__hpux) || defined(__QNXNTO__)
|
44
44
|
typedef unsigned char ipv4_value_type;
|
45
45
|
typedef unsigned int ipv6_value_type;
|
46
46
|
#else
|
@@ -282,7 +282,7 @@ address_v6 make_address_v6(const char* str,
|
|
282
282
|
if (boost::asio::detail::socket_ops::inet_pton(
|
283
283
|
BOOST_ASIO_OS_DEF(AF_INET6), str, &bytes[0], &scope_id, ec) <= 0)
|
284
284
|
return address_v6();
|
285
|
-
return address_v6(bytes, scope_id);
|
285
|
+
return address_v6(bytes, static_cast<scope_id_type>(scope_id));
|
286
286
|
}
|
287
287
|
|
288
288
|
address_v6 make_address_v6(const std::string& str)
|
@@ -59,12 +59,18 @@ unspecified signal_number;
|
|
59
59
|
|
60
60
|
#else
|
61
61
|
|
62
|
-
static constexpr auto& error
|
63
|
-
|
64
|
-
static constexpr auto&
|
65
|
-
|
66
|
-
static constexpr auto&
|
67
|
-
|
62
|
+
static BOOST_ASIO_INLINE_VARIABLE constexpr auto& error
|
63
|
+
= std::placeholders::_1;
|
64
|
+
static BOOST_ASIO_INLINE_VARIABLE constexpr auto& bytes_transferred
|
65
|
+
= std::placeholders::_2;
|
66
|
+
static BOOST_ASIO_INLINE_VARIABLE constexpr auto& iterator
|
67
|
+
= std::placeholders::_2;
|
68
|
+
static BOOST_ASIO_INLINE_VARIABLE constexpr auto& results
|
69
|
+
= std::placeholders::_2;
|
70
|
+
static BOOST_ASIO_INLINE_VARIABLE constexpr auto& endpoint
|
71
|
+
= std::placeholders::_2;
|
72
|
+
static BOOST_ASIO_INLINE_VARIABLE constexpr auto& signal_number
|
73
|
+
= std::placeholders::_2;
|
68
74
|
|
69
75
|
#endif
|
70
76
|
|
@@ -661,7 +661,7 @@ public:
|
|
661
661
|
* Regardless of whether the asynchronous operation completes immediately or
|
662
662
|
* not, the completion handler will not be invoked from within this function.
|
663
663
|
* On immediate completion, invocation of the handler will be performed in a
|
664
|
-
* manner equivalent to using boost::asio::
|
664
|
+
* manner equivalent to using boost::asio::async_immediate().
|
665
665
|
*
|
666
666
|
* @par Completion Signature
|
667
667
|
* @code void(boost::system::error_code) @endcode
|
@@ -308,7 +308,7 @@ public:
|
|
308
308
|
* Regardless of whether the asynchronous operation completes immediately or
|
309
309
|
* not, the completion handler will not be invoked from within this function.
|
310
310
|
* On immediate completion, invocation of the handler will be performed in a
|
311
|
-
* manner equivalent to using boost::asio::
|
311
|
+
* manner equivalent to using boost::asio::async_immediate().
|
312
312
|
*
|
313
313
|
* @par Completion Signature
|
314
314
|
* @code void(boost::system::error_code, std::size_t) @endcode
|
@@ -437,7 +437,7 @@ public:
|
|
437
437
|
* Regardless of whether the asynchronous operation completes immediately or
|
438
438
|
* not, the completion handler will not be invoked from within this function.
|
439
439
|
* On immediate completion, invocation of the handler will be performed in a
|
440
|
-
* manner equivalent to using boost::asio::
|
440
|
+
* manner equivalent to using boost::asio::async_immediate().
|
441
441
|
*
|
442
442
|
* @par Completion Signature
|
443
443
|
* @code void(boost::system::error_code, std::size_t) @endcode
|