passenger 6.0.2 → 6.0.7
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 +152 -19
- data/CONTRIBUTING.md +1 -1
- data/CONTRIBUTORS +5 -0
- data/bin/passenger-install-nginx-module +1 -1
- data/bin/passenger-memory-stats +65 -12
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +56 -3
- data/dev/copy_boost_headers +1 -0
- data/package.json +1 -1
- data/passenger.gemspec +9 -1
- data/resources/templates/error_renderer/with_details/dist/bundle.js +1 -1
- data/resources/templates/error_renderer/with_details/src/GetHelpView.jsx +1 -1
- data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.css +0 -0
- data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.js +0 -0
- data/resources/templates/error_renderer/with_details/src/bootstrap/config.json +0 -0
- data/resources/templates/standalone/http.erb +1 -0
- data/resources/templates/standalone/rails_asset_pipeline.erb +1 -1
- data/resources/templates/standalone/server.erb +1 -0
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +2 -0
- data/src/agent/Core/ApplicationPool/Implementation.cpp +0 -1
- data/src/agent/Core/ApplicationPool/Options.h +19 -0
- data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
- data/src/agent/Core/Config.h +15 -1
- data/src/agent/Core/Controller.h +1 -0
- data/src/agent/Core/Controller/Config.h +9 -1
- data/src/agent/Core/Controller/ForwardResponse.cpp +13 -0
- data/src/agent/Core/Controller/InitRequest.cpp +5 -0
- data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -0
- data/src/agent/Core/CoreMain.cpp +1 -0
- data/src/agent/Core/OptionParser.h +3 -0
- data/src/agent/Core/SpawningKit/Config.h +11 -0
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +13 -0
- data/src/agent/Core/SpawningKit/Context.h +1 -0
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
- data/src/agent/Core/SpawningKit/Spawner.h +1 -0
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +2 -0
- data/src/agent/Watchdog/Config.h +16 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +7 -0
- data/src/apache2_module/Config.cpp +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +15 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +15 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +40 -0
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +10 -0
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +6 -0
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +26 -0
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +14 -0
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +34 -0
- data/src/apache2_module/Hooks.cpp +5 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +11 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +13 -0
- data/src/cxx_supportlib/Constants.h +4 -2
- data/src/cxx_supportlib/Hooks.h +1 -0
- data/src/cxx_supportlib/LoggingKit/Config.h +1 -0
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
- data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +2 -2
- data/src/cxx_supportlib/WebSocketCommandReverseServer.h +11 -7
- data/src/cxx_supportlib/oxt/system_calls.cpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +46 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +45 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +38 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +50 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +13 -12
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +34 -34
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/thread_clock.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/thread_clock.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +89 -0
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +83 -74
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -33
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/has_constraints.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/comeau.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +368 -52
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/greenhills.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +262 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +22 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +833 -459
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +24 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +61 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +33 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +132 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +28 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +167 -115
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +181 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +167 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +389 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +262 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +52 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +364 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +286 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +56 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +43 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +100 -31
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +126 -69
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +75 -51
- data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/exchange.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +101 -130
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +16 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +26 -10
- data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +38 -47
- data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +62 -58
- data/src/cxx_supportlib/vendor-modified/boost/function.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +29 -29
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +38 -40
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +44 -44
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +39 -39
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +33 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +39 -39
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +61 -61
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +66 -66
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +54 -54
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +23 -23
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +18 -13
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +16 -5
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/tss_null.cpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +29 -6
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +23 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +20 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +211 -101
- data/src/cxx_supportlib/vendor-modified/boost/parameter/python.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +119 -25
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +17 -8
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +166 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +513 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +291 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +4106 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/faure.hpp +367 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +360 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +237 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +13 -5
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +11 -5
- data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +14 -6
- data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +55 -37
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +15 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +1 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +2 -10
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +60 -115
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +4 -24
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +101 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +141 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_posix.hpp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +775 -588
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +13 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_safety.hpp +160 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/tss_hooks.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +24 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/lock_guard.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_traits.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +8 -53
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +73 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +14 -9
- data/src/cxx_supportlib/vendor-modified/boost/thread/xtime.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +21 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +108 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +501 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_msvc10_fix.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +117 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +557 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/enable_if.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +344 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +5 -15
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +16 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +4 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +4 -79
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +3 -97
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_noncopyable.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +104 -63
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/constant.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +201 -201
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +301 -301
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +401 -401
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +101 -101
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +26 -6
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/modp_b64_data.h +0 -4
- data/src/cxx_supportlib/vendor-modified/modp_b64_strict_aliasing.cpp +5 -1
- data/src/helper-scripts/node-loader.js +1 -1
- data/src/helper-scripts/prespawn +1 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +40 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +27 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +48 -0
- data/src/nginx_module/Configuration.c +14 -1
- data/src/nginx_module/ContentHandler.c +5 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +21 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +30 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +42 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +9 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +15 -0
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +6 -0
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +12 -0
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +4 -0
- data/src/nginx_module/ngx_http_passenger_module.c +3 -2
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +0 -0
- data/src/ruby_supportlib/phusion_passenger.rb +8 -8
- data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +22 -0
- data/src/ruby_supportlib/phusion_passenger/constants.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +4 -2
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +35 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +10 -0
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +7 -6
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +5 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +13 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +4 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +15 -11
- metadata +42 -8
- data/src/cxx_supportlib/vendor-modified/boost/call_traits.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/detail/call_traits.hpp +0 -172
- data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +0 -496
@@ -267,11 +267,13 @@ private:
|
|
267
267
|
{
|
268
268
|
if (index == heap_.size() - 1)
|
269
269
|
{
|
270
|
+
timer.heap_index_ = (std::numeric_limits<std::size_t>::max)();
|
270
271
|
heap_.pop_back();
|
271
272
|
}
|
272
273
|
else
|
273
274
|
{
|
274
275
|
swap_heap(index, heap_.size() - 1);
|
276
|
+
timer.heap_index_ = (std::numeric_limits<std::size_t>::max)();
|
275
277
|
heap_.pop_back();
|
276
278
|
if (index > 0 && Time_Traits::less_than(
|
277
279
|
heap_[index].time_, heap_[(index - 1) / 2].time_))
|
@@ -250,7 +250,7 @@ void io_context::executor_type::dispatch(
|
|
250
250
|
p.p = new (p.v) op(BOOST_ASIO_MOVE_CAST(Function)(f), a);
|
251
251
|
|
252
252
|
BOOST_ASIO_HANDLER_CREATION((this->context(), *p.p,
|
253
|
-
"io_context", &this->context(), 0, "
|
253
|
+
"io_context", &this->context(), 0, "dispatch"));
|
254
254
|
|
255
255
|
io_context_.impl_.post_immediate_completion(p.p, false);
|
256
256
|
p.v = p.p = 0;
|
@@ -270,7 +270,9 @@ std::size_t read_until(SyncReadStream& s,
|
|
270
270
|
}
|
271
271
|
|
272
272
|
// Need more data.
|
273
|
-
std::size_t bytes_to_read =
|
273
|
+
std::size_t bytes_to_read = std::min<std::size_t>(
|
274
|
+
std::max<std::size_t>(512, b.capacity() - b.size()),
|
275
|
+
std::min<std::size_t>(65536, b.max_size() - b.size()));
|
274
276
|
b.commit(s.read_some(b.prepare(bytes_to_read), ec));
|
275
277
|
if (ec)
|
276
278
|
return 0;
|
@@ -25,7 +25,12 @@ namespace asio {
|
|
25
25
|
namespace ip {
|
26
26
|
|
27
27
|
/// Thrown to indicate a failed address conversion.
|
28
|
-
class bad_address_cast :
|
28
|
+
class bad_address_cast :
|
29
|
+
#if defined(BOOST_ASIO_MSVC) && defined(_HAS_EXCEPTIONS) && !_HAS_EXCEPTIONS
|
30
|
+
public std::exception
|
31
|
+
#else
|
32
|
+
public std::bad_cast
|
33
|
+
#endif
|
29
34
|
{
|
30
35
|
public:
|
31
36
|
/// Default constructor.
|
@@ -199,7 +199,8 @@ public:
|
|
199
199
|
}
|
200
200
|
|
201
201
|
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
202
|
-
/// (Deprecated
|
202
|
+
/// (Deprecated: Use overload with separate host and service parameters.)
|
203
|
+
/// Perform forward resolution of a query to a list of entries.
|
203
204
|
/**
|
204
205
|
* This function is used to resolve a query into a list of endpoint entries.
|
205
206
|
*
|
@@ -220,7 +221,8 @@ public:
|
|
220
221
|
return r;
|
221
222
|
}
|
222
223
|
|
223
|
-
/// (Deprecated
|
224
|
+
/// (Deprecated: Use overload with separate host and service parameters.)
|
225
|
+
/// Perform forward resolution of a query to a list of entries.
|
224
226
|
/**
|
225
227
|
* This function is used to resolve a query into a list of endpoint entries.
|
226
228
|
*
|
@@ -601,8 +603,8 @@ public:
|
|
601
603
|
}
|
602
604
|
|
603
605
|
#if !defined(BOOST_ASIO_NO_DEPRECATED)
|
604
|
-
/// (Deprecated
|
605
|
-
/// list of entries.
|
606
|
+
/// (Deprecated: Use overload with separate host and service parameters.)
|
607
|
+
/// Asynchronously perform forward resolution of a query to a list of entries.
|
606
608
|
/**
|
607
609
|
* This function is used to asynchronously resolve a query into a list of
|
608
610
|
* endpoint entries.
|
@@ -233,19 +233,19 @@ public:
|
|
233
233
|
/// Get the number of entries in the results range.
|
234
234
|
size_type size() const BOOST_ASIO_NOEXCEPT
|
235
235
|
{
|
236
|
-
return this->values_->size();
|
236
|
+
return this->values_ ? this->values_->size() : 0;
|
237
237
|
}
|
238
238
|
|
239
239
|
/// Get the maximum number of entries permitted in a results range.
|
240
240
|
size_type max_size() const BOOST_ASIO_NOEXCEPT
|
241
241
|
{
|
242
|
-
return this->values_->max_size();
|
242
|
+
return this->values_ ? this->values_->max_size() : values_type().max_size();
|
243
243
|
}
|
244
244
|
|
245
245
|
/// Determine whether the results range is empty.
|
246
246
|
bool empty() const BOOST_ASIO_NOEXCEPT
|
247
247
|
{
|
248
|
-
return this->values_->empty();
|
248
|
+
return this->values_ ? this->values_->empty() : true;
|
249
249
|
}
|
250
250
|
|
251
251
|
/// Obtain a begin iterator for the results range.
|
@@ -253,7 +253,7 @@ public:
|
|
253
253
|
{
|
254
254
|
basic_resolver_results tmp(*this);
|
255
255
|
tmp.index_ = 0;
|
256
|
-
return tmp;
|
256
|
+
return BOOST_ASIO_MOVE_CAST(basic_resolver_results)(tmp);
|
257
257
|
}
|
258
258
|
|
259
259
|
/// Obtain an end iterator for the results range.
|
@@ -16,11 +16,11 @@
|
|
16
16
|
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
|
17
17
|
|
18
18
|
#include <boost/asio/detail/config.hpp>
|
19
|
+
#include <boost/asio/detail/future.hpp>
|
19
20
|
|
20
|
-
#if defined(
|
21
|
+
#if defined(BOOST_ASIO_HAS_STD_FUTURE_CLASS) \
|
21
22
|
|| defined(GENERATING_DOCUMENTATION)
|
22
23
|
|
23
|
-
#include <future>
|
24
24
|
#include <boost/asio/async_result.hpp>
|
25
25
|
#include <boost/asio/detail/type_traits.hpp>
|
26
26
|
#include <boost/asio/detail/variadic_templates.hpp>
|
@@ -122,7 +122,7 @@ private:
|
|
122
122
|
|
123
123
|
#include <boost/asio/detail/pop_options.hpp>
|
124
124
|
|
125
|
-
#endif // defined(
|
125
|
+
#endif // defined(BOOST_ASIO_HAS_STD_FUTURE_CLASS)
|
126
126
|
// || defined(GENERATING_DOCUMENTATION)
|
127
127
|
|
128
128
|
#endif // BOOST_ASIO_PACKAGED_TASK_HPP
|
@@ -33,8 +33,8 @@ namespace asio {
|
|
33
33
|
/**
|
34
34
|
* @defgroup read boost::asio::read
|
35
35
|
*
|
36
|
-
* @brief
|
37
|
-
* returning.
|
36
|
+
* @brief The @c read function is a composed operation that reads a certain
|
37
|
+
* amount of data from a stream before returning.
|
38
38
|
*/
|
39
39
|
/*@{*/
|
40
40
|
|
@@ -533,8 +533,8 @@ std::size_t read(SyncReadStream& s, basic_streambuf<Allocator>& b,
|
|
533
533
|
/**
|
534
534
|
* @defgroup async_read boost::asio::async_read
|
535
535
|
*
|
536
|
-
* @brief
|
537
|
-
* a stream.
|
536
|
+
* @brief The @c async_read function is a composed asynchronous operation that
|
537
|
+
* reads a certain amount of data from a stream before completion.
|
538
538
|
*/
|
539
539
|
/*@{*/
|
540
540
|
|
@@ -33,8 +33,8 @@ namespace asio {
|
|
33
33
|
/**
|
34
34
|
* @defgroup read_at boost::asio::read_at
|
35
35
|
*
|
36
|
-
* @brief
|
37
|
-
* before returning.
|
36
|
+
* @brief The @c read_at function is a composed operation that reads a certain
|
37
|
+
* amount of data at the specified offset before returning.
|
38
38
|
*/
|
39
39
|
/*@{*/
|
40
40
|
|
@@ -395,8 +395,8 @@ std::size_t read_at(SyncRandomAccessReadDevice& d,
|
|
395
395
|
/**
|
396
396
|
* @defgroup async_read_at boost::asio::async_read_at
|
397
397
|
*
|
398
|
-
* @brief
|
399
|
-
* the specified offset.
|
398
|
+
* @brief The @c async_read_at function is a composed asynchronous operation
|
399
|
+
* that reads a certain amount of data at the specified offset.
|
400
400
|
*/
|
401
401
|
/*@{*/
|
402
402
|
|
@@ -68,9 +68,10 @@ struct is_match_condition
|
|
68
68
|
/**
|
69
69
|
* @defgroup read_until boost::asio::read_until
|
70
70
|
*
|
71
|
-
* @brief
|
72
|
-
*
|
73
|
-
* indicates a
|
71
|
+
* @brief The @c read_until function is a composed operation that reads data
|
72
|
+
* into a dynamic buffer sequence, or into a streambuf, until it contains a
|
73
|
+
* delimiter, matches a regular expression, or a function object indicates a
|
74
|
+
* match.
|
74
75
|
*/
|
75
76
|
/*@{*/
|
76
77
|
|
@@ -986,9 +987,10 @@ std::size_t read_until(SyncReadStream& s,
|
|
986
987
|
/**
|
987
988
|
* @defgroup async_read_until boost::asio::async_read_until
|
988
989
|
*
|
989
|
-
* @brief
|
990
|
-
*
|
991
|
-
* regular expression, or a function object
|
990
|
+
* @brief The @c async_read_until function is a composed asynchronous operation
|
991
|
+
* that reads data into a dynamic buffer sequence, or into a streambuf, until
|
992
|
+
* it contains a delimiter, matches a regular expression, or a function object
|
993
|
+
* indicates a match.
|
992
994
|
*/
|
993
995
|
/*@{*/
|
994
996
|
|
@@ -86,6 +86,15 @@ public:
|
|
86
86
|
/// TLS version 1.2 server.
|
87
87
|
tlsv12_server,
|
88
88
|
|
89
|
+
/// Generic TLS version 1.3.
|
90
|
+
tlsv13,
|
91
|
+
|
92
|
+
/// TLS version 1.3 client.
|
93
|
+
tlsv13_client,
|
94
|
+
|
95
|
+
/// TLS version 1.3 server.
|
96
|
+
tlsv13_server,
|
97
|
+
|
89
98
|
/// Generic TLS.
|
90
99
|
tls,
|
91
100
|
|
@@ -121,6 +130,9 @@ public:
|
|
121
130
|
/// Disable TLS v1.2.
|
122
131
|
static const long no_tlsv1_2 = implementation_defined;
|
123
132
|
|
133
|
+
/// Disable TLS v1.3.
|
134
|
+
static const long no_tlsv1_3 = implementation_defined;
|
135
|
+
|
124
136
|
/// Disable compression. Compression is disabled by default.
|
125
137
|
static const long no_compression = implementation_defined;
|
126
138
|
#else
|
@@ -139,6 +151,11 @@ public:
|
|
139
151
|
# else // defined(SSL_OP_NO_TLSv1_2)
|
140
152
|
BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_2 = 0x08000000L);
|
141
153
|
# endif // defined(SSL_OP_NO_TLSv1_2)
|
154
|
+
# if defined(SSL_OP_NO_TLSv1_3)
|
155
|
+
BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_3 = SSL_OP_NO_TLSv1_3);
|
156
|
+
# else // defined(SSL_OP_NO_TLSv1_3)
|
157
|
+
BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_3 = 0x20000000L);
|
158
|
+
# endif // defined(SSL_OP_NO_TLSv1_3)
|
142
159
|
# if defined(SSL_OP_NO_COMPRESSION)
|
143
160
|
BOOST_ASIO_STATIC_CONSTANT(long, no_compression = SSL_OP_NO_COMPRESSION);
|
144
161
|
# else // defined(SSL_OP_NO_COMPRESSION)
|
@@ -158,7 +158,7 @@ context::context(context::method m)
|
|
158
158
|
SSL_CTX_set_max_proto_version(handle_, TLS1_VERSION);
|
159
159
|
}
|
160
160
|
break;
|
161
|
-
#
|
161
|
+
#elif defined(SSL_TXT_TLSV1)
|
162
162
|
case context::tlsv1:
|
163
163
|
handle_ = ::SSL_CTX_new(::TLSv1_method());
|
164
164
|
break;
|
@@ -168,7 +168,14 @@ context::context(context::method m)
|
|
168
168
|
case context::tlsv1_server:
|
169
169
|
handle_ = ::SSL_CTX_new(::TLSv1_server_method());
|
170
170
|
break;
|
171
|
-
#
|
171
|
+
#else // defined(SSL_TXT_TLSV1)
|
172
|
+
case context::tlsv1:
|
173
|
+
case context::tlsv1_client:
|
174
|
+
case context::tlsv1_server:
|
175
|
+
boost::asio::detail::throw_error(
|
176
|
+
boost::asio::error::invalid_argument, "context");
|
177
|
+
break;
|
178
|
+
#endif // defined(SSL_TXT_TLSV1)
|
172
179
|
|
173
180
|
// TLS v1.1.
|
174
181
|
#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
|
@@ -241,7 +248,7 @@ context::context(context::method m)
|
|
241
248
|
SSL_CTX_set_max_proto_version(handle_, TLS1_2_VERSION);
|
242
249
|
}
|
243
250
|
break;
|
244
|
-
#elif defined(
|
251
|
+
#elif defined(SSL_TXT_TLSV1_2)
|
245
252
|
case context::tlsv12:
|
246
253
|
handle_ = ::SSL_CTX_new(::TLSv1_2_method());
|
247
254
|
break;
|
@@ -251,14 +258,52 @@ context::context(context::method m)
|
|
251
258
|
case context::tlsv12_server:
|
252
259
|
handle_ = ::SSL_CTX_new(::TLSv1_2_server_method());
|
253
260
|
break;
|
254
|
-
#else // defined(
|
261
|
+
#else // defined(SSL_TXT_TLSV1_2)
|
255
262
|
case context::tlsv12:
|
256
263
|
case context::tlsv12_client:
|
257
264
|
case context::tlsv12_server:
|
258
265
|
boost::asio::detail::throw_error(
|
259
266
|
boost::asio::error::invalid_argument, "context");
|
260
267
|
break;
|
261
|
-
#endif // defined(
|
268
|
+
#endif // defined(SSL_TXT_TLSV1_2)
|
269
|
+
|
270
|
+
// TLS v1.3.
|
271
|
+
#if (OPENSSL_VERSION_NUMBER >= 0x10101000L) \
|
272
|
+
&& !defined(LIBRESSL_VERSION_NUMBER)
|
273
|
+
case context::tlsv13:
|
274
|
+
handle_ = ::SSL_CTX_new(::TLS_method());
|
275
|
+
if (handle_)
|
276
|
+
{
|
277
|
+
SSL_CTX_set_min_proto_version(handle_, TLS1_3_VERSION);
|
278
|
+
SSL_CTX_set_max_proto_version(handle_, TLS1_3_VERSION);
|
279
|
+
}
|
280
|
+
break;
|
281
|
+
case context::tlsv13_client:
|
282
|
+
handle_ = ::SSL_CTX_new(::TLS_client_method());
|
283
|
+
if (handle_)
|
284
|
+
{
|
285
|
+
SSL_CTX_set_min_proto_version(handle_, TLS1_3_VERSION);
|
286
|
+
SSL_CTX_set_max_proto_version(handle_, TLS1_3_VERSION);
|
287
|
+
}
|
288
|
+
break;
|
289
|
+
case context::tlsv13_server:
|
290
|
+
handle_ = ::SSL_CTX_new(::TLS_server_method());
|
291
|
+
if (handle_)
|
292
|
+
{
|
293
|
+
SSL_CTX_set_min_proto_version(handle_, TLS1_3_VERSION);
|
294
|
+
SSL_CTX_set_max_proto_version(handle_, TLS1_3_VERSION);
|
295
|
+
}
|
296
|
+
break;
|
297
|
+
#else // (OPENSSL_VERSION_NUMBER >= 0x10101000L)
|
298
|
+
// && !defined(LIBRESSL_VERSION_NUMBER)
|
299
|
+
case context::tlsv13:
|
300
|
+
case context::tlsv13_client:
|
301
|
+
case context::tlsv13_server:
|
302
|
+
boost::asio::detail::throw_error(
|
303
|
+
boost::asio::error::invalid_argument, "context");
|
304
|
+
break;
|
305
|
+
#endif // (OPENSSL_VERSION_NUMBER >= 0x10101000L)
|
306
|
+
// && !defined(LIBRESSL_VERSION_NUMBER)
|
262
307
|
|
263
308
|
// Any supported SSL/TLS version.
|
264
309
|
case context::sslv23:
|
@@ -635,7 +635,8 @@ public:
|
|
635
635
|
*
|
636
636
|
* @note The async_write_some operation may not transmit all of the data to
|
637
637
|
* the peer. Consider using the @ref async_write function if you need to
|
638
|
-
* ensure that all data is written before the
|
638
|
+
* ensure that all data is written before the asynchronous operation
|
639
|
+
* completes.
|
639
640
|
*/
|
640
641
|
template <typename ConstBufferSequence, typename WriteHandler>
|
641
642
|
BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler,
|
@@ -33,7 +33,7 @@ namespace asio {
|
|
33
33
|
*
|
34
34
|
* @par Submitting tasks to the pool
|
35
35
|
*
|
36
|
-
* To submit functions to the
|
36
|
+
* To submit functions to the thread_pool, use the @ref boost::asio::dispatch,
|
37
37
|
* @ref boost::asio::post or @ref boost::asio::defer free functions.
|
38
38
|
*
|
39
39
|
* For example:
|
@@ -16,8 +16,9 @@
|
|
16
16
|
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
|
17
17
|
|
18
18
|
#include <boost/asio/detail/config.hpp>
|
19
|
+
#include <boost/asio/detail/future.hpp>
|
19
20
|
|
20
|
-
#if defined(
|
21
|
+
#if defined(BOOST_ASIO_HAS_STD_FUTURE_CLASS) \
|
21
22
|
|| defined(GENERATING_DOCUMENTATION)
|
22
23
|
|
23
24
|
#include <memory>
|
@@ -155,7 +156,7 @@ __declspec(selectany) use_future_t<> use_future;
|
|
155
156
|
|
156
157
|
#include <boost/asio/impl/use_future.hpp>
|
157
158
|
|
158
|
-
#endif // defined(
|
159
|
+
#endif // defined(BOOST_ASIO_HAS_STD_FUTURE_CLASS)
|
159
160
|
// || defined(GENERATING_DOCUMENTATION)
|
160
161
|
|
161
162
|
#endif // BOOST_ASIO_USE_FUTURE_HPP
|
@@ -18,6 +18,6 @@
|
|
18
18
|
// BOOST_ASIO_VERSION % 100 is the sub-minor version
|
19
19
|
// BOOST_ASIO_VERSION / 100 % 1000 is the minor version
|
20
20
|
// BOOST_ASIO_VERSION / 100000 is the major version
|
21
|
-
#define BOOST_ASIO_VERSION
|
21
|
+
#define BOOST_ASIO_VERSION 101202 // 1.12.2
|
22
22
|
|
23
23
|
#endif // BOOST_ASIO_VERSION_HPP
|
@@ -33,7 +33,8 @@ namespace asio {
|
|
33
33
|
/**
|
34
34
|
* @defgroup write boost::asio::write
|
35
35
|
*
|
36
|
-
* @brief
|
36
|
+
* @brief The @c write function is a composed operation that writes a certain
|
37
|
+
* amount of data to a stream before returning.
|
37
38
|
*/
|
38
39
|
/*@{*/
|
39
40
|
|
@@ -533,8 +534,8 @@ std::size_t write(SyncWriteStream& s, basic_streambuf<Allocator>& b,
|
|
533
534
|
/**
|
534
535
|
* @defgroup async_write boost::asio::async_write
|
535
536
|
*
|
536
|
-
* @brief
|
537
|
-
* stream.
|
537
|
+
* @brief The @c async_write function is a composed asynchronous operation that
|
538
|
+
* writes a certain amount of data to a stream before completion.
|
538
539
|
*/
|
539
540
|
/*@{*/
|
540
541
|
|
@@ -33,7 +33,8 @@ namespace asio {
|
|
33
33
|
/**
|
34
34
|
* @defgroup write_at boost::asio::write_at
|
35
35
|
*
|
36
|
-
* @brief
|
36
|
+
* @brief The @c write_at function is a composed operation that writes a
|
37
|
+
* certain amount of data at a specified offset before returning.
|
37
38
|
*/
|
38
39
|
/*@{*/
|
39
40
|
|
@@ -393,8 +394,9 @@ std::size_t write_at(SyncRandomAccessWriteDevice& d, uint64_t offset,
|
|
393
394
|
/**
|
394
395
|
* @defgroup async_write_at boost::asio::async_write_at
|
395
396
|
*
|
396
|
-
* @brief
|
397
|
-
* the specified offset
|
397
|
+
* @brief The @c async_write_at function is a composed asynchronous operation
|
398
|
+
* that writes a certain amount of data at the specified offset before
|
399
|
+
* completion.
|
398
400
|
*/
|
399
401
|
/*@{*/
|
400
402
|
|
@@ -158,11 +158,13 @@ struct gcc_dcas_x86
|
|
158
158
|
}
|
159
159
|
else
|
160
160
|
{
|
161
|
-
|
162
|
-
//
|
163
|
-
|
164
|
-
#
|
161
|
+
// Note that despite const qualification cmpxchg8b below may issue a store to the storage. The storage value
|
162
|
+
// will not change, but this prevents the storage to reside in read-only memory.
|
163
|
+
|
164
|
+
#if defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS)
|
165
|
+
|
165
166
|
uint32_t value_bits[2];
|
167
|
+
|
166
168
|
// We don't care for comparison result here; the previous value will be stored into value anyway.
|
167
169
|
// Also we don't care for ebx and ecx values, they just have to be equal to eax and edx before cmpxchg8b.
|
168
170
|
__asm__ __volatile__
|
@@ -175,7 +177,9 @@ struct gcc_dcas_x86
|
|
175
177
|
: BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory"
|
176
178
|
);
|
177
179
|
BOOST_ATOMIC_DETAIL_MEMCPY(&value, value_bits, sizeof(value));
|
180
|
+
|
178
181
|
#else // defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS)
|
182
|
+
|
179
183
|
// We don't care for comparison result here; the previous value will be stored into value anyway.
|
180
184
|
// Also we don't care for ebx and ecx values, they just have to be equal to eax and edx before cmpxchg8b.
|
181
185
|
__asm__ __volatile__
|
@@ -187,6 +191,7 @@ struct gcc_dcas_x86
|
|
187
191
|
: [storage] "m" (storage)
|
188
192
|
: BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory"
|
189
193
|
);
|
194
|
+
|
190
195
|
#endif // defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS)
|
191
196
|
}
|
192
197
|
|
@@ -266,7 +271,7 @@ struct gcc_dcas_x86
|
|
266
271
|
return compare_exchange_strong(storage, expected, desired, success_order, failure_order);
|
267
272
|
}
|
268
273
|
|
269
|
-
static BOOST_FORCEINLINE storage_type exchange(storage_type volatile& storage, storage_type v, memory_order
|
274
|
+
static BOOST_FORCEINLINE storage_type exchange(storage_type volatile& storage, storage_type v, memory_order) BOOST_NOEXCEPT
|
270
275
|
{
|
271
276
|
#if defined(BOOST_ATOMIC_DETAIL_X86_ASM_PRESERVE_EBX)
|
272
277
|
#if defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS)
|
@@ -401,15 +406,11 @@ struct gcc_dcas_x86_64
|
|
401
406
|
|
402
407
|
static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order) BOOST_NOEXCEPT
|
403
408
|
{
|
404
|
-
|
409
|
+
// Note that despite const qualification cmpxchg16b below may issue a store to the storage. The storage value
|
410
|
+
// will not change, but this prevents the storage to reside in read-only memory.
|
405
411
|
|
406
|
-
|
407
|
-
storage_type value = storage_type();
|
408
|
-
return __sync_val_compare_and_swap(&storage, value, value);
|
409
|
-
|
410
|
-
#elif defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS)
|
412
|
+
#if defined(BOOST_ATOMIC_DETAIL_X86_NO_ASM_AX_DX_PAIRS)
|
411
413
|
|
412
|
-
// Some compilers can't allocate rax:rdx register pair either and also don't support 128-bit __sync_val_compare_and_swap
|
413
414
|
uint64_t value_bits[2];
|
414
415
|
|
415
416
|
// We don't care for comparison result here; the previous value will be stored into value anyway.
|