passenger 5.1.4 → 5.1.5
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.editorconfig +9 -0
- data/CHANGELOG +9 -0
- data/build/cxx_tests.rb +11 -1
- data/build/documentation.rb +0 -32
- data/build/support/cxx_dependency_map.rb +602 -2
- data/build/test_basics.rb +3 -3
- data/dev/boost-patches/0001-Patch-boost-thread-so-that-oxt-thread-can-use-it.patch +48 -0
- data/dev/boost-patches/0002-Make-boost-thread_interrupted-derive-from-oxt-tracab.patch +33 -0
- data/dev/boost-patches/0003-Disable-a-Clang-pragma-to-prevent-warnings-on-OS-X.patch +25 -0
- data/dev/ci/README.md +121 -0
- data/dev/ci/lib/functions.sh +129 -0
- data/dev/ci/lib/set-container-envvars.sh +46 -0
- data/dev/ci/lib/setup-container.sh +43 -0
- data/dev/ci/run-tests-natively +24 -0
- data/dev/ci/run-tests-with-docker +42 -0
- data/dev/ci/scripts/debug-console-wrapper.sh +27 -0
- data/dev/ci/scripts/docker-entrypoint-stage2.sh +17 -0
- data/dev/ci/scripts/docker-entrypoint.sh +17 -0
- data/dev/ci/scripts/inituidgid +17 -0
- data/dev/ci/scripts/run-tests-natively-stage2.sh +17 -0
- data/dev/ci/scripts/setup-host-natively.sh +11 -0
- data/dev/ci/setup-host +50 -0
- data/dev/ci/tests/apache2/run +6 -0
- data/dev/ci/tests/apache2/setup +4 -0
- data/dev/ci/tests/cxx/run +9 -0
- data/dev/ci/tests/cxx/setup +4 -0
- data/dev/ci/tests/nginx-dynamic/run +20 -0
- data/dev/ci/tests/nginx-dynamic/setup +4 -0
- data/dev/ci/tests/nginx/run +5 -0
- data/dev/ci/tests/nginx/setup +4 -0
- data/dev/ci/tests/nodejs/run +4 -0
- data/dev/ci/tests/nodejs/setup +4 -0
- data/dev/ci/tests/ruby/run +4 -0
- data/dev/ci/tests/ruby/setup +4 -0
- data/dev/ci/tests/source-packaging/run +4 -0
- data/dev/ci/tests/source-packaging/setup +4 -0
- data/dev/ci/tests/standalone/run +4 -0
- data/dev/ci/tests/standalone/setup +4 -0
- data/dev/copy_boost_headers +8 -2
- data/src/agent/Core/ApiServer.h +11 -5
- data/src/agent/Core/Controller.h +12 -46
- data/src/agent/Core/Controller/CheckoutSession.cpp +1 -1
- data/src/agent/Core/Controller/Config.h +369 -0
- data/src/agent/Core/Controller/ForwardResponse.cpp +4 -4
- data/src/agent/Core/Controller/Hooks.cpp +15 -3
- data/src/agent/Core/Controller/Implementation.cpp +1 -1
- data/src/agent/Core/Controller/InitRequest.cpp +28 -39
- data/src/agent/Core/Controller/InitializationAndShutdown.cpp +25 -60
- data/src/agent/Core/Controller/InternalUtils.cpp +0 -16
- data/src/agent/Core/Controller/Miscellaneous.cpp +0 -17
- data/src/agent/Core/Controller/Request.h +2 -0
- data/src/agent/Core/Controller/SendRequest.cpp +4 -4
- data/src/agent/Core/Controller/{StateInspectionAndConfiguration.cpp → StateInspection.cpp} +0 -22
- data/src/agent/Core/Controller/TurboCaching.h +11 -10
- data/src/agent/Core/CoreMain.cpp +16 -6
- data/src/agent/Core/ResponseCache.h +3 -3
- data/src/agent/Core/SpawningKit/SmartSpawner.h +9 -3
- data/src/agent/Core/SpawningKit/Spawner.h +7 -3
- data/src/agent/UstRouter/ApiServer.h +3 -2
- data/src/agent/UstRouter/Controller.h +66 -32
- data/src/agent/UstRouter/UstRouterMain.cpp +10 -2
- data/src/agent/Watchdog/ApiServer.h +3 -2
- data/src/agent/Watchdog/WatchdogMain.cpp +3 -1
- data/src/apache2_module/ConfigurationCommands.cpp +1 -1
- data/src/cxx_supportlib/ConfigKit/Common.h +125 -0
- data/src/cxx_supportlib/ConfigKit/ConfigKit.h +34 -0
- data/src/cxx_supportlib/ConfigKit/README.md +895 -0
- data/src/cxx_supportlib/ConfigKit/Schema.h +331 -0
- data/src/cxx_supportlib/ConfigKit/Store.h +385 -0
- data/src/cxx_supportlib/ConfigKit/TableTranslator.h +185 -0
- data/src/cxx_supportlib/ConfigKit/Utils.h +141 -0
- data/src/cxx_supportlib/ConfigKit/VariantMapUtils.h +81 -0
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/Crypto.cpp +2 -2
- data/src/cxx_supportlib/Logging.h +0 -35
- data/src/cxx_supportlib/ServerKit/HttpServer.h +35 -16
- data/src/cxx_supportlib/ServerKit/Server.h +65 -25
- data/src/cxx_supportlib/oxt/macros.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/replace.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/array.hpp +53 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_template.hpp +11 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +13 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_x86.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_msvc_x86.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_emulated.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_alpha.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_atomic.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sparc.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sync.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +28 -17
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_linux_arm.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_arm.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_x86.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/bind/arg.hpp +10 -3
- data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +90 -18
- data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +35 -6
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +2 -0
- 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 +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/compaq_cxx.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +19 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -1
- 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 +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +29 -7
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pgi.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sgi_mipspro.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +44 -16
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/linux.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/select_compiler_config.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +42 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcomo.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +40 -7
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +39 -6
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/modena.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/msl.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/roguewave.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/sgi.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/stlport.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/vacpp.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/suffix.hpp +33 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +34 -27
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +62 -26
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/addressof.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/construct_in_place.hpp +39 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +49 -32
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +175 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +223 -98
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_sorted.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +88 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +7 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +4 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +45 -18
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +205 -26
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +290 -181
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +24 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +38 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +320 -46
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +91 -18
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +23 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +491 -120
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +399 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/deque.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_map.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_set.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/list.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/map.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/set.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/slist.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/small_vector.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/stable_vector.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/string.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/vector.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +101 -20
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +19 -14
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +117 -59
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +33 -28
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +414 -70
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator_fwd.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +134 -117
- data/src/cxx_supportlib/vendor-modified/boost/core/addressof.hpp +202 -99
- data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +8 -10
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +217 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/scoped_enum.hpp +29 -27
- data/src/cxx_supportlib/vendor-modified/boost/current_function.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/c_time.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/date_time/constrained_value.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration_types.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_facet.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/date_names_put.hpp +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_calendar.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_date.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day_of_year.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration_types.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_facet.hpp +27 -7
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_month.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_serialize.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_weekday.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_year.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_date_time.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/posix_time_zone.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/date_duration_operators.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_config.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/ptime.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_parsers.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_base.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/date_time/year_month_day.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/iterator.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/detail/workaround.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/shared_ptr.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +25 -3
- data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +114 -1
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +116 -142
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +57 -69
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/detail/hash_float.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/extensions.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/functional/hash/hash.hpp +27 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/any_hook.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +99 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set_hook.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +35 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +37 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +95 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set_hook.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +209 -72
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +86 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +11 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/algo_type.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +58 -45
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +27 -26
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +27 -26
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/equal_to_value.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/exception_disposer.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +9 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/has_member_function_callable_with.hpp +83 -57
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iiterator.hpp +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +70 -44
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +22 -21
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +29 -28
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/reverse_iterator.hpp +33 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/size_holder.hpp +19 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +21 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/to_raw_pointer.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/transform_iterator.hpp +23 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +23 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +10 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +103 -29
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +15 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +295 -211
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +20 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list_hook.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/options.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/parent_from_member.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +22 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +36 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +43 -13
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +95 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set_hook.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +96 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +102 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +48 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +20 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist_hook.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +95 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +36 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +167 -23
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +100 -46
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/trivial_value_traits.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +37 -27
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +30 -14
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +35 -36
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +6 -28
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +20 -5
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once.cpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +11 -7
- data/src/cxx_supportlib/vendor-modified/boost/math/policies/policy.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/fpclassify.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +40 -7
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +63 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +2437 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +121 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/insertion_sort.hpp +127 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +637 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge_sort.hpp +139 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +155 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -116
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +14 -13
- data/src/cxx_supportlib/vendor-modified/boost/move/default_delete.hpp +17 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/destruct_n.hpp +67 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/fwd_macros.hpp +227 -32
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_traits.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +30 -9
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils_core.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +84 -80
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/placement_new.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/reverse_iterator.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +14 -20
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +32 -33
- data/src/cxx_supportlib/vendor-modified/boost/move/make_unique.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +49 -49
- data/src/cxx_supportlib/vendor-modified/boost/move/utility.hpp +8 -7
- data/src/cxx_supportlib/vendor-modified/boost/move/utility_core.hpp +17 -16
- data/src/cxx_supportlib/vendor-modified/boost/mpl/print.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/none.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +197 -255
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +1059 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_aligned_storage.hpp +75 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +116 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_factory_support.hpp +36 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +253 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +196 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +117 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +372 -554
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional_fwd.hpp +12 -1
- data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +15 -7
- data/src/cxx_supportlib/vendor-modified/boost/pool/pool_alloc.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/intel.h +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/visualc.h +15 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd.h +16 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86.h +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd.h +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd/versions.h +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/version_number.h +20 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/cat.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/binary_transform.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/to_list_msvc.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/to_list.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/const_iterator.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +102 -87
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +45 -21
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +14 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +5 -14
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +116 -13
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +1004 -159
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/bad_weak_ptr.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +4 -58
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_noexcept.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +28 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ref_counter.hpp +187 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +52 -144
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +120 -450
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +70 -8
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +6 -5
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/barrier.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/completion_latch.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_views.hpp +0 -11
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_timed_queue.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/generic_executor_ref.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/loop_executor.hpp +22 -18
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +163 -55
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/launch.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_all.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/lock_types.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/thread/locks.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +17 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/timespec.hpp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/scoped_thread.hpp +23 -18
- data/src/cxx_supportlib/vendor-modified/boost/thread/synchronized_value.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/thread_functors.hpp +19 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/thread_guard.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/user_scheduler.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_index.hpp +265 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +272 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +300 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_reference.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/aligned_storage.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/common_type.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/mp_defer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/extent.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_assign.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_constructor.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_destructor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_assign.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_copy.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_destructor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_abstract.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_array.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_assignable.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_const.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_default_constructible.hpp +21 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_destructible.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_pod.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_volatile.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/rank.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_all_extents.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_const.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_cv.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_extent.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_volatile.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_with_alignment.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +40 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +4986 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +107 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/set.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +1814 -1255
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +41 -45
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +1498 -1161
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +40 -44
- data/src/cxx_supportlib/vendor-modified/boost/utility.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/utility/base_from_member.hpp +7 -6
- data/src/cxx_supportlib/vendor-modified/boost/utility/compare_pointees.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +39 -22
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +690 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view_fwd.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/helper-scripts/crash-watch.rb +3 -0
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +2 -12
- metadata +77 -38
- data/dev/ci/inituidgid +0 -24
- data/dev/ci/run_jenkins.sh +0 -70
- data/dev/ci/run_travis.sh +0 -314
- data/doc/Design and Architecture.html +0 -2421
- data/doc/Design and Architecture.txt +0 -511
- data/doc/Security of user switching support.html +0 -1833
- data/doc/Users guide Apache.html +0 -3101
- data/doc/Users guide Apache.idmap.txt +0 -451
- data/doc/Users guide Apache.txt +0 -534
- data/doc/Users guide Nginx.html +0 -3026
- data/doc/Users guide Nginx.idmap.txt +0 -431
- data/doc/Users guide Nginx.txt +0 -451
- data/doc/Users guide Standalone.html +0 -2092
- data/doc/Users guide Standalone.idmap.txt +0 -137
- data/doc/Users guide Standalone.txt +0 -81
- data/doc/Users guide.html +0 -1606
- data/doc/Users guide.txt +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/align/align.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/address.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/align.hpp +0 -40
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/align_cxx11.hpp +0 -22
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +0 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/hash_table.hpp +0 -383
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_allocator.hpp +0 -318
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_count_impl.hpp +0 -67
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_traits.hpp +0 -60
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_utility.hpp +0 -214
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_if_array.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/allocate.hpp +0 -1128
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/buckets.hpp +0 -928
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/equivalent.hpp +0 -686
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/extract_key.hpp +0 -188
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/table.hpp +0 -873
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/unique.hpp +0 -628
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/util.hpp +0 -266
@@ -12,6 +12,8 @@
|
|
12
12
|
#include <boost/detail/workaround.hpp>
|
13
13
|
#include <boost/thread/detail/platform.hpp>
|
14
14
|
|
15
|
+
//#define BOOST_THREAD_USEFIXES_TIMESPEC
|
16
|
+
//#define BOOST_THREAD_HAS_CONDATTR_SET_CLOCK_MONOTONIC
|
15
17
|
//#define BOOST_THREAD_DONT_PROVIDE_INTERRUPTIONS
|
16
18
|
// ATTRIBUTE_MAY_ALIAS
|
17
19
|
|
@@ -100,8 +102,8 @@
|
|
100
102
|
#if !defined BOOST_THREAD_VERSION
|
101
103
|
#define BOOST_THREAD_VERSION 2
|
102
104
|
#else
|
103
|
-
#if BOOST_THREAD_VERSION!=2 && BOOST_THREAD_VERSION!=3 && BOOST_THREAD_VERSION!=4
|
104
|
-
#error "BOOST_THREAD_VERSION must be 2, 3 or
|
105
|
+
#if BOOST_THREAD_VERSION!=2 && BOOST_THREAD_VERSION!=3 && BOOST_THREAD_VERSION!=4 && BOOST_THREAD_VERSION!=5
|
106
|
+
#error "BOOST_THREAD_VERSION must be 2, 3, 4 or 5"
|
105
107
|
#endif
|
106
108
|
#endif
|
107
109
|
|
@@ -304,6 +306,13 @@
|
|
304
306
|
|
305
307
|
#endif // BOOST_THREAD_VERSION>=4
|
306
308
|
|
309
|
+
|
310
|
+
#if BOOST_THREAD_VERSION>=5
|
311
|
+
//#define BOOST_THREAD_FUTURE_BLOCKING
|
312
|
+
#else
|
313
|
+
//#define BOOST_THREAD_FUTURE_BLOCKING
|
314
|
+
#define BOOST_THREAD_ASYNC_FUTURE_WAITS
|
315
|
+
#endif
|
307
316
|
// INTERRUPTIONS
|
308
317
|
#if ! defined BOOST_THREAD_PROVIDES_INTERRUPTIONS \
|
309
318
|
&& ! defined BOOST_THREAD_DONT_PROVIDE_INTERRUPTIONS
|
@@ -482,13 +482,20 @@ namespace boost
|
|
482
482
|
return try_join_until(chrono::steady_clock::now() + rel_time);
|
483
483
|
}
|
484
484
|
#endif
|
485
|
+
|
486
|
+
#if defined(BOOST_THREAD_HAS_CONDATTR_SET_CLOCK_MONOTONIC) && defined(BOOST_THREAD_USEFIXES_TIMESPEC)
|
487
|
+
typedef chrono::steady_clock my_clock_t;
|
488
|
+
#else
|
489
|
+
typedef chrono::system_clock my_clock_t;
|
490
|
+
#endif
|
491
|
+
|
485
492
|
template <class Clock, class Duration>
|
486
493
|
bool try_join_until(const chrono::time_point<Clock, Duration>& t)
|
487
494
|
{
|
488
495
|
using namespace chrono;
|
489
496
|
bool joined= false;
|
490
497
|
do {
|
491
|
-
|
498
|
+
my_clock_t::time_point s_now = my_clock_t::now();
|
492
499
|
typename Clock::duration d = ceil<nanoseconds>(t-Clock::now());
|
493
500
|
if (d <= Clock::duration::zero()) return false; // in case the Clock::time_point t is already reached
|
494
501
|
joined = try_join_until(s_now + d);
|
@@ -496,10 +503,10 @@ namespace boost
|
|
496
503
|
return true;
|
497
504
|
}
|
498
505
|
template <class Duration>
|
499
|
-
bool try_join_until(const chrono::time_point<
|
506
|
+
bool try_join_until(const chrono::time_point<my_clock_t, Duration>& t)
|
500
507
|
{
|
501
508
|
using namespace chrono;
|
502
|
-
typedef time_point<
|
509
|
+
typedef time_point<my_clock_t, nanoseconds> nano_sys_tmpt;
|
503
510
|
return try_join_until(nano_sys_tmpt(ceil<nanoseconds>(t.time_since_epoch())));
|
504
511
|
}
|
505
512
|
#endif
|
@@ -514,7 +521,7 @@ namespace boost
|
|
514
521
|
//}
|
515
522
|
|
516
523
|
#ifdef BOOST_THREAD_USES_CHRONO
|
517
|
-
bool try_join_until(const chrono::time_point<
|
524
|
+
bool try_join_until(const chrono::time_point<my_clock_t, chrono::nanoseconds>& tp)
|
518
525
|
{
|
519
526
|
chrono::milliseconds rel_time= chrono::ceil<chrono::milliseconds>(tp-chrono::system_clock::now());
|
520
527
|
return do_try_join_until(rel_time.count());
|
@@ -42,19 +42,19 @@ namespace boost
|
|
42
42
|
typedef system::system_error base_type;
|
43
43
|
public:
|
44
44
|
thread_exception()
|
45
|
-
: base_type(0,system::
|
45
|
+
: base_type(0,system::generic_category())
|
46
46
|
{}
|
47
47
|
|
48
48
|
thread_exception(int sys_error_code)
|
49
|
-
: base_type(sys_error_code, system::
|
49
|
+
: base_type(sys_error_code, system::generic_category())
|
50
50
|
{}
|
51
51
|
|
52
52
|
thread_exception( int ev, const char * what_arg )
|
53
|
-
: base_type(system::error_code(ev, system::
|
53
|
+
: base_type(system::error_code(ev, system::generic_category()), what_arg)
|
54
54
|
{
|
55
55
|
}
|
56
56
|
thread_exception( int ev, const std::string & what_arg )
|
57
|
-
: base_type(system::error_code(ev, system::
|
57
|
+
: base_type(system::error_code(ev, system::generic_category()), what_arg)
|
58
58
|
{
|
59
59
|
}
|
60
60
|
|
@@ -76,18 +76,18 @@ namespace boost
|
|
76
76
|
typedef system::system_error base_type;
|
77
77
|
public:
|
78
78
|
condition_error()
|
79
|
-
: base_type(system::error_code(0, system::
|
79
|
+
: base_type(system::error_code(0, system::generic_category()), "Condition error")
|
80
80
|
{}
|
81
81
|
condition_error( int ev )
|
82
|
-
: base_type(system::error_code(ev, system::
|
82
|
+
: base_type(system::error_code(ev, system::generic_category()), "Condition error")
|
83
83
|
{
|
84
84
|
}
|
85
85
|
condition_error( int ev, const char * what_arg )
|
86
|
-
: base_type(system::error_code(ev, system::
|
86
|
+
: base_type(system::error_code(ev, system::generic_category()), what_arg)
|
87
87
|
{
|
88
88
|
}
|
89
89
|
condition_error( int ev, const std::string & what_arg )
|
90
|
-
: base_type(system::error_code(ev, system::
|
90
|
+
: base_type(system::error_code(ev, system::generic_category()), what_arg)
|
91
91
|
{
|
92
92
|
}
|
93
93
|
};
|
@@ -32,7 +32,7 @@ namespace boost
|
|
32
32
|
|
33
33
|
/// executor is not copyable.
|
34
34
|
BOOST_THREAD_NO_COPYABLE(executor_ref)
|
35
|
-
executor_ref(Executor&
|
35
|
+
executor_ref(Executor& ex_) : ex(ex_) {}
|
36
36
|
|
37
37
|
/**
|
38
38
|
* \par Effects
|
@@ -41,7 +41,7 @@ namespace boost
|
|
41
41
|
* \par Synchronization
|
42
42
|
* The completion of all the closures happen before the completion of the executor destructor.
|
43
43
|
*/
|
44
|
-
~executor_ref() {}
|
44
|
+
~executor_ref() {}
|
45
45
|
|
46
46
|
/**
|
47
47
|
* \par Effects
|
@@ -98,9 +98,9 @@ namespace boost
|
|
98
98
|
typedef executors::work work;
|
99
99
|
|
100
100
|
template<typename Executor>
|
101
|
-
generic_executor_ref(Executor&
|
102
|
-
//: ex(make_shared<executor_ref<Executor> >(
|
103
|
-
: ex( new executor_ref<Executor>(
|
101
|
+
generic_executor_ref(Executor& ex_)
|
102
|
+
//: ex(make_shared<executor_ref<Executor> >(ex_)) // todo check why this doesn't works with C++03
|
103
|
+
: ex( new executor_ref<Executor>(ex_) )
|
104
104
|
{
|
105
105
|
}
|
106
106
|
|
@@ -16,6 +16,7 @@
|
|
16
16
|
#include <boost/thread/detail/move.hpp>
|
17
17
|
#include <boost/thread/concurrent_queues/sync_queue.hpp>
|
18
18
|
#include <boost/thread/executors/work.hpp>
|
19
|
+
#include <boost/assert.hpp>
|
19
20
|
|
20
21
|
#include <boost/config/abi_prefix.hpp>
|
21
22
|
|
@@ -40,15 +41,33 @@ namespace executors
|
|
40
41
|
* Throws: whatever the current task constructor throws or the task() throws.
|
41
42
|
*/
|
42
43
|
bool try_executing_one()
|
44
|
+
{
|
45
|
+
return execute_one(/*wait:*/false);
|
46
|
+
}
|
47
|
+
|
48
|
+
private:
|
49
|
+
/**
|
50
|
+
* Effects: Execute one task.
|
51
|
+
* Remark: If wait is true, waits until a task is available or the executor
|
52
|
+
* is closed. If wait is false, returns false immediately if no
|
53
|
+
* task is available.
|
54
|
+
* Returns: whether a task has been executed (if wait is true, only returns false if closed).
|
55
|
+
* Throws: whatever the current task constructor throws or the task() throws.
|
56
|
+
*/
|
57
|
+
bool execute_one(bool wait)
|
43
58
|
{
|
44
59
|
work task;
|
45
60
|
try
|
46
61
|
{
|
47
|
-
|
62
|
+
queue_op_status status = wait ?
|
63
|
+
work_queue.wait_pull(task) :
|
64
|
+
work_queue.try_pull(task);
|
65
|
+
if (status == queue_op_status::success)
|
48
66
|
{
|
49
67
|
task();
|
50
68
|
return true;
|
51
69
|
}
|
70
|
+
BOOST_ASSERT(!wait || status == queue_op_status::closed);
|
52
71
|
return false;
|
53
72
|
}
|
54
73
|
catch (...)
|
@@ -57,21 +76,6 @@ namespace executors
|
|
57
76
|
//return false;
|
58
77
|
}
|
59
78
|
}
|
60
|
-
private:
|
61
|
-
/**
|
62
|
-
* Effects: schedule one task or yields
|
63
|
-
* Throws: whatever the current task constructor throws or the task() throws.
|
64
|
-
*/
|
65
|
-
void schedule_one_or_yield()
|
66
|
-
{
|
67
|
-
if ( ! try_executing_one())
|
68
|
-
{
|
69
|
-
this_thread::yield();
|
70
|
-
}
|
71
|
-
}
|
72
|
-
|
73
|
-
|
74
|
-
|
75
79
|
|
76
80
|
public:
|
77
81
|
/// loop_executor is not copyable.
|
@@ -101,10 +105,10 @@ namespace executors
|
|
101
105
|
*/
|
102
106
|
void loop()
|
103
107
|
{
|
104
|
-
while (
|
108
|
+
while (execute_one(/*wait:*/true))
|
105
109
|
{
|
106
|
-
schedule_one_or_yield();
|
107
110
|
}
|
111
|
+
BOOST_ASSERT(closed());
|
108
112
|
while (try_executing_one())
|
109
113
|
{
|
110
114
|
}
|
@@ -14,7 +14,6 @@
|
|
14
14
|
// due to boost::exception::exception_ptr dependency
|
15
15
|
|
16
16
|
//#define BOOST_THREAD_CONTINUATION_SYNC
|
17
|
-
#define BOOST_THREAD_FUTURE_BLOCKING
|
18
17
|
|
19
18
|
#ifndef BOOST_NO_EXCEPTIONS
|
20
19
|
|
@@ -177,8 +176,8 @@ namespace boost
|
|
177
176
|
ex()
|
178
177
|
{}
|
179
178
|
|
180
|
-
shared_state_base(exceptional_ptr const&
|
181
|
-
exception(
|
179
|
+
shared_state_base(exceptional_ptr const& ex_):
|
180
|
+
exception(ex_.ptr_),
|
182
181
|
done(true),
|
183
182
|
is_valid_(true),
|
184
183
|
is_deferred_(false),
|
@@ -825,6 +824,12 @@ namespace boost
|
|
825
824
|
{
|
826
825
|
#ifdef BOOST_THREAD_FUTURE_BLOCKING
|
827
826
|
join();
|
827
|
+
#elif defined BOOST_THREAD_ASYNC_FUTURE_WAITS
|
828
|
+
unique_lock<boost::mutex> lk(this->mutex);
|
829
|
+
while(!this->done)
|
830
|
+
{
|
831
|
+
this->waiters.wait(lk);
|
832
|
+
}
|
828
833
|
#endif
|
829
834
|
}
|
830
835
|
|
@@ -853,9 +858,9 @@ namespace boost
|
|
853
858
|
void init(BOOST_THREAD_FWD_REF(Fp) f)
|
854
859
|
{
|
855
860
|
#ifdef BOOST_THREAD_FUTURE_BLOCKING
|
856
|
-
this->thr_ = thread(&future_async_shared_state::run, static_shared_from_this(this), boost::forward<Fp>(f));
|
861
|
+
this->thr_ = boost::thread(&future_async_shared_state::run, static_shared_from_this(this), boost::forward<Fp>(f));
|
857
862
|
#else
|
858
|
-
thread(&future_async_shared_state::run, static_shared_from_this(this), boost::forward<Fp>(f)).detach();
|
863
|
+
boost::thread(&future_async_shared_state::run, static_shared_from_this(this), boost::forward<Fp>(f)).detach();
|
859
864
|
#endif
|
860
865
|
}
|
861
866
|
|
@@ -878,9 +883,9 @@ namespace boost
|
|
878
883
|
void init(BOOST_THREAD_FWD_REF(Fp) f)
|
879
884
|
{
|
880
885
|
#ifdef BOOST_THREAD_FUTURE_BLOCKING
|
881
|
-
this->thr_ = thread(&future_async_shared_state::run, static_shared_from_this(this), boost::move(f));
|
886
|
+
this->thr_ = boost::thread(&future_async_shared_state::run, static_shared_from_this(this), boost::move(f));
|
882
887
|
#else
|
883
|
-
thread(&future_async_shared_state::run, static_shared_from_this(this), boost::move(f)).detach();
|
888
|
+
boost::thread(&future_async_shared_state::run, static_shared_from_this(this), boost::move(f)).detach();
|
884
889
|
#endif
|
885
890
|
}
|
886
891
|
|
@@ -904,9 +909,9 @@ namespace boost
|
|
904
909
|
void init(BOOST_THREAD_FWD_REF(Fp) f)
|
905
910
|
{
|
906
911
|
#ifdef BOOST_THREAD_FUTURE_BLOCKING
|
907
|
-
this->thr_ = thread(&future_async_shared_state::run, static_shared_from_this(this), boost::move(f));
|
912
|
+
this->thr_ = boost::thread(&future_async_shared_state::run, static_shared_from_this(this), boost::move(f));
|
908
913
|
#else
|
909
|
-
thread(&future_async_shared_state::run, static_shared_from_this(this), boost::move(f)).detach();
|
914
|
+
boost::thread(&future_async_shared_state::run, static_shared_from_this(this), boost::move(f)).detach();
|
910
915
|
#endif
|
911
916
|
}
|
912
917
|
|
@@ -1350,7 +1355,7 @@ namespace boost
|
|
1350
1355
|
boost::throw_exception(future_uninitialized());
|
1351
1356
|
}
|
1352
1357
|
return future_->mutex;
|
1353
|
-
}
|
1358
|
+
}
|
1354
1359
|
|
1355
1360
|
notify_when_ready_handle notify_when_ready(boost::condition_variable_any& cv)
|
1356
1361
|
{
|
@@ -1432,6 +1437,10 @@ namespace boost
|
|
1432
1437
|
BOOST_THREAD_FUTURE<Rp>
|
1433
1438
|
make_future_async_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, BOOST_THREAD_RV_REF(F) f, BOOST_THREAD_FWD_REF(Fp) c);
|
1434
1439
|
|
1440
|
+
template <class F, class Rp, class Fp>
|
1441
|
+
BOOST_THREAD_FUTURE<Rp>
|
1442
|
+
make_future_sync_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, BOOST_THREAD_RV_REF(F) f, BOOST_THREAD_FWD_REF(Fp) c);
|
1443
|
+
|
1435
1444
|
template <class F, class Rp, class Fp>
|
1436
1445
|
BOOST_THREAD_FUTURE<Rp>
|
1437
1446
|
make_future_deferred_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, BOOST_THREAD_RV_REF(F) f, BOOST_THREAD_FWD_REF(Fp) c);
|
@@ -1444,6 +1453,11 @@ namespace boost
|
|
1444
1453
|
BOOST_THREAD_FUTURE<Rp>
|
1445
1454
|
make_shared_future_async_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, F f, BOOST_THREAD_FWD_REF(Fp) c);
|
1446
1455
|
|
1456
|
+
template<typename F, typename Rp, typename Fp>
|
1457
|
+
BOOST_THREAD_FUTURE<Rp>
|
1458
|
+
make_shared_future_sync_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, F f, BOOST_THREAD_FWD_REF(Fp) c);
|
1459
|
+
|
1460
|
+
|
1447
1461
|
#ifdef BOOST_THREAD_PROVIDES_EXECUTORS
|
1448
1462
|
template<typename Ex, typename F, typename Rp, typename Fp>
|
1449
1463
|
BOOST_THREAD_FUTURE<Rp>
|
@@ -1516,6 +1530,10 @@ namespace boost
|
|
1516
1530
|
friend BOOST_THREAD_FUTURE<Rp>
|
1517
1531
|
detail::make_future_async_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, BOOST_THREAD_RV_REF(F) f, BOOST_THREAD_FWD_REF(Fp) c);
|
1518
1532
|
|
1533
|
+
template <class F, class Rp, class Fp>
|
1534
|
+
friend BOOST_THREAD_FUTURE<Rp>
|
1535
|
+
detail::make_future_sync_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, BOOST_THREAD_RV_REF(F) f, BOOST_THREAD_FWD_REF(Fp) c);
|
1536
|
+
|
1519
1537
|
template <class F, class Rp, class Fp>
|
1520
1538
|
friend BOOST_THREAD_FUTURE<Rp>
|
1521
1539
|
detail::make_future_deferred_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, BOOST_THREAD_RV_REF(F) f, BOOST_THREAD_FWD_REF(Fp) c);
|
@@ -1528,6 +1546,10 @@ namespace boost
|
|
1528
1546
|
friend BOOST_THREAD_FUTURE<Rp>
|
1529
1547
|
detail::make_shared_future_async_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, F f, BOOST_THREAD_FWD_REF(Fp) c);
|
1530
1548
|
|
1549
|
+
template<typename F, typename Rp, typename Fp>
|
1550
|
+
friend BOOST_THREAD_FUTURE<Rp>
|
1551
|
+
detail::make_shared_future_sync_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, F f, BOOST_THREAD_FWD_REF(Fp) c);
|
1552
|
+
|
1531
1553
|
#ifdef BOOST_THREAD_PROVIDES_EXECUTORS
|
1532
1554
|
template<typename Ex, typename F, typename Rp, typename Fp>
|
1533
1555
|
friend BOOST_THREAD_FUTURE<Rp>
|
@@ -1617,7 +1639,7 @@ namespace boost
|
|
1617
1639
|
base_type(boost::move(static_cast<base_type&>(BOOST_THREAD_RV(other))))
|
1618
1640
|
{
|
1619
1641
|
}
|
1620
|
-
inline BOOST_THREAD_FUTURE(BOOST_THREAD_RV_REF(BOOST_THREAD_FUTURE<BOOST_THREAD_FUTURE<R> >) other); // EXTENSION
|
1642
|
+
inline explicit BOOST_THREAD_FUTURE(BOOST_THREAD_RV_REF(BOOST_THREAD_FUTURE<BOOST_THREAD_FUTURE<R> >) other); // EXTENSION
|
1621
1643
|
|
1622
1644
|
explicit BOOST_THREAD_FUTURE(BOOST_THREAD_RV_REF(shared_future<R>) other) :
|
1623
1645
|
base_type(boost::move(static_cast<base_type&>(BOOST_THREAD_RV(other))))
|
@@ -1772,6 +1794,10 @@ namespace boost
|
|
1772
1794
|
friend BOOST_THREAD_FUTURE<Rp>
|
1773
1795
|
detail::make_future_async_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, BOOST_THREAD_RV_REF(F) f, BOOST_THREAD_FWD_REF(Fp) c);
|
1774
1796
|
|
1797
|
+
template <class F, class Rp, class Fp>
|
1798
|
+
friend BOOST_THREAD_FUTURE<Rp>
|
1799
|
+
detail::make_future_sync_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, BOOST_THREAD_RV_REF(F) f, BOOST_THREAD_FWD_REF(Fp) c);
|
1800
|
+
|
1775
1801
|
template <class F, class Rp, class Fp>
|
1776
1802
|
friend BOOST_THREAD_FUTURE<Rp>
|
1777
1803
|
detail::make_future_deferred_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, BOOST_THREAD_RV_REF(F) f, BOOST_THREAD_FWD_REF(Fp) c);
|
@@ -1784,6 +1810,10 @@ namespace boost
|
|
1784
1810
|
friend BOOST_THREAD_FUTURE<Rp>
|
1785
1811
|
detail::make_shared_future_async_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, F f, BOOST_THREAD_FWD_REF(Fp) c);
|
1786
1812
|
|
1813
|
+
template<typename F, typename Rp, typename Fp>
|
1814
|
+
friend BOOST_THREAD_FUTURE<Rp>
|
1815
|
+
detail::make_shared_future_sync_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, F f, BOOST_THREAD_FWD_REF(Fp) c);
|
1816
|
+
|
1787
1817
|
#ifdef BOOST_THREAD_PROVIDES_EXECUTORS
|
1788
1818
|
template<typename Ex, typename F, typename Rp, typename Fp>
|
1789
1819
|
friend BOOST_THREAD_FUTURE<Rp>
|
@@ -2005,6 +2035,10 @@ namespace boost
|
|
2005
2035
|
friend BOOST_THREAD_FUTURE<Rp>
|
2006
2036
|
detail::make_future_async_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, BOOST_THREAD_RV_REF(F) f, BOOST_THREAD_FWD_REF(Fp) c);
|
2007
2037
|
|
2038
|
+
template <class F, class Rp, class Fp>
|
2039
|
+
friend BOOST_THREAD_FUTURE<Rp>
|
2040
|
+
detail::make_future_sync_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, BOOST_THREAD_RV_REF(F) f, BOOST_THREAD_FWD_REF(Fp) c);
|
2041
|
+
|
2008
2042
|
template <class F, class Rp, class Fp>
|
2009
2043
|
friend BOOST_THREAD_FUTURE<Rp>
|
2010
2044
|
detail::make_future_deferred_continuation_shared_state(boost::unique_lock<boost::mutex> &lock, BOOST_THREAD_RV_REF(F) f, BOOST_THREAD_FWD_REF(Fp) c);
|
@@ -4210,12 +4244,6 @@ namespace detail {
|
|
4210
4244
|
////////////////////////////////
|
4211
4245
|
#if defined BOOST_THREAD_PROVIDES_FUTURE_CONTINUATION
|
4212
4246
|
|
4213
|
-
#if defined BOOST_THREAD_CONTINUATION_SYNC
|
4214
|
-
#define continuation_shared_state_base shared_state
|
4215
|
-
#else
|
4216
|
-
#define continuation_shared_state_base future_async_shared_state_base
|
4217
|
-
#endif
|
4218
|
-
|
4219
4247
|
namespace detail
|
4220
4248
|
{
|
4221
4249
|
//////////////////////
|
@@ -4345,26 +4373,43 @@ namespace detail
|
|
4345
4373
|
/////////////////////////
|
4346
4374
|
|
4347
4375
|
template<typename F, typename Rp, typename Fp>
|
4348
|
-
struct future_async_continuation_shared_state: continuation_shared_state<F,Rp,Fp,
|
4376
|
+
struct future_async_continuation_shared_state: continuation_shared_state<F,Rp,Fp,future_async_shared_state_base<Rp> >
|
4349
4377
|
{
|
4350
|
-
typedef continuation_shared_state<F,Rp,Fp,
|
4378
|
+
typedef continuation_shared_state<F,Rp,Fp,future_async_shared_state_base<Rp> > base_type;
|
4351
4379
|
public:
|
4352
4380
|
future_async_continuation_shared_state(BOOST_THREAD_RV_REF(F) f, BOOST_THREAD_FWD_REF(Fp) c)
|
4353
4381
|
: base_type(boost::move(f), boost::forward<Fp>(c))
|
4354
4382
|
{ }
|
4355
4383
|
|
4356
4384
|
void launch_continuation() {
|
4357
|
-
#if defined
|
4358
|
-
this->call();
|
4359
|
-
#elif defined BOOST_THREAD_FUTURE_BLOCKING
|
4385
|
+
#if defined BOOST_THREAD_FUTURE_BLOCKING
|
4360
4386
|
boost::lock_guard<boost::mutex> lk(this->mutex);
|
4361
|
-
this->thr_ = thread(&future_async_continuation_shared_state::run, static_shared_from_this(this));
|
4387
|
+
this->thr_ = boost::thread(&future_async_continuation_shared_state::run, static_shared_from_this(this));
|
4362
4388
|
#else
|
4363
|
-
thread(&
|
4389
|
+
boost::thread(&base_type::run, static_shared_from_this(this)).detach();
|
4364
4390
|
#endif
|
4365
4391
|
}
|
4366
4392
|
};
|
4367
4393
|
|
4394
|
+
/////////////////////////
|
4395
|
+
/// future_sync_continuation_shared_state
|
4396
|
+
/////////////////////////
|
4397
|
+
|
4398
|
+
template<typename F, typename Rp, typename Fp>
|
4399
|
+
struct future_sync_continuation_shared_state: continuation_shared_state<F,Rp,Fp,shared_state<Rp> >
|
4400
|
+
{
|
4401
|
+
typedef continuation_shared_state<F,Rp,Fp,shared_state<Rp> > base_type;
|
4402
|
+
public:
|
4403
|
+
future_sync_continuation_shared_state(BOOST_THREAD_RV_REF(F) f, BOOST_THREAD_FWD_REF(Fp) c)
|
4404
|
+
: base_type(boost::move(f), boost::forward<Fp>(c))
|
4405
|
+
{ }
|
4406
|
+
|
4407
|
+
void launch_continuation() {
|
4408
|
+
this->call();
|
4409
|
+
}
|
4410
|
+
};
|
4411
|
+
|
4412
|
+
|
4368
4413
|
/////////////////////////
|
4369
4414
|
/// future_executor_continuation_shared_state
|
4370
4415
|
/////////////////////////
|
@@ -4445,9 +4490,9 @@ namespace detail {
|
|
4445
4490
|
/////////////////////////
|
4446
4491
|
|
4447
4492
|
template<typename F, typename Rp, typename Fp>
|
4448
|
-
struct shared_future_async_continuation_shared_state: continuation_shared_state<F,Rp,Fp,
|
4493
|
+
struct shared_future_async_continuation_shared_state: continuation_shared_state<F,Rp,Fp,future_async_shared_state_base<Rp> >
|
4449
4494
|
{
|
4450
|
-
typedef continuation_shared_state<F,Rp,Fp,
|
4495
|
+
typedef continuation_shared_state<F,Rp,Fp,future_async_shared_state_base<Rp> > base_type;
|
4451
4496
|
|
4452
4497
|
public:
|
4453
4498
|
shared_future_async_continuation_shared_state(F f, BOOST_THREAD_FWD_REF(Fp) c)
|
@@ -4456,19 +4501,36 @@ namespace detail {
|
|
4456
4501
|
}
|
4457
4502
|
|
4458
4503
|
void launch_continuation() {
|
4459
|
-
#if defined
|
4460
|
-
this->call();
|
4461
|
-
#elif defined BOOST_THREAD_FUTURE_BLOCKING
|
4504
|
+
#if defined BOOST_THREAD_FUTURE_BLOCKING
|
4462
4505
|
boost::lock_guard<boost::mutex> lk(this->mutex);
|
4463
|
-
this->thr_ = thread(&
|
4506
|
+
this->thr_ = boost::thread(&base_type::run, static_shared_from_this(this));
|
4464
4507
|
#else
|
4465
|
-
thread(&
|
4508
|
+
boost::thread(&base_type::run, static_shared_from_this(this)).detach();
|
4466
4509
|
#endif
|
4467
4510
|
}
|
4511
|
+
};
|
4468
4512
|
|
4469
|
-
|
4513
|
+
/////////////////////////
|
4514
|
+
/// shared_future_async_continuation_shared_state
|
4515
|
+
/////////////////////////
|
4516
|
+
|
4517
|
+
template<typename F, typename Rp, typename Fp>
|
4518
|
+
struct shared_future_sync_continuation_shared_state: continuation_shared_state<F,Rp,Fp,shared_state<Rp> >
|
4519
|
+
{
|
4520
|
+
typedef continuation_shared_state<F,Rp,Fp,shared_state<Rp> > base_type;
|
4521
|
+
|
4522
|
+
public:
|
4523
|
+
shared_future_sync_continuation_shared_state(F f, BOOST_THREAD_FWD_REF(Fp) c)
|
4524
|
+
: base_type(boost::move(f), boost::forward<Fp>(c))
|
4525
|
+
{
|
4526
|
+
}
|
4527
|
+
|
4528
|
+
void launch_continuation() {
|
4529
|
+
this->call();
|
4530
|
+
}
|
4470
4531
|
};
|
4471
4532
|
|
4533
|
+
|
4472
4534
|
/////////////////////////
|
4473
4535
|
/// shared_future_executor_continuation_shared_state
|
4474
4536
|
/////////////////////////
|
@@ -4577,6 +4639,21 @@ namespace detail {
|
|
4577
4639
|
|
4578
4640
|
return BOOST_THREAD_FUTURE<Rp>(h);
|
4579
4641
|
}
|
4642
|
+
////////////////////////////////
|
4643
|
+
// make_future_sync_continuation_shared_state
|
4644
|
+
////////////////////////////////
|
4645
|
+
template<typename F, typename Rp, typename Fp>
|
4646
|
+
BOOST_THREAD_FUTURE<Rp>
|
4647
|
+
make_future_sync_continuation_shared_state(
|
4648
|
+
boost::unique_lock<boost::mutex> &lock, BOOST_THREAD_RV_REF(F) f,
|
4649
|
+
BOOST_THREAD_FWD_REF(Fp) c) {
|
4650
|
+
typedef typename decay<Fp>::type Cont;
|
4651
|
+
shared_ptr<future_sync_continuation_shared_state<F,Rp, Cont> >
|
4652
|
+
h(new future_sync_continuation_shared_state<F,Rp, Cont>(boost::move(f), boost::forward<Fp>(c)));
|
4653
|
+
h->init(lock);
|
4654
|
+
|
4655
|
+
return BOOST_THREAD_FUTURE<Rp>(h);
|
4656
|
+
}
|
4580
4657
|
|
4581
4658
|
////////////////////////////////
|
4582
4659
|
// make_future_executor_continuation_shared_state
|
@@ -4628,6 +4705,21 @@ namespace detail {
|
|
4628
4705
|
return BOOST_THREAD_FUTURE<Rp>(h);
|
4629
4706
|
}
|
4630
4707
|
////////////////////////////////
|
4708
|
+
// make_shared_future_sync_continuation_shared_state
|
4709
|
+
////////////////////////////////
|
4710
|
+
template<typename F, typename Rp, typename Fp>
|
4711
|
+
BOOST_THREAD_FUTURE<Rp>
|
4712
|
+
make_shared_future_sync_continuation_shared_state(
|
4713
|
+
boost::unique_lock<boost::mutex> &lock, F f,
|
4714
|
+
BOOST_THREAD_FWD_REF(Fp) c) {
|
4715
|
+
typedef typename decay<Fp>::type Cont;
|
4716
|
+
shared_ptr<shared_future_sync_continuation_shared_state<F,Rp, Cont> >
|
4717
|
+
h(new shared_future_sync_continuation_shared_state<F,Rp, Cont>(f, boost::forward<Fp>(c)));
|
4718
|
+
h->init(lock);
|
4719
|
+
|
4720
|
+
return BOOST_THREAD_FUTURE<Rp>(h);
|
4721
|
+
}
|
4722
|
+
////////////////////////////////
|
4631
4723
|
// make_shared_future_executor_continuation_shared_state
|
4632
4724
|
////////////////////////////////
|
4633
4725
|
#ifdef BOOST_THREAD_PROVIDES_EXECUTORS
|
@@ -4680,17 +4772,17 @@ namespace detail {
|
|
4680
4772
|
#endif
|
4681
4773
|
} else if (underlying_cast<int>(policy) & int(launch::inherit)) {
|
4682
4774
|
|
4683
|
-
launch
|
4684
|
-
if (underlying_cast<int>(
|
4775
|
+
launch policy_ = this->launch_policy(lock);
|
4776
|
+
if (underlying_cast<int>(policy_) & int(launch::async)) {
|
4685
4777
|
return BOOST_THREAD_MAKE_RV_REF((boost::detail::make_future_async_continuation_shared_state<BOOST_THREAD_FUTURE<R>, future_type>(
|
4686
4778
|
lock, boost::move(*this), boost::forward<F>(func)
|
4687
4779
|
)));
|
4688
|
-
} else if (underlying_cast<int>(
|
4780
|
+
} else if (underlying_cast<int>(policy_) & int(launch::deferred)) {
|
4689
4781
|
return BOOST_THREAD_MAKE_RV_REF((boost::detail::make_future_deferred_continuation_shared_state<BOOST_THREAD_FUTURE<R>, future_type>(
|
4690
4782
|
lock, boost::move(*this), boost::forward<F>(func)
|
4691
4783
|
)));
|
4692
4784
|
#ifdef BOOST_THREAD_PROVIDES_EXECUTORS
|
4693
|
-
} else if (underlying_cast<int>(
|
4785
|
+
} else if (underlying_cast<int>(policy_) & int(launch::executor)) {
|
4694
4786
|
assert(this->future_->get_executor());
|
4695
4787
|
typedef executor Ex;
|
4696
4788
|
Ex& ex = *(this->future_->get_executor());
|
@@ -4787,6 +4879,10 @@ namespace detail {
|
|
4787
4879
|
return BOOST_THREAD_MAKE_RV_REF((boost::detail::make_future_deferred_continuation_shared_state<BOOST_THREAD_FUTURE<R>, future_type>(
|
4788
4880
|
lock, boost::move(*this), boost::forward<F>(func)
|
4789
4881
|
)));
|
4882
|
+
} else if (underlying_cast<int>(policy) & int(launch::sync)) {
|
4883
|
+
return BOOST_THREAD_MAKE_RV_REF((boost::detail::make_future_sync_continuation_shared_state<BOOST_THREAD_FUTURE<R>, future_type>(
|
4884
|
+
lock, boost::move(*this), boost::forward<F>(func)
|
4885
|
+
)));
|
4790
4886
|
#ifdef BOOST_THREAD_PROVIDES_EXECUTORS
|
4791
4887
|
} else if (underlying_cast<int>(policy) & int(launch::executor)) {
|
4792
4888
|
assert(this->future_->get_executor());
|
@@ -4797,18 +4893,22 @@ namespace detail {
|
|
4797
4893
|
)));
|
4798
4894
|
#endif
|
4799
4895
|
} else if (underlying_cast<int>(policy) & int(launch::inherit)) {
|
4800
|
-
launch
|
4896
|
+
launch policy_ = this->launch_policy(lock);
|
4801
4897
|
|
4802
|
-
if (underlying_cast<int>(
|
4898
|
+
if (underlying_cast<int>(policy_) & int(launch::async)) {
|
4803
4899
|
return BOOST_THREAD_MAKE_RV_REF((boost::detail::make_future_async_continuation_shared_state<BOOST_THREAD_FUTURE<R>, future_type>(
|
4804
4900
|
lock, boost::move(*this), boost::forward<F>(func)
|
4805
4901
|
)));
|
4806
|
-
} else if (underlying_cast<int>(
|
4902
|
+
} else if (underlying_cast<int>(policy_) & int(launch::deferred)) {
|
4807
4903
|
return BOOST_THREAD_MAKE_RV_REF((boost::detail::make_future_deferred_continuation_shared_state<BOOST_THREAD_FUTURE<R>, future_type>(
|
4808
4904
|
lock, boost::move(*this), boost::forward<F>(func)
|
4809
4905
|
)));
|
4906
|
+
} else if (underlying_cast<int>(policy_) & int(launch::sync)) {
|
4907
|
+
return BOOST_THREAD_MAKE_RV_REF((boost::detail::make_future_sync_continuation_shared_state<BOOST_THREAD_FUTURE<R>, future_type>(
|
4908
|
+
lock, boost::move(*this), boost::forward<F>(func)
|
4909
|
+
)));
|
4810
4910
|
#ifdef BOOST_THREAD_PROVIDES_EXECUTORS
|
4811
|
-
} else if (underlying_cast<int>(
|
4911
|
+
} else if (underlying_cast<int>(policy_) & int(launch::executor)) {
|
4812
4912
|
assert(this->future_->get_executor());
|
4813
4913
|
typedef executor Ex;
|
4814
4914
|
Ex& ex = *(this->future_->get_executor());
|
@@ -4878,7 +4978,7 @@ namespace detail {
|
|
4878
4978
|
lock, boost::move(*this), boost::forward<F>(func)
|
4879
4979
|
)));
|
4880
4980
|
} else {
|
4881
|
-
return BOOST_THREAD_MAKE_RV_REF((boost::detail::
|
4981
|
+
return BOOST_THREAD_MAKE_RV_REF((boost::detail::make_future_sync_continuation_shared_state<BOOST_THREAD_FUTURE<R>, future_type>(
|
4882
4982
|
lock, boost::move(*this), boost::forward<F>(func)
|
4883
4983
|
)));
|
4884
4984
|
}
|
@@ -4906,6 +5006,10 @@ namespace detail {
|
|
4906
5006
|
return BOOST_THREAD_MAKE_RV_REF((boost::detail::make_shared_future_deferred_continuation_shared_state<shared_future<R>, future_type>(
|
4907
5007
|
lock, *this, boost::forward<F>(func)
|
4908
5008
|
)));
|
5009
|
+
} else if (underlying_cast<int>(policy) & int(launch::sync)) {
|
5010
|
+
return BOOST_THREAD_MAKE_RV_REF((boost::detail::make_shared_future_sync_continuation_shared_state<shared_future<R>, future_type>(
|
5011
|
+
lock, *this, boost::forward<F>(func)
|
5012
|
+
)));
|
4909
5013
|
#ifdef BOOST_THREAD_PROVIDES_EXECUTORS
|
4910
5014
|
} else if (underlying_cast<int>(policy) & int(launch::executor)) {
|
4911
5015
|
typedef executor Ex;
|
@@ -4916,17 +5020,21 @@ namespace detail {
|
|
4916
5020
|
#endif
|
4917
5021
|
} else if (underlying_cast<int>(policy) & int(launch::inherit)) {
|
4918
5022
|
|
4919
|
-
launch
|
4920
|
-
if (underlying_cast<int>(
|
5023
|
+
launch policy_ = this->launch_policy(lock);
|
5024
|
+
if (underlying_cast<int>(policy_) & int(launch::async)) {
|
4921
5025
|
return BOOST_THREAD_MAKE_RV_REF((boost::detail::make_shared_future_async_continuation_shared_state<shared_future<R>, future_type>(
|
4922
5026
|
lock, *this, boost::forward<F>(func)
|
4923
5027
|
)));
|
4924
|
-
} else if (underlying_cast<int>(
|
5028
|
+
} else if (underlying_cast<int>(policy_) & int(launch::deferred)) {
|
4925
5029
|
return BOOST_THREAD_MAKE_RV_REF((boost::detail::make_shared_future_deferred_continuation_shared_state<shared_future<R>, future_type>(
|
4926
5030
|
lock, *this, boost::forward<F>(func)
|
4927
5031
|
)));
|
5032
|
+
} else if (underlying_cast<int>(policy_) & int(launch::sync)) {
|
5033
|
+
return BOOST_THREAD_MAKE_RV_REF((boost::detail::make_shared_future_sync_continuation_shared_state<shared_future<R>, future_type>(
|
5034
|
+
lock, *this, boost::forward<F>(func)
|
5035
|
+
)));
|
4928
5036
|
#ifdef BOOST_THREAD_PROVIDES_EXECUTORS
|
4929
|
-
} else if (underlying_cast<int>(
|
5037
|
+
} else if (underlying_cast<int>(policy_) & int(launch::executor)) {
|
4930
5038
|
typedef executor Ex;
|
4931
5039
|
Ex& ex = *(this->future_->get_executor());
|
4932
5040
|
return BOOST_THREAD_MAKE_RV_REF((boost::detail::make_shared_future_executor_continuation_shared_state<Ex, shared_future<R>, future_type>(ex,
|
@@ -4986,7 +5094,7 @@ namespace detail {
|
|
4986
5094
|
lock, *this, boost::forward<F>(func)
|
4987
5095
|
)));
|
4988
5096
|
} else {
|
4989
|
-
return BOOST_THREAD_MAKE_RV_REF((boost::detail::
|
5097
|
+
return BOOST_THREAD_MAKE_RV_REF((boost::detail::make_shared_future_sync_continuation_shared_state<shared_future<R>, future_type>(
|
4990
5098
|
lock, *this, boost::forward<F>(func)
|
4991
5099
|
)));
|
4992
5100
|
}
|
@@ -5208,9 +5316,9 @@ namespace detail
|
|
5208
5316
|
return;
|
5209
5317
|
}
|
5210
5318
|
#ifdef BOOST_THREAD_FUTURE_BLOCKING
|
5211
|
-
this->thr_ = thread(&future_when_all_vector_shared_state::run, this->shared_from_this());
|
5319
|
+
this->thr_ = boost::thread(&future_when_all_vector_shared_state::run, this->shared_from_this());
|
5212
5320
|
#else
|
5213
|
-
thread(&future_when_all_vector_shared_state::run, this->shared_from_this()).detach();
|
5321
|
+
boost::thread(&future_when_all_vector_shared_state::run, this->shared_from_this()).detach();
|
5214
5322
|
#endif
|
5215
5323
|
}
|
5216
5324
|
|
@@ -5279,9 +5387,9 @@ namespace detail
|
|
5279
5387
|
}
|
5280
5388
|
|
5281
5389
|
#ifdef BOOST_THREAD_FUTURE_BLOCKING
|
5282
|
-
this->thr_ = thread(&future_when_any_vector_shared_state::run, this->shared_from_this());
|
5390
|
+
this->thr_ = boost::thread(&future_when_any_vector_shared_state::run, this->shared_from_this());
|
5283
5391
|
#else
|
5284
|
-
thread(&future_when_any_vector_shared_state::run, this->shared_from_this()).detach();
|
5392
|
+
boost::thread(&future_when_any_vector_shared_state::run, this->shared_from_this()).detach();
|
5285
5393
|
#endif
|
5286
5394
|
}
|
5287
5395
|
|
@@ -5386,9 +5494,9 @@ namespace detail
|
|
5386
5494
|
return;
|
5387
5495
|
}
|
5388
5496
|
#ifdef BOOST_THREAD_FUTURE_BLOCKING
|
5389
|
-
this->thr_ = thread(&future_when_all_tuple_shared_state::run, this->shared_from_this());
|
5497
|
+
this->thr_ = boost::thread(&future_when_all_tuple_shared_state::run, this->shared_from_this());
|
5390
5498
|
#else
|
5391
|
-
thread(&future_when_all_tuple_shared_state::run, this->shared_from_this()).detach();
|
5499
|
+
boost::thread(&future_when_all_tuple_shared_state::run, this->shared_from_this()).detach();
|
5392
5500
|
#endif
|
5393
5501
|
|
5394
5502
|
}
|
@@ -5457,9 +5565,9 @@ namespace detail
|
|
5457
5565
|
}
|
5458
5566
|
|
5459
5567
|
#ifdef BOOST_THREAD_FUTURE_BLOCKING
|
5460
|
-
this->thr_ = thread(&future_when_any_tuple_shared_state::run, this->shared_from_this());
|
5568
|
+
this->thr_ = boost::thread(&future_when_any_tuple_shared_state::run, this->shared_from_this());
|
5461
5569
|
#else
|
5462
|
-
thread(&future_when_any_tuple_shared_state::run, this->shared_from_this()).detach();
|
5570
|
+
boost::thread(&future_when_any_tuple_shared_state::run, this->shared_from_this()).detach();
|
5463
5571
|
#endif
|
5464
5572
|
}
|
5465
5573
|
|
@@ -5548,5 +5656,5 @@ namespace detail
|
|
5548
5656
|
#endif // BOOST_THREAD_PROVIDES_FUTURE_WHEN_ALL_WHEN_ANY
|
5549
5657
|
}
|
5550
5658
|
|
5551
|
-
#endif //
|
5659
|
+
#endif // BOOST_NO_EXCEPTIONS
|
5552
5660
|
#endif // header
|