passenger 6.0.16 → 6.0.17
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.
- checksums.yaml +4 -4
- data/CHANGELOG +22 -1
- data/build/integration_tests.rb +6 -6
- data/build/ruby_tests.rb +1 -1
- data/build/test_basics.rb +0 -1
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Core/SpawningKit/PipeWatcher.h +18 -3
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/array.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_executor.hpp +344 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_handler.hpp +686 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +81 -25
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +68 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +46 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_file.hpp +1 -1
- 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 +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +4 -4
- 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 +2 -2
- 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 +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +14 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +30 -305
- data/src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +17 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +98 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp +330 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +81 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +19 -11
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +14 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/utility.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +4 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +22 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +447 -142
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +57 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +51 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +41 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_operation.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +52 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/operation_state.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +39 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +39 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +6 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_traits.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +146 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +35 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_handler.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +180 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_completion_handler.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +89 -66
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +66 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_composed.hpp +1134 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +130 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +377 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +168 -29
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_coro.hpp +149 -203
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +256 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +76 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +40 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +113 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +25 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +25 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +34 -45
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +28 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +204 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +33 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/deferred.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +21 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +33 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +40 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +27 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +104 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +70 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +25 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +38 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +27 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +0 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +17 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +13 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +11 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +0 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +23 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/chrono/config.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/scan_keyword.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_io.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_put.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/utility/ios_base_state_ptr.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/chrono/time_point.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/header_deprecated.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +80 -95
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_end.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +738 -34
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +38 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +1150 -1213
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +104 -12
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +31 -331
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_mix.hpp +113 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_range.hpp +173 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple.hpp +133 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +461 -566
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_contiguous_range.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_described_class.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_range.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_unordered_range.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +32 -4
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/core/fclose_deleter.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/formatters.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/formatters_limited.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_date.hpp +12 -13
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/parsers.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.ipp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/iso_format.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_date_time.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_formatters.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_formatters_limited.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_parser.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_parsing.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/describe/bases.hpp +50 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/detail/cx_streq.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/detail/void_t.hpp +32 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/members.hpp +159 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/modifiers.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +45 -45
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +37 -38
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +145 -90
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +11 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +106 -25
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/pdqsort.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/mp11/bind.hpp +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/int_float_mixture.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/sign_mixture.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/udt_builtin_mixture.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +38 -43
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_helper.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +22 -8
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +37 -7
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa.hpp +1921 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +66 -82
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/prime_fmod.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +109 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/xmx.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +732 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +586 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +166 -66
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +145 -28
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/common/md5.hpp +1 -1
- data/src/ruby_native_extension/extconf.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger.rb +5 -5
- metadata +36 -19
- data/src/cxx_supportlib/vendor-modified/boost/align/align.hpp +0 -19
- data/src/cxx_supportlib/vendor-modified/boost/align/alignment_of.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/align/alignment_of_forward.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/align_cxx11.hpp +0 -21
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc.hpp +0 -52
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/alignment_of.hpp +0 -31
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/alignment_of_cxx11.hpp +0 -23
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/element_type.hpp +0 -91
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/integral_constant.hpp +0 -53
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/min_size.hpp +0 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/completion_handler_erasure.hpp +0 -196
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/compose.hpp +0 -709
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/float_functions.hpp +0 -336
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_float.hpp +0 -271
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/limits.hpp +0 -62
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/extensions.hpp +0 -361
- data/src/cxx_supportlib/vendor-modified/boost/detail/container_fwd.hpp +0 -157
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4745b4abf125d1350bf6ea520477b1d8a1faae26
|
|
4
|
+
data.tar.gz: e3fe30496ed0567cd283f3ee96751c6baaa35f00
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f561f10cee769f11824a2c8bbd74d35b8305e22906682af51ec68819cc53fbeb27ce6a57fbe7022eff27adb4cd0dded348a2a7d7b3051ce8d11054c66a8e3f16
|
|
7
|
+
data.tar.gz: 97198581be7ab01b816beeab4b6e2cbd90182af418410cd298a3290c1ec2c97a1473c1ae63376e362337dd06e33e93e8ee5ba247d9935159dd4cafcaf4fb1211
|
data/CHANGELOG
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
|
-
Release 6.0.
|
|
1
|
+
Release 6.0.17 (Not yet released)
|
|
2
|
+
-------------
|
|
3
|
+
* [Enterprise] The `debug` gem is now supported for debugging on Ruby 3.1.
|
|
4
|
+
* Removed use of deprecated 'File.exists?' method for Ruby 3.2.0.
|
|
5
|
+
* Upgrades Boost to 1.81.
|
|
6
|
+
* Upgrades preferred Nginx to 1.22.1 from 1.20.2.
|
|
7
|
+
* Changes minimum supported macOS version to 10.14 Mojave.
|
|
8
|
+
* Adds support for arm (aarch64) rpm packages.
|
|
9
|
+
* Adds support for a `PASSENGER_MAX_LOG_LINE_LENGTH_BYTES` environment variable. The default length remains at 8KB. Closes GH-2413.
|
|
10
|
+
* Updated various library versions used in precompiled binaries (used for e.g. gem installs):
|
|
11
|
+
- ccache: 4.6.3 → 4.7.4
|
|
12
|
+
- curl: 7.86.0 → 7.87.0
|
|
13
|
+
- git: 2.38.1 → 2.39.0
|
|
14
|
+
- gnupg: 2.3.8 → 2.4.0
|
|
15
|
+
- libksba: 1.6.2 → 1.6.3
|
|
16
|
+
- openssl: 1.1.1s → 3.0.7
|
|
17
|
+
- rubygems: 3.3.26 → 3.4.3
|
|
18
|
+
- rubies: added 3.2.0
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
Release 6.0.16
|
|
2
22
|
-------------
|
|
23
|
+
* Adds ARM64 (aarch64) packages for Ubuntu and Debian.
|
|
3
24
|
* Adds Ubuntu 22.10 "Kinetic" packages, removes Ubuntu 16.04 "Xenial" packages.
|
|
4
25
|
* Adds systemd private tmpdir workaround on Ubuntu/Debian. Closes GH-2397.
|
|
5
26
|
* Downgrade jsoncpp to 1.8.1 from 1.9.5 to fix invalid json generation bug. Closes GH-2445.
|
data/build/integration_tests.rb
CHANGED
|
@@ -39,7 +39,7 @@ end
|
|
|
39
39
|
dependencies = integration_test_dependencies(:_apache2)
|
|
40
40
|
desc "Run Apache 2 integration tests"
|
|
41
41
|
task 'test:integration:apache2' => dependencies do
|
|
42
|
-
command = "bundle exec rspec -c -f
|
|
42
|
+
command = "bundle exec rspec -c -f d --tty integration_tests/apache2_tests.rb"
|
|
43
43
|
if boolean_option('SUDO')
|
|
44
44
|
command = "#{PlatformInfo.ruby_sudo_command} -E #{command}"
|
|
45
45
|
end
|
|
@@ -52,7 +52,7 @@ end
|
|
|
52
52
|
dependencies = integration_test_dependencies(:_nginx)
|
|
53
53
|
desc "Run Nginx integration tests"
|
|
54
54
|
task 'test:integration:nginx' => dependencies do
|
|
55
|
-
command = "bundle exec rspec -c -f
|
|
55
|
+
command = "bundle exec rspec -c -f d --tty integration_tests/nginx_tests.rb"
|
|
56
56
|
if boolean_option('SUDO')
|
|
57
57
|
command = "#{PlatformInfo.ruby_sudo_command} -E #{command}"
|
|
58
58
|
end
|
|
@@ -69,7 +69,7 @@ end
|
|
|
69
69
|
dependencies = integration_test_dependencies(:_nginx)
|
|
70
70
|
desc "Run Passenger Standalone integration tests"
|
|
71
71
|
task 'test:integration:standalone' => dependencies do
|
|
72
|
-
command = "bundle exec rspec -c -f
|
|
72
|
+
command = "bundle exec rspec -c -f d --tty integration_tests/standalone_tests.rb"
|
|
73
73
|
if grep = string_option('E')
|
|
74
74
|
command << " -e #{shesc grep}"
|
|
75
75
|
end
|
|
@@ -78,7 +78,7 @@ end
|
|
|
78
78
|
|
|
79
79
|
desc "Run native packaging tests"
|
|
80
80
|
task 'test:integration:native_packaging' do
|
|
81
|
-
command = "bundle exec rspec -c -f
|
|
81
|
+
command = "bundle exec rspec -c -f d --tty integration_tests/native_packaging_spec.rb"
|
|
82
82
|
if boolean_option('SUDO')
|
|
83
83
|
command = "#{PlatformInfo.ruby_sudo_command} -E #{command}"
|
|
84
84
|
end
|
|
@@ -125,7 +125,7 @@ task 'test:restart' => dependencies do
|
|
|
125
125
|
i = 1
|
|
126
126
|
while true do
|
|
127
127
|
puts "#{color_code_start}Test run #{i} (press Ctrl-C multiple times to abort)#{color_code_end}"
|
|
128
|
-
command = "bundle exec rspec -c -f
|
|
128
|
+
command = "bundle exec rspec -c -f d --tty integration_tests/apache2_tests.rb"
|
|
129
129
|
if grep = string_option('E')
|
|
130
130
|
command << " -e #{shesc grep}"
|
|
131
131
|
end
|
|
@@ -136,7 +136,7 @@ end
|
|
|
136
136
|
|
|
137
137
|
desc "Run source packaging tests"
|
|
138
138
|
task 'test:source_packaging' do
|
|
139
|
-
command = 'bundle exec rspec -f
|
|
139
|
+
command = 'bundle exec rspec -f d -c test/integration_tests/source_packaging_test.rb'
|
|
140
140
|
if grep = string_option('E')
|
|
141
141
|
command << " -e #{shesc grep}"
|
|
142
142
|
end
|
data/build/ruby_tests.rb
CHANGED
|
@@ -30,6 +30,6 @@ task 'test:ruby' => dependencies do
|
|
|
30
30
|
if maybe_grep = string_option('E')
|
|
31
31
|
maybe_grep = "-e #{shesc maybe_grep}"
|
|
32
32
|
end
|
|
33
|
-
command = "rspec -c -f
|
|
33
|
+
command = "rspec -c -f d --tty -P 'dont-autoload-anything' #{maybe_grep} ruby/*_spec.rb ruby/*/*_spec.rb"
|
|
34
34
|
sh "cd test && exec bundle exec #{command}"
|
|
35
35
|
end
|
data/build/test_basics.rb
CHANGED
data/src/agent/Core/Config.h
CHANGED
|
@@ -165,7 +165,7 @@ using namespace std;
|
|
|
165
165
|
* security_update_checker_interval unsigned integer - default(86400)
|
|
166
166
|
* security_update_checker_proxy_url string - -
|
|
167
167
|
* security_update_checker_url string - default("https://securitycheck.phusionpassenger.com/v1/check.json")
|
|
168
|
-
* server_software string - default("Phusion_Passenger/6.0.
|
|
168
|
+
* server_software string - default("Phusion_Passenger/6.0.17")
|
|
169
169
|
* show_version_in_header boolean - default(true)
|
|
170
170
|
* single_app_mode_app_root string - default,read_only
|
|
171
171
|
* single_app_mode_app_start_command string - read_only
|
|
@@ -116,7 +116,7 @@ parseControllerBenchmarkMode(const StaticString &mode) {
|
|
|
116
116
|
* multi_app boolean - default(true),read_only
|
|
117
117
|
* request_freelist_limit unsigned integer - default(1024)
|
|
118
118
|
* response_buffer_high_watermark unsigned integer - default(134217728)
|
|
119
|
-
* server_software string - default("Phusion_Passenger/6.0.
|
|
119
|
+
* server_software string - default("Phusion_Passenger/6.0.17")
|
|
120
120
|
* show_version_in_header boolean - default(true)
|
|
121
121
|
* start_reading_after_accept boolean - default(true)
|
|
122
122
|
* stat_throttle_rate unsigned integer - default(10)
|
|
@@ -63,6 +63,8 @@ private:
|
|
|
63
63
|
string logFile;
|
|
64
64
|
boost::mutex startSyncher;
|
|
65
65
|
boost::condition_variable startCond;
|
|
66
|
+
size_t bufSize;
|
|
67
|
+
char *buf;
|
|
66
68
|
|
|
67
69
|
static void threadMain(boost::shared_ptr<PipeWatcher> self) {
|
|
68
70
|
TRACE_POINT();
|
|
@@ -90,11 +92,12 @@ private:
|
|
|
90
92
|
|
|
91
93
|
UPDATE_TRACE_POINT();
|
|
92
94
|
while (!boost::this_thread::interruption_requested()) {
|
|
93
|
-
char buf[1024 * 8];
|
|
94
95
|
ssize_t ret;
|
|
96
|
+
|
|
97
|
+
buf[0] = '\0';
|
|
95
98
|
|
|
96
99
|
UPDATE_TRACE_POINT();
|
|
97
|
-
ret = syscalls::read(fd, buf,
|
|
100
|
+
ret = syscalls::read(fd, buf, bufSize);
|
|
98
101
|
if (ret == 0) {
|
|
99
102
|
break;
|
|
100
103
|
} else if (ret == -1) {
|
|
@@ -150,14 +153,26 @@ public:
|
|
|
150
153
|
appGroupName(_appGroupName),
|
|
151
154
|
appLogFile(_appLogFile),
|
|
152
155
|
pid(_pid),
|
|
153
|
-
started(false)
|
|
156
|
+
started(false),
|
|
157
|
+
bufSize(1024 * 8),
|
|
158
|
+
buf(NULL)
|
|
154
159
|
{ }
|
|
155
160
|
|
|
161
|
+
~PipeWatcher() {
|
|
162
|
+
delete[] buf;
|
|
163
|
+
}
|
|
164
|
+
|
|
156
165
|
void setLogFile(const string &path) {
|
|
157
166
|
logFile = path;
|
|
158
167
|
}
|
|
159
168
|
|
|
160
169
|
void initialize() {
|
|
170
|
+
const char *envMaxLogBytes = getenv("PASSENGER_MAX_LOG_LINE_LENGTH_BYTES");
|
|
171
|
+
if (envMaxLogBytes != NULL && *envMaxLogBytes != '\0') {
|
|
172
|
+
bufSize = atoi(envMaxLogBytes);
|
|
173
|
+
}
|
|
174
|
+
buf = new char[bufSize];
|
|
175
|
+
|
|
161
176
|
oxt::thread(boost::bind(threadMain, shared_from_this()),
|
|
162
177
|
"PipeWatcher: PID " + toString(pid) + " " + name + ", fd " + toString(fd),
|
|
163
178
|
POOL_HELPER_THREAD_STACK_SIZE);
|
data/src/agent/Watchdog/Config.h
CHANGED
|
@@ -154,7 +154,7 @@ using namespace std;
|
|
|
154
154
|
* security_update_checker_interval unsigned integer - default(86400)
|
|
155
155
|
* security_update_checker_proxy_url string - -
|
|
156
156
|
* security_update_checker_url string - default("https://securitycheck.phusionpassenger.com/v1/check.json")
|
|
157
|
-
* server_software string - default("Phusion_Passenger/6.0.
|
|
157
|
+
* server_software string - default("Phusion_Passenger/6.0.17")
|
|
158
158
|
* setsid boolean - default(false)
|
|
159
159
|
* show_version_in_header boolean - default(true)
|
|
160
160
|
* single_app_mode_app_root string - default,read_only
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
#define PASSENGER_API_VERSION_MAJOR 0
|
|
84
84
|
#define PASSENGER_API_VERSION_MINOR 3
|
|
85
85
|
#define PASSENGER_DEFAULT_USER "nobody"
|
|
86
|
-
#define PASSENGER_VERSION "6.0.
|
|
86
|
+
#define PASSENGER_VERSION "6.0.17"
|
|
87
87
|
#define POOL_HELPER_THREAD_STACK_SIZE 262144
|
|
88
88
|
#define PROCESS_SHUTDOWN_TIMEOUT 60
|
|
89
89
|
#define PROCESS_SHUTDOWN_TIMEOUT_DISPLAY "1 minute"
|
|
@@ -38,7 +38,7 @@ Distributed under the Boost Software License, Version 1.0.
|
|
|
38
38
|
#include <boost/align/detail/aligned_alloc_posix.hpp>
|
|
39
39
|
#elif defined(sun) || defined(__sun)
|
|
40
40
|
#include <boost/align/detail/aligned_alloc_sunos.hpp>
|
|
41
|
-
#elif (
|
|
41
|
+
#elif defined(_POSIX_VERSION)
|
|
42
42
|
#include <boost/align/detail/aligned_alloc_posix.hpp>
|
|
43
43
|
#else
|
|
44
44
|
#include <boost/align/detail/aligned_alloc.hpp>
|
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
//
|
|
2
|
+
// any_completion_executor.hpp
|
|
3
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
4
|
+
//
|
|
5
|
+
// Copyright (c) 2003-2022 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
|
6
|
+
//
|
|
7
|
+
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
8
|
+
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
9
|
+
//
|
|
10
|
+
|
|
11
|
+
#ifndef BOOST_ASIO_ANY_COMPLETION_EXECUTOR_HPP
|
|
12
|
+
#define BOOST_ASIO_ANY_COMPLETION_EXECUTOR_HPP
|
|
13
|
+
|
|
14
|
+
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
|
|
15
|
+
# pragma once
|
|
16
|
+
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
|
|
17
|
+
|
|
18
|
+
#include <boost/asio/detail/config.hpp>
|
|
19
|
+
#if defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
|
|
20
|
+
# include <boost/asio/executor.hpp>
|
|
21
|
+
#else // defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
|
|
22
|
+
# include <boost/asio/execution.hpp>
|
|
23
|
+
#endif // defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
|
|
24
|
+
|
|
25
|
+
#include <boost/asio/detail/push_options.hpp>
|
|
26
|
+
|
|
27
|
+
namespace boost {
|
|
28
|
+
namespace asio {
|
|
29
|
+
|
|
30
|
+
#if defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
|
|
31
|
+
|
|
32
|
+
typedef executor any_completion_executor;
|
|
33
|
+
|
|
34
|
+
#else // defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
|
|
35
|
+
|
|
36
|
+
/// Polymorphic executor type for use with I/O objects.
|
|
37
|
+
/**
|
|
38
|
+
* The @c any_completion_executor type is a polymorphic executor that supports
|
|
39
|
+
* the set of properties required for the execution of completion handlers. It
|
|
40
|
+
* is defined as the execution::any_executor class template parameterised as
|
|
41
|
+
* follows:
|
|
42
|
+
* @code execution::any_executor<
|
|
43
|
+
* execution::prefer_only<execution::outstanding_work_t::tracked_t>,
|
|
44
|
+
* execution::prefer_only<execution::outstanding_work_t::untracked_t>
|
|
45
|
+
* execution::prefer_only<execution::relationship_t::fork_t>,
|
|
46
|
+
* execution::prefer_only<execution::relationship_t::continuation_t>
|
|
47
|
+
* > @endcode
|
|
48
|
+
*/
|
|
49
|
+
class any_completion_executor :
|
|
50
|
+
#if defined(GENERATING_DOCUMENTATION)
|
|
51
|
+
public execution::any_executor<...>
|
|
52
|
+
#else // defined(GENERATING_DOCUMENTATION)
|
|
53
|
+
public execution::any_executor<
|
|
54
|
+
execution::prefer_only<execution::outstanding_work_t::tracked_t>,
|
|
55
|
+
execution::prefer_only<execution::outstanding_work_t::untracked_t>,
|
|
56
|
+
execution::prefer_only<execution::relationship_t::fork_t>,
|
|
57
|
+
execution::prefer_only<execution::relationship_t::continuation_t>
|
|
58
|
+
>
|
|
59
|
+
#endif // defined(GENERATING_DOCUMENTATION)
|
|
60
|
+
{
|
|
61
|
+
public:
|
|
62
|
+
#if !defined(GENERATING_DOCUMENTATION)
|
|
63
|
+
typedef execution::any_executor<
|
|
64
|
+
execution::prefer_only<execution::outstanding_work_t::tracked_t>,
|
|
65
|
+
execution::prefer_only<execution::outstanding_work_t::untracked_t>,
|
|
66
|
+
execution::prefer_only<execution::relationship_t::fork_t>,
|
|
67
|
+
execution::prefer_only<execution::relationship_t::continuation_t>
|
|
68
|
+
> base_type;
|
|
69
|
+
|
|
70
|
+
typedef void supportable_properties_type(
|
|
71
|
+
execution::prefer_only<execution::outstanding_work_t::tracked_t>,
|
|
72
|
+
execution::prefer_only<execution::outstanding_work_t::untracked_t>,
|
|
73
|
+
execution::prefer_only<execution::relationship_t::fork_t>,
|
|
74
|
+
execution::prefer_only<execution::relationship_t::continuation_t>
|
|
75
|
+
);
|
|
76
|
+
#endif // !defined(GENERATING_DOCUMENTATION)
|
|
77
|
+
|
|
78
|
+
/// Default constructor.
|
|
79
|
+
BOOST_ASIO_DECL any_completion_executor() BOOST_ASIO_NOEXCEPT;
|
|
80
|
+
|
|
81
|
+
/// Construct in an empty state. Equivalent effects to default constructor.
|
|
82
|
+
BOOST_ASIO_DECL any_completion_executor(nullptr_t) BOOST_ASIO_NOEXCEPT;
|
|
83
|
+
|
|
84
|
+
/// Copy constructor.
|
|
85
|
+
BOOST_ASIO_DECL any_completion_executor(
|
|
86
|
+
const any_completion_executor& e) BOOST_ASIO_NOEXCEPT;
|
|
87
|
+
|
|
88
|
+
#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
|
89
|
+
/// Move constructor.
|
|
90
|
+
BOOST_ASIO_DECL any_completion_executor(
|
|
91
|
+
any_completion_executor&& e) BOOST_ASIO_NOEXCEPT;
|
|
92
|
+
#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
|
93
|
+
|
|
94
|
+
/// Construct to point to the same target as another any_executor.
|
|
95
|
+
#if defined(GENERATING_DOCUMENTATION)
|
|
96
|
+
template <class... OtherSupportableProperties>
|
|
97
|
+
any_completion_executor(
|
|
98
|
+
execution::any_executor<OtherSupportableProperties...> e);
|
|
99
|
+
#else // defined(GENERATING_DOCUMENTATION)
|
|
100
|
+
template <typename OtherAnyExecutor>
|
|
101
|
+
any_completion_executor(OtherAnyExecutor e,
|
|
102
|
+
typename constraint<
|
|
103
|
+
conditional<
|
|
104
|
+
!is_same<OtherAnyExecutor, any_completion_executor>::value
|
|
105
|
+
&& is_base_of<execution::detail::any_executor_base,
|
|
106
|
+
OtherAnyExecutor>::value,
|
|
107
|
+
typename execution::detail::supportable_properties<
|
|
108
|
+
0, supportable_properties_type>::template
|
|
109
|
+
is_valid_target<OtherAnyExecutor>,
|
|
110
|
+
false_type
|
|
111
|
+
>::type::value
|
|
112
|
+
>::type = 0)
|
|
113
|
+
: base_type(BOOST_ASIO_MOVE_CAST(OtherAnyExecutor)(e))
|
|
114
|
+
{
|
|
115
|
+
}
|
|
116
|
+
#endif // defined(GENERATING_DOCUMENTATION)
|
|
117
|
+
|
|
118
|
+
/// Construct to point to the same target as another any_executor.
|
|
119
|
+
#if defined(GENERATING_DOCUMENTATION)
|
|
120
|
+
template <class... OtherSupportableProperties>
|
|
121
|
+
any_completion_executor(std::nothrow_t,
|
|
122
|
+
execution::any_executor<OtherSupportableProperties...> e);
|
|
123
|
+
#else // defined(GENERATING_DOCUMENTATION)
|
|
124
|
+
template <typename OtherAnyExecutor>
|
|
125
|
+
any_completion_executor(std::nothrow_t, OtherAnyExecutor e,
|
|
126
|
+
typename constraint<
|
|
127
|
+
conditional<
|
|
128
|
+
!is_same<OtherAnyExecutor, any_completion_executor>::value
|
|
129
|
+
&& is_base_of<execution::detail::any_executor_base,
|
|
130
|
+
OtherAnyExecutor>::value,
|
|
131
|
+
typename execution::detail::supportable_properties<
|
|
132
|
+
0, supportable_properties_type>::template
|
|
133
|
+
is_valid_target<OtherAnyExecutor>,
|
|
134
|
+
false_type
|
|
135
|
+
>::type::value
|
|
136
|
+
>::type = 0) BOOST_ASIO_NOEXCEPT
|
|
137
|
+
: base_type(std::nothrow, BOOST_ASIO_MOVE_CAST(OtherAnyExecutor)(e))
|
|
138
|
+
{
|
|
139
|
+
}
|
|
140
|
+
#endif // defined(GENERATING_DOCUMENTATION)
|
|
141
|
+
|
|
142
|
+
/// Construct to point to the same target as another any_executor.
|
|
143
|
+
BOOST_ASIO_DECL any_completion_executor(std::nothrow_t,
|
|
144
|
+
const any_completion_executor& e) BOOST_ASIO_NOEXCEPT;
|
|
145
|
+
|
|
146
|
+
#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
|
147
|
+
/// Construct to point to the same target as another any_executor.
|
|
148
|
+
BOOST_ASIO_DECL any_completion_executor(std::nothrow_t,
|
|
149
|
+
any_completion_executor&& e) BOOST_ASIO_NOEXCEPT;
|
|
150
|
+
#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
|
151
|
+
|
|
152
|
+
/// Construct a polymorphic wrapper for the specified executor.
|
|
153
|
+
#if defined(GENERATING_DOCUMENTATION)
|
|
154
|
+
template <BOOST_ASIO_EXECUTION_EXECUTOR Executor>
|
|
155
|
+
any_completion_executor(Executor e);
|
|
156
|
+
#else // defined(GENERATING_DOCUMENTATION)
|
|
157
|
+
template <BOOST_ASIO_EXECUTION_EXECUTOR Executor>
|
|
158
|
+
any_completion_executor(Executor e,
|
|
159
|
+
typename constraint<
|
|
160
|
+
conditional<
|
|
161
|
+
!is_same<Executor, any_completion_executor>::value
|
|
162
|
+
&& !is_base_of<execution::detail::any_executor_base,
|
|
163
|
+
Executor>::value,
|
|
164
|
+
execution::detail::is_valid_target_executor<
|
|
165
|
+
Executor, supportable_properties_type>,
|
|
166
|
+
false_type
|
|
167
|
+
>::type::value
|
|
168
|
+
>::type = 0)
|
|
169
|
+
: base_type(BOOST_ASIO_MOVE_CAST(Executor)(e))
|
|
170
|
+
{
|
|
171
|
+
}
|
|
172
|
+
#endif // defined(GENERATING_DOCUMENTATION)
|
|
173
|
+
|
|
174
|
+
/// Construct a polymorphic wrapper for the specified executor.
|
|
175
|
+
#if defined(GENERATING_DOCUMENTATION)
|
|
176
|
+
template <BOOST_ASIO_EXECUTION_EXECUTOR Executor>
|
|
177
|
+
any_completion_executor(std::nothrow_t, Executor e);
|
|
178
|
+
#else // defined(GENERATING_DOCUMENTATION)
|
|
179
|
+
template <BOOST_ASIO_EXECUTION_EXECUTOR Executor>
|
|
180
|
+
any_completion_executor(std::nothrow_t, Executor e,
|
|
181
|
+
typename constraint<
|
|
182
|
+
conditional<
|
|
183
|
+
!is_same<Executor, any_completion_executor>::value
|
|
184
|
+
&& !is_base_of<execution::detail::any_executor_base,
|
|
185
|
+
Executor>::value,
|
|
186
|
+
execution::detail::is_valid_target_executor<
|
|
187
|
+
Executor, supportable_properties_type>,
|
|
188
|
+
false_type
|
|
189
|
+
>::type::value
|
|
190
|
+
>::type = 0) BOOST_ASIO_NOEXCEPT
|
|
191
|
+
: base_type(std::nothrow, BOOST_ASIO_MOVE_CAST(Executor)(e))
|
|
192
|
+
{
|
|
193
|
+
}
|
|
194
|
+
#endif // defined(GENERATING_DOCUMENTATION)
|
|
195
|
+
|
|
196
|
+
/// Assignment operator.
|
|
197
|
+
BOOST_ASIO_DECL any_completion_executor& operator=(
|
|
198
|
+
const any_completion_executor& e) BOOST_ASIO_NOEXCEPT;
|
|
199
|
+
|
|
200
|
+
#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
|
201
|
+
/// Move assignment operator.
|
|
202
|
+
BOOST_ASIO_DECL any_completion_executor& operator=(
|
|
203
|
+
any_completion_executor&& e) BOOST_ASIO_NOEXCEPT;
|
|
204
|
+
#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
|
205
|
+
|
|
206
|
+
/// Assignment operator that sets the polymorphic wrapper to the empty state.
|
|
207
|
+
BOOST_ASIO_DECL any_completion_executor& operator=(nullptr_t);
|
|
208
|
+
|
|
209
|
+
/// Destructor.
|
|
210
|
+
BOOST_ASIO_DECL ~any_completion_executor();
|
|
211
|
+
|
|
212
|
+
/// Swap targets with another polymorphic wrapper.
|
|
213
|
+
BOOST_ASIO_DECL void swap(any_completion_executor& other) BOOST_ASIO_NOEXCEPT;
|
|
214
|
+
|
|
215
|
+
/// Obtain a polymorphic wrapper with the specified property.
|
|
216
|
+
/**
|
|
217
|
+
* Do not call this function directly. It is intended for use with the
|
|
218
|
+
* boost::asio::require and boost::asio::prefer customisation points.
|
|
219
|
+
*
|
|
220
|
+
* For example:
|
|
221
|
+
* @code any_completion_executor ex = ...;
|
|
222
|
+
* auto ex2 = boost::asio::require(ex, execution::relationship.fork); @endcode
|
|
223
|
+
*/
|
|
224
|
+
template <typename Property>
|
|
225
|
+
any_completion_executor require(const Property& p,
|
|
226
|
+
typename constraint<
|
|
227
|
+
traits::require_member<const base_type&, const Property&>::is_valid
|
|
228
|
+
>::type = 0) const
|
|
229
|
+
{
|
|
230
|
+
return static_cast<const base_type&>(*this).require(p);
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/// Obtain a polymorphic wrapper with the specified property.
|
|
234
|
+
/**
|
|
235
|
+
* Do not call this function directly. It is intended for use with the
|
|
236
|
+
* boost::asio::prefer customisation point.
|
|
237
|
+
*
|
|
238
|
+
* For example:
|
|
239
|
+
* @code any_completion_executor ex = ...;
|
|
240
|
+
* auto ex2 = boost::asio::prefer(ex, execution::relationship.fork); @endcode
|
|
241
|
+
*/
|
|
242
|
+
template <typename Property>
|
|
243
|
+
any_completion_executor prefer(const Property& p,
|
|
244
|
+
typename constraint<
|
|
245
|
+
traits::prefer_member<const base_type&, const Property&>::is_valid
|
|
246
|
+
>::type = 0) const
|
|
247
|
+
{
|
|
248
|
+
return static_cast<const base_type&>(*this).prefer(p);
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
#if !defined(GENERATING_DOCUMENTATION)
|
|
253
|
+
|
|
254
|
+
template <>
|
|
255
|
+
BOOST_ASIO_DECL any_completion_executor any_completion_executor::prefer(
|
|
256
|
+
const execution::outstanding_work_t::tracked_t&, int) const;
|
|
257
|
+
|
|
258
|
+
template <>
|
|
259
|
+
BOOST_ASIO_DECL any_completion_executor any_completion_executor::prefer(
|
|
260
|
+
const execution::outstanding_work_t::untracked_t&, int) const;
|
|
261
|
+
|
|
262
|
+
template <>
|
|
263
|
+
BOOST_ASIO_DECL any_completion_executor any_completion_executor::prefer(
|
|
264
|
+
const execution::relationship_t::fork_t&, int) const;
|
|
265
|
+
|
|
266
|
+
template <>
|
|
267
|
+
BOOST_ASIO_DECL any_completion_executor any_completion_executor::prefer(
|
|
268
|
+
const execution::relationship_t::continuation_t&, int) const;
|
|
269
|
+
|
|
270
|
+
namespace traits {
|
|
271
|
+
|
|
272
|
+
#if !defined(BOOST_ASIO_HAS_DEDUCED_EQUALITY_COMPARABLE_TRAIT)
|
|
273
|
+
|
|
274
|
+
template <>
|
|
275
|
+
struct equality_comparable<any_completion_executor>
|
|
276
|
+
{
|
|
277
|
+
static const bool is_valid = true;
|
|
278
|
+
static const bool is_noexcept = true;
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
#endif // !defined(BOOST_ASIO_HAS_DEDUCED_EQUALITY_COMPARABLE_TRAIT)
|
|
282
|
+
|
|
283
|
+
#if !defined(BOOST_ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT)
|
|
284
|
+
|
|
285
|
+
template <typename F>
|
|
286
|
+
struct execute_member<any_completion_executor, F>
|
|
287
|
+
{
|
|
288
|
+
static const bool is_valid = true;
|
|
289
|
+
static const bool is_noexcept = false;
|
|
290
|
+
typedef void result_type;
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
#endif // !defined(BOOST_ASIO_HAS_DEDUCED_EXECUTE_MEMBER_TRAIT)
|
|
294
|
+
|
|
295
|
+
#if !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
|
|
296
|
+
|
|
297
|
+
template <typename Prop>
|
|
298
|
+
struct query_member<any_completion_executor, Prop> :
|
|
299
|
+
query_member<any_completion_executor::base_type, Prop>
|
|
300
|
+
{
|
|
301
|
+
};
|
|
302
|
+
|
|
303
|
+
#endif // !defined(BOOST_ASIO_HAS_DEDUCED_QUERY_MEMBER_TRAIT)
|
|
304
|
+
|
|
305
|
+
#if !defined(BOOST_ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT)
|
|
306
|
+
|
|
307
|
+
template <typename Prop>
|
|
308
|
+
struct require_member<any_completion_executor, Prop> :
|
|
309
|
+
require_member<any_completion_executor::base_type, Prop>
|
|
310
|
+
{
|
|
311
|
+
typedef any_completion_executor result_type;
|
|
312
|
+
};
|
|
313
|
+
|
|
314
|
+
#endif // !defined(BOOST_ASIO_HAS_DEDUCED_REQUIRE_MEMBER_TRAIT)
|
|
315
|
+
|
|
316
|
+
#if !defined(BOOST_ASIO_HAS_DEDUCED_PREFER_MEMBER_TRAIT)
|
|
317
|
+
|
|
318
|
+
template <typename Prop>
|
|
319
|
+
struct prefer_member<any_completion_executor, Prop> :
|
|
320
|
+
prefer_member<any_completion_executor::base_type, Prop>
|
|
321
|
+
{
|
|
322
|
+
typedef any_completion_executor result_type;
|
|
323
|
+
};
|
|
324
|
+
|
|
325
|
+
#endif // !defined(BOOST_ASIO_HAS_DEDUCED_PREFER_MEMBER_TRAIT)
|
|
326
|
+
|
|
327
|
+
} // namespace traits
|
|
328
|
+
|
|
329
|
+
#endif // !defined(GENERATING_DOCUMENTATION)
|
|
330
|
+
|
|
331
|
+
#endif // defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
|
|
332
|
+
|
|
333
|
+
} // namespace asio
|
|
334
|
+
} // namespace boost
|
|
335
|
+
|
|
336
|
+
#include <boost/asio/detail/pop_options.hpp>
|
|
337
|
+
|
|
338
|
+
#if defined(BOOST_ASIO_HEADER_ONLY) \
|
|
339
|
+
&& !defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
|
|
340
|
+
# include <boost/asio/impl/any_completion_executor.ipp>
|
|
341
|
+
#endif // defined(BOOST_ASIO_HEADER_ONLY)
|
|
342
|
+
// && !defined(BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT)
|
|
343
|
+
|
|
344
|
+
#endif // BOOST_ASIO_ANY_COMPLETION_EXECUTOR_HPP
|