passenger 6.1.0 → 6.1.1
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 +32 -2
- data/Rakefile +6 -13
- data/bin/passenger-install-apache2-module +15 -19
- data/bin/passenger-install-nginx-module +42 -44
- data/bin/passenger-status +9 -10
- data/build/common_library.rb +4 -4
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
- data/build/test_basics.rb +4 -3
- data/dev/copy_boost_headers +54 -40
- data/dev/ruby_server.rb +1 -1
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +94 -110
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag_impl.hpp +52 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_impl.hpp +641 -285
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +593 -260
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +37 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas_based_exchange.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/chrono.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/classify.hpp +16 -17
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +25 -34
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch32.hpp +204 -97
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +251 -122
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_alpha.hpp +56 -56
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_arm.hpp +129 -129
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_ppc.hpp +253 -125
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_sparc.hpp +25 -25
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +193 -126
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_arm.hpp +57 -57
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +96 -97
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_cas_based.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_atomic.hpp +27 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_sync.hpp +39 -37
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_linux_arm.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extending_cas_based_arithmetic.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +170 -98
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +209 -119
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +95 -95
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +148 -76
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +293 -123
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +87 -71
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +88 -88
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_operations.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch32.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch64.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_alpha.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_arm.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_ppc.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_sparc.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_x86.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_arm.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_x86.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations_emulated.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_atomic.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_sync.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_linux_arm.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +110 -49
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_atomic_memory_order_utils.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/has_posix_clock_traits.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +26 -32
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/integral_conversions.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +69 -30
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/intptr.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lock_pool.hpp +51 -31
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/memory_order_utils.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/once_flag.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_traits.hpp +31 -31
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/alignment_of.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/has_unique_object_representations.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_iec559.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_integral.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_signed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_copyable.hpp +20 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_default_constructible.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_signed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_unsigned.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_darwin_ulock.hpp +90 -16
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_dragonfly_umtx.hpp +80 -11
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +160 -15
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_freebsd_umtx.hpp +327 -38
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_futex.hpp +276 -33
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_generic.hpp +260 -20
- data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +14 -18
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_flag.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/posix_clock_traits_fwd.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/thread_pause.hpp +102 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/wait_result.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +108 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +1235 -1009
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +23 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +88 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/operator_new_helpers.hpp +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +72 -13
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +31 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +37 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +23 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +72 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +3 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +54 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/devector.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +32 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +27 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +37 -17
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +23 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +41 -20
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +5 -8
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_is_avalanching.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +29 -29
- data/src/cxx_supportlib/vendor-modified/boost/core/cmath.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +15 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/default_allocator.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/assert.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_sleep.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/static_assert.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +16 -10
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +35 -27
- data/src/cxx_supportlib/vendor-modified/boost/core/scoped_enum.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +20 -9
- data/src/cxx_supportlib/vendor-modified/boost/cregex.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/modifiers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_rebind.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +43 -64
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_undef.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/eval_if_default.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +103 -117
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/conjunction.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/disjunction.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/negation.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/type_identity.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +32 -38
- data/src/cxx_supportlib/vendor-modified/boost/iterator/enable_if_convertible.hpp +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/interoperable.hpp +22 -34
- data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +162 -309
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +52 -161
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +3 -11
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +804 -977
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +24 -17
- data/src/cxx_supportlib/vendor-modified/boost/iterator/min_category.hpp +83 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/minimum_category.hpp +11 -73
- data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +56 -57
- data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +123 -156
- 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/buffer_view.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +36 -33
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +43 -50
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +23 -27
- 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 +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +1 -1
- 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 +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/type_traits.hpp +81 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +8 -9
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +1 -12
- data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +8 -26
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +11 -44
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/set.hpp +33 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/and.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/ptr_to_ref.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitand.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitor.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/mpl/or.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +0 -13
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_256.hpp +190 -190
- data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +12 -2
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/config.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/size.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/xoshiro_base.hpp +472 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/random/gamma_distribution.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/generalized_inverse_gaussian_distribution.hpp +339 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +12 -14
- data/src/cxx_supportlib/vendor-modified/boost/random/inverse_gaussian_distribution.hpp +226 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/mersenne_twister.hpp +1 -4
- data/src/cxx_supportlib/vendor-modified/boost/random/mixmax.hpp +63 -63
- data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_constant_distribution.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_linear_distribution.hpp +8 -11
- data/src/cxx_supportlib/vendor-modified/boost/random/seed_seq.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +1 -4
- data/src/cxx_supportlib/vendor-modified/boost/random/xoshiro.hpp +488 -0
- data/src/cxx_supportlib/vendor-modified/boost/random.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/has_member_size.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/msvc_has_iterator_workaround.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +35 -18
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +18 -101
- data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/regex_traits.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/user.hpp +4 -10
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex.hpp +63 -17
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_creator.hpp +71 -16
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +22 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/c_regex_traits.hpp +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/char_regex_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cpp_regex_traits.hpp +11 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cregex.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/error_type.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +40 -38
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_category.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_traits.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_flags.hpp +39 -37
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_results.hpp +46 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/object_cache.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/pattern_except.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher.hpp +57 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_common.hpp +21 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_non_recursive.hpp +18 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regbase.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_format.hpp +23 -18
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_fwd.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_grep.hpp +9 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_iterator.hpp +11 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_match.hpp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_merge.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_raw_buffer.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_replace.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_search.hpp +12 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_split.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_token_iterator.hpp +16 -11
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits_defaults.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/states.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/sub_match.hpp +54 -49
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/syntax_type.hpp +64 -62
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_iterator.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_token_iterator.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex_fwd.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +1 -43
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/deprecated_macros.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +2 -77
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +1 -64
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_cxx20_constexpr.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +5 -28
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +41 -40
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +0 -15
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +0 -18
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +31 -10
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +34 -8
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/{unordered_printers.hpp → detail/unordered_printers.hpp} +34 -36
- data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +6 -49
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/nginx_module/ContentHandler.c +2 -0
- data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +3 -5
- data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +3 -5
- data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +3 -5
- data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +3 -5
- data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +5 -3
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +6 -13
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +29 -30
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +2 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/json.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger.rb +8 -8
- metadata +26 -99
- data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +0 -41
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_sunos.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +0 -28
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/conditional.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/integral_constant.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_enum.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_function.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_nothrow_default_constructible.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +0 -15
- data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +0 -195
- data/src/cxx_supportlib/vendor-modified/boost/detail/select_type.hpp +0 -36
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/enable_if.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/internals.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +0 -120
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_debug.cpp +0 -59
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +0 -189
- data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +0 -31
- data/src/cxx_supportlib/vendor-modified/boost/regex/config/borland.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/regex/config/cwchar.hpp +0 -207
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/static_mutex.hpp +0 -182
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +0 -797
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +0 -1598
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +0 -3174
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/c_regex_traits.hpp +0 -511
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/char_regex_traits.hpp +0 -81
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +0 -1237
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +0 -213
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/error_type.hpp +0 -59
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/icu.hpp +0 -1516
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/indexed_bit_flag.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_category.hpp +0 -91
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_traits.hpp +0 -135
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +0 -161
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +0 -716
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +0 -183
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/object_cache.hpp +0 -171
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/pattern_except.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +0 -645
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +0 -1030
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +0 -1947
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +0 -1131
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +0 -146
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regbase.hpp +0 -180
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex.hpp +0 -166
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -1158
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_fwd.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_grep.hpp +0 -155
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -195
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_match.hpp +0 -382
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_merge.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +0 -241
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_replace.hpp +0 -99
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_search.hpp +0 -217
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +0 -174
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -327
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +0 -189
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +0 -997
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +0 -237
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +0 -321
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +0 -516
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/syntax_type.hpp +0 -105
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +0 -185
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +0 -360
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +0 -871
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +0 -1229
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +0 -79
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +0 -63
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_pt.hpp +0 -104
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_sync.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +0 -163
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +0 -152
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +0 -185
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +0 -148
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +0 -170
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +0 -200
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +0 -194
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +0 -179
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +0 -186
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +0 -147
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +0 -174
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +0 -141
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +0 -165
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +0 -163
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_nt.hpp +0 -96
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pt.hpp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_sync.hpp +0 -94
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
*
|
|
3
|
-
* Copyright (c) 2004
|
|
4
|
-
* John Maddock
|
|
5
|
-
*
|
|
6
|
-
* Use, modification and distribution are subject to the
|
|
7
|
-
* Boost Software License, Version 1.0. (See accompanying file
|
|
8
|
-
* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
9
|
-
*
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/*
|
|
13
|
-
* LOCATION: see http://www.boost.org for most recent version.
|
|
14
|
-
* FILE static_mutex.cpp
|
|
15
|
-
* VERSION see <boost/version.hpp>
|
|
16
|
-
* DESCRIPTION: Declares static_mutex lock type.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
#define BOOST_REGEX_SOURCE
|
|
20
|
-
#include <boost/regex/config.hpp>
|
|
21
|
-
|
|
22
|
-
#if defined(BOOST_REGEX_CXX03)
|
|
23
|
-
|
|
24
|
-
#include <boost/assert.hpp>
|
|
25
|
-
|
|
26
|
-
#ifdef BOOST_HAS_THREADS
|
|
27
|
-
|
|
28
|
-
#include <boost/regex/pending/static_mutex.hpp>
|
|
29
|
-
|
|
30
|
-
#if defined(BOOST_HAS_WINTHREADS)
|
|
31
|
-
#ifndef NOMINMAX
|
|
32
|
-
# define NOMINMAX
|
|
33
|
-
#endif
|
|
34
|
-
#ifndef WIN32_LEAN_AND_MEAN
|
|
35
|
-
# define WIN32_LEAN_AND_MEAN
|
|
36
|
-
#endif
|
|
37
|
-
#include <windows.h>
|
|
38
|
-
#include <boost/static_assert.hpp>
|
|
39
|
-
#endif
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
namespace boost{
|
|
43
|
-
|
|
44
|
-
#if defined(BOOST_HAS_PTHREADS) && defined(PTHREAD_MUTEX_INITIALIZER)
|
|
45
|
-
|
|
46
|
-
scoped_static_mutex_lock::scoped_static_mutex_lock(static_mutex& m, bool lk)
|
|
47
|
-
: m_mutex(m), m_have_lock(false)
|
|
48
|
-
{
|
|
49
|
-
if(lk)
|
|
50
|
-
lock();
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
scoped_static_mutex_lock::~scoped_static_mutex_lock()
|
|
54
|
-
{
|
|
55
|
-
if(m_have_lock)
|
|
56
|
-
unlock();
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
void scoped_static_mutex_lock::lock()
|
|
60
|
-
{
|
|
61
|
-
if(0 == m_have_lock)
|
|
62
|
-
{
|
|
63
|
-
// Client code will throw if this fails:
|
|
64
|
-
m_have_lock = (pthread_mutex_lock(&(m_mutex.m_mutex)) == 0);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
void scoped_static_mutex_lock::unlock()
|
|
69
|
-
{
|
|
70
|
-
if(m_have_lock)
|
|
71
|
-
{
|
|
72
|
-
// If this fails there's nothing we can do except assert,
|
|
73
|
-
// exceptions are out of the question as this code is called
|
|
74
|
-
// from the lock's destructor:
|
|
75
|
-
BOOST_VERIFY(pthread_mutex_unlock(&(m_mutex.m_mutex)) == 0);
|
|
76
|
-
m_have_lock = false;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
#elif defined(BOOST_HAS_WINTHREADS)
|
|
81
|
-
|
|
82
|
-
BOOST_STATIC_ASSERT(sizeof(LONG) == sizeof(boost::int32_t));
|
|
83
|
-
|
|
84
|
-
scoped_static_mutex_lock::scoped_static_mutex_lock(static_mutex& m, bool lk)
|
|
85
|
-
: m_mutex(m), m_have_lock(false)
|
|
86
|
-
{
|
|
87
|
-
if(lk)
|
|
88
|
-
lock();
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
scoped_static_mutex_lock::~scoped_static_mutex_lock()
|
|
92
|
-
{
|
|
93
|
-
if(m_have_lock)
|
|
94
|
-
unlock();
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
void scoped_static_mutex_lock::lock()
|
|
98
|
-
{
|
|
99
|
-
if(0 == m_have_lock)
|
|
100
|
-
{
|
|
101
|
-
#if !defined(InterlockedCompareExchangePointer)
|
|
102
|
-
while(0 != InterlockedCompareExchange(reinterpret_cast<void**>((boost::uint_least16_t*)&(m_mutex.m_mutex)), (void*)1, 0))
|
|
103
|
-
#else
|
|
104
|
-
while(0 != InterlockedCompareExchange(reinterpret_cast<LONG*>(&(m_mutex.m_mutex)), 1, 0))
|
|
105
|
-
#endif
|
|
106
|
-
{
|
|
107
|
-
Sleep(0);
|
|
108
|
-
}
|
|
109
|
-
m_have_lock = true;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
void scoped_static_mutex_lock::unlock()
|
|
114
|
-
{
|
|
115
|
-
if(m_have_lock)
|
|
116
|
-
{
|
|
117
|
-
#if !defined(InterlockedCompareExchangePointer)
|
|
118
|
-
InterlockedExchange((LONG*)&(m_mutex.m_mutex), 0);
|
|
119
|
-
#else
|
|
120
|
-
InterlockedExchange(reinterpret_cast<LONG*>(&(m_mutex.m_mutex)), 0);
|
|
121
|
-
#endif
|
|
122
|
-
m_have_lock = false;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
#else
|
|
127
|
-
//
|
|
128
|
-
// Portable version of a static mutex based on Boost.Thread library:
|
|
129
|
-
//
|
|
130
|
-
#include <stdlib.h>
|
|
131
|
-
#include <boost/assert.hpp>
|
|
132
|
-
|
|
133
|
-
boost::recursive_mutex* static_mutex::m_pmutex = 0;
|
|
134
|
-
boost::once_flag static_mutex::m_once = BOOST_ONCE_INIT;
|
|
135
|
-
|
|
136
|
-
extern "C" BOOST_REGEX_DECL void boost_regex_free_static_mutex()
|
|
137
|
-
{
|
|
138
|
-
delete static_mutex::m_pmutex;
|
|
139
|
-
static_mutex::m_pmutex = 0;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
void static_mutex::init()
|
|
143
|
-
{
|
|
144
|
-
m_pmutex = new boost::recursive_mutex();
|
|
145
|
-
int r = atexit(boost_regex_free_static_mutex);
|
|
146
|
-
BOOST_ASSERT(0 == r);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
scoped_static_mutex_lock::scoped_static_mutex_lock(static_mutex& , bool lk)
|
|
150
|
-
: m_plock(0), m_have_lock(false)
|
|
151
|
-
{
|
|
152
|
-
if(lk)
|
|
153
|
-
lock();
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
scoped_static_mutex_lock::~scoped_static_mutex_lock()
|
|
157
|
-
{
|
|
158
|
-
if(m_have_lock)
|
|
159
|
-
unlock();
|
|
160
|
-
delete m_plock;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
void scoped_static_mutex_lock::lock()
|
|
164
|
-
{
|
|
165
|
-
if(0 == m_have_lock)
|
|
166
|
-
{
|
|
167
|
-
boost::call_once(static_mutex::m_once,&static_mutex::init);
|
|
168
|
-
if(0 == m_plock)
|
|
169
|
-
m_plock = new boost::unique_lock<boost::recursive_mutex>(*static_mutex::m_pmutex, boost::defer_lock);
|
|
170
|
-
m_plock->lock();
|
|
171
|
-
m_have_lock = true;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
void scoped_static_mutex_lock::unlock()
|
|
176
|
-
{
|
|
177
|
-
if(m_have_lock)
|
|
178
|
-
{
|
|
179
|
-
m_plock->unlock();
|
|
180
|
-
m_have_lock = false;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
#endif
|
|
185
|
-
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
#endif // BOOST_HAS_THREADS
|
|
189
|
-
#endif
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
// error_code stub implementation, for compatibility only
|
|
2
|
-
|
|
3
|
-
// Copyright Beman Dawes 2002, 2006
|
|
4
|
-
// Copyright Peter Dimov 2018
|
|
5
|
-
|
|
6
|
-
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
7
|
-
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
8
|
-
|
|
9
|
-
// See library home page at http://www.boost.org/libs/system
|
|
10
|
-
|
|
11
|
-
//----------------------------------------------------------------------------//
|
|
12
|
-
|
|
13
|
-
// define BOOST_SYSTEM_SOURCE so that <boost/system/config.hpp> knows
|
|
14
|
-
// the library is being built (possibly exporting rather than importing code)
|
|
15
|
-
#define BOOST_SYSTEM_SOURCE
|
|
16
|
-
|
|
17
|
-
#include <boost/system/config.hpp>
|
|
18
|
-
|
|
19
|
-
namespace boost
|
|
20
|
-
{
|
|
21
|
-
|
|
22
|
-
namespace system
|
|
23
|
-
{
|
|
24
|
-
|
|
25
|
-
BOOST_SYSTEM_DECL void dummy_exported_function()
|
|
26
|
-
{
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
} // namespace system
|
|
30
|
-
|
|
31
|
-
} // namespace boost
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
*
|
|
3
|
-
* Copyright (c) 1998-2002
|
|
4
|
-
* John Maddock
|
|
5
|
-
*
|
|
6
|
-
* Use, modification and distribution are subject to the
|
|
7
|
-
* Boost Software License, Version 1.0. (See accompanying file
|
|
8
|
-
* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
9
|
-
*
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/*
|
|
13
|
-
* LOCATION: see http://www.boost.org for most recent version.
|
|
14
|
-
* FILE boost/regex/config/borland.hpp
|
|
15
|
-
* VERSION see <boost/version.hpp>
|
|
16
|
-
* DESCRIPTION: regex borland-specific config setup.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
#if defined(__BORLANDC__) && !defined(__clang__)
|
|
21
|
-
# if (__BORLANDC__ == 0x550) || (__BORLANDC__ == 0x551)
|
|
22
|
-
// problems with std::basic_string and dll RTL:
|
|
23
|
-
# if defined(_RTLDLL) && defined(_RWSTD_COMPILE_INSTANTIATE)
|
|
24
|
-
# ifdef BOOST_REGEX_BUILD_DLL
|
|
25
|
-
# error _RWSTD_COMPILE_INSTANTIATE must not be defined when building regex++ as a DLL
|
|
26
|
-
# else
|
|
27
|
-
# pragma message("Defining _RWSTD_COMPILE_INSTANTIATE when linking to the DLL version of the RTL may produce memory corruption problems in std::basic_string, as a result of separate versions of basic_string's static data in the RTL and you're exe/dll: be warned!!")
|
|
28
|
-
# endif
|
|
29
|
-
# endif
|
|
30
|
-
# ifndef _RTLDLL
|
|
31
|
-
// this is harmless for a staic link:
|
|
32
|
-
# define _RWSTD_COMPILE_INSTANTIATE
|
|
33
|
-
# endif
|
|
34
|
-
// external templates cause problems for some reason:
|
|
35
|
-
# define BOOST_REGEX_NO_EXTERNAL_TEMPLATES
|
|
36
|
-
# endif
|
|
37
|
-
# if (__BORLANDC__ <= 0x540) && !defined(BOOST_REGEX_NO_LIB) && !defined(_NO_VCL)
|
|
38
|
-
// C++ Builder 4 and earlier, we can't tell whether we should be using
|
|
39
|
-
// the VCL runtime or not, do a static link instead:
|
|
40
|
-
# define BOOST_REGEX_STATIC_LINK
|
|
41
|
-
# endif
|
|
42
|
-
//
|
|
43
|
-
// VCL support:
|
|
44
|
-
// if we're building a console app then there can't be any VCL (can there?)
|
|
45
|
-
# if !defined(__CONSOLE__) && !defined(_NO_VCL)
|
|
46
|
-
# define BOOST_REGEX_USE_VCL
|
|
47
|
-
# endif
|
|
48
|
-
//
|
|
49
|
-
// if this isn't Win32 then don't automatically select link
|
|
50
|
-
// libraries:
|
|
51
|
-
//
|
|
52
|
-
# ifndef _Windows
|
|
53
|
-
# ifndef BOOST_REGEX_NO_LIB
|
|
54
|
-
# define BOOST_REGEX_NO_LIB
|
|
55
|
-
# endif
|
|
56
|
-
# ifndef BOOST_REGEX_STATIC_LINK
|
|
57
|
-
# define BOOST_REGEX_STATIC_LINK
|
|
58
|
-
# endif
|
|
59
|
-
# endif
|
|
60
|
-
|
|
61
|
-
#if __BORLANDC__ < 0x600
|
|
62
|
-
//
|
|
63
|
-
// string workarounds:
|
|
64
|
-
//
|
|
65
|
-
#include <cstring>
|
|
66
|
-
#undef strcmp
|
|
67
|
-
#undef strcpy
|
|
68
|
-
#endif
|
|
69
|
-
|
|
70
|
-
#endif
|
|
71
|
-
|
|
72
|
-
|
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
*
|
|
3
|
-
* Copyright (c) 1998-2002
|
|
4
|
-
* John Maddock
|
|
5
|
-
*
|
|
6
|
-
* Use, modification and distribution are subject to the
|
|
7
|
-
* Boost Software License, Version 1.0. (See accompanying file
|
|
8
|
-
* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
9
|
-
*
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/*
|
|
13
|
-
* LOCATION: see http://www.boost.org for most recent version.
|
|
14
|
-
* FILE boost/regex/config/cwchar.hpp
|
|
15
|
-
* VERSION see <boost/version.hpp>
|
|
16
|
-
* DESCRIPTION: regex wide character string fixes.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
#ifndef BOOST_REGEX_CONFIG_CWCHAR_HPP
|
|
20
|
-
#define BOOST_REGEX_CONFIG_CWCHAR_HPP
|
|
21
|
-
|
|
22
|
-
#include <cwchar>
|
|
23
|
-
#include <cwctype>
|
|
24
|
-
#include <boost/config.hpp>
|
|
25
|
-
|
|
26
|
-
#if defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
|
|
27
|
-
// apparently this is required for the RW STL on Linux:
|
|
28
|
-
#undef iswalnum
|
|
29
|
-
#undef iswalpha
|
|
30
|
-
#undef iswblank
|
|
31
|
-
#undef iswcntrl
|
|
32
|
-
#undef iswdigit
|
|
33
|
-
#undef iswgraph
|
|
34
|
-
#undef iswlower
|
|
35
|
-
#undef iswprint
|
|
36
|
-
#undef iswprint
|
|
37
|
-
#undef iswpunct
|
|
38
|
-
#undef iswspace
|
|
39
|
-
#undef iswupper
|
|
40
|
-
#undef iswxdigit
|
|
41
|
-
#undef iswctype
|
|
42
|
-
#undef towlower
|
|
43
|
-
#undef towupper
|
|
44
|
-
#undef towctrans
|
|
45
|
-
#undef wctrans
|
|
46
|
-
#undef wctype
|
|
47
|
-
#endif
|
|
48
|
-
|
|
49
|
-
namespace std{
|
|
50
|
-
|
|
51
|
-
#ifndef BOOST_NO_STDC_NAMESPACE
|
|
52
|
-
extern "C"{
|
|
53
|
-
#endif
|
|
54
|
-
|
|
55
|
-
#ifdef iswalnum
|
|
56
|
-
inline int (iswalnum)(wint_t i)
|
|
57
|
-
{ return iswalnum(i); }
|
|
58
|
-
#undef iswalnum
|
|
59
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
60
|
-
using ::iswalnum;
|
|
61
|
-
#endif
|
|
62
|
-
|
|
63
|
-
#ifdef iswalpha
|
|
64
|
-
inline int (iswalpha)(wint_t i)
|
|
65
|
-
{ return iswalpha(i); }
|
|
66
|
-
#undef iswalpha
|
|
67
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
68
|
-
using ::iswalpha;
|
|
69
|
-
#endif
|
|
70
|
-
|
|
71
|
-
#ifdef iswcntrl
|
|
72
|
-
inline int (iswcntrl)(wint_t i)
|
|
73
|
-
{ return iswcntrl(i); }
|
|
74
|
-
#undef iswcntrl
|
|
75
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
76
|
-
using ::iswcntrl;
|
|
77
|
-
#endif
|
|
78
|
-
|
|
79
|
-
#ifdef iswdigit
|
|
80
|
-
inline int (iswdigit)(wint_t i)
|
|
81
|
-
{ return iswdigit(i); }
|
|
82
|
-
#undef iswdigit
|
|
83
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
84
|
-
using ::iswdigit;
|
|
85
|
-
#endif
|
|
86
|
-
|
|
87
|
-
#ifdef iswgraph
|
|
88
|
-
inline int (iswgraph)(wint_t i)
|
|
89
|
-
{ return iswgraph(i); }
|
|
90
|
-
#undef iswgraph
|
|
91
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
92
|
-
using ::iswgraph;
|
|
93
|
-
#endif
|
|
94
|
-
|
|
95
|
-
#ifdef iswlower
|
|
96
|
-
inline int (iswlower)(wint_t i)
|
|
97
|
-
{ return iswlower(i); }
|
|
98
|
-
#undef iswlower
|
|
99
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
100
|
-
using ::iswlower;
|
|
101
|
-
#endif
|
|
102
|
-
|
|
103
|
-
#ifdef iswprint
|
|
104
|
-
inline int (iswprint)(wint_t i)
|
|
105
|
-
{ return iswprint(i); }
|
|
106
|
-
#undef iswprint
|
|
107
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
108
|
-
using ::iswprint;
|
|
109
|
-
#endif
|
|
110
|
-
|
|
111
|
-
#ifdef iswpunct
|
|
112
|
-
inline int (iswpunct)(wint_t i)
|
|
113
|
-
{ return iswpunct(i); }
|
|
114
|
-
#undef iswpunct
|
|
115
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
116
|
-
using ::iswpunct;
|
|
117
|
-
#endif
|
|
118
|
-
|
|
119
|
-
#ifdef iswspace
|
|
120
|
-
inline int (iswspace)(wint_t i)
|
|
121
|
-
{ return iswspace(i); }
|
|
122
|
-
#undef iswspace
|
|
123
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
124
|
-
using ::iswspace;
|
|
125
|
-
#endif
|
|
126
|
-
|
|
127
|
-
#ifdef iswupper
|
|
128
|
-
inline int (iswupper)(wint_t i)
|
|
129
|
-
{ return iswupper(i); }
|
|
130
|
-
#undef iswupper
|
|
131
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
132
|
-
using ::iswupper;
|
|
133
|
-
#endif
|
|
134
|
-
|
|
135
|
-
#ifdef iswxdigit
|
|
136
|
-
inline int (iswxdigit)(wint_t i)
|
|
137
|
-
{ return iswxdigit(i); }
|
|
138
|
-
#undef iswxdigit
|
|
139
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
140
|
-
using ::iswxdigit;
|
|
141
|
-
#endif
|
|
142
|
-
|
|
143
|
-
#ifdef towlower
|
|
144
|
-
inline wint_t (towlower)(wint_t i)
|
|
145
|
-
{ return towlower(i); }
|
|
146
|
-
#undef towlower
|
|
147
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
148
|
-
using ::towlower;
|
|
149
|
-
#endif
|
|
150
|
-
|
|
151
|
-
#ifdef towupper
|
|
152
|
-
inline wint_t (towupper)(wint_t i)
|
|
153
|
-
{ return towupper(i); }
|
|
154
|
-
#undef towupper
|
|
155
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
156
|
-
using :: towupper;
|
|
157
|
-
#endif
|
|
158
|
-
|
|
159
|
-
#ifdef wcscmp
|
|
160
|
-
inline int (wcscmp)(const wchar_t *p1, const wchar_t *p2)
|
|
161
|
-
{ return wcscmp(p1,p2); }
|
|
162
|
-
#undef wcscmp
|
|
163
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
164
|
-
using ::wcscmp;
|
|
165
|
-
#endif
|
|
166
|
-
|
|
167
|
-
#ifdef wcscoll
|
|
168
|
-
inline int (wcscoll)(const wchar_t *p1, const wchar_t *p2)
|
|
169
|
-
{ return wcscoll(p1,p2); }
|
|
170
|
-
#undef wcscoll
|
|
171
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE) && !defined(UNDER_CE)
|
|
172
|
-
using ::wcscoll;
|
|
173
|
-
#endif
|
|
174
|
-
|
|
175
|
-
#ifdef wcscpy
|
|
176
|
-
inline wchar_t *(wcscpy)(wchar_t *p1, const wchar_t *p2)
|
|
177
|
-
{ return wcscpy(p1,p2); }
|
|
178
|
-
#undef wcscpy
|
|
179
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
180
|
-
using ::wcscpy;
|
|
181
|
-
#endif
|
|
182
|
-
|
|
183
|
-
#ifdef wcslen
|
|
184
|
-
inline size_t (wcslen)(const wchar_t *p)
|
|
185
|
-
{ return wcslen(p); }
|
|
186
|
-
#undef wcslen
|
|
187
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
188
|
-
using ::wcslen;
|
|
189
|
-
#endif
|
|
190
|
-
|
|
191
|
-
#ifdef wcsxfrm
|
|
192
|
-
size_t wcsxfrm(wchar_t *p1, const wchar_t *p2, size_t s)
|
|
193
|
-
{ return wcsxfrm(p1,p2,s); }
|
|
194
|
-
#undef wcsxfrm
|
|
195
|
-
#elif defined(BOOST_NO_STDC_NAMESPACE)
|
|
196
|
-
using ::wcsxfrm;
|
|
197
|
-
#endif
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
#ifndef BOOST_NO_STDC_NAMESPACE
|
|
201
|
-
} // extern "C"
|
|
202
|
-
#endif
|
|
203
|
-
|
|
204
|
-
} // namespace std
|
|
205
|
-
|
|
206
|
-
#endif
|
|
207
|
-
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
*
|
|
3
|
-
* Copyright (c) 2004
|
|
4
|
-
* John Maddock
|
|
5
|
-
*
|
|
6
|
-
* Use, modification and distribution are subject to the
|
|
7
|
-
* Boost Software License, Version 1.0. (See accompanying file
|
|
8
|
-
* LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
9
|
-
*
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/*
|
|
13
|
-
* LOCATION: see http://www.boost.org for most recent version.
|
|
14
|
-
* FILE static_mutex.hpp
|
|
15
|
-
* VERSION see <boost/version.hpp>
|
|
16
|
-
* DESCRIPTION: Declares static_mutex lock type, there are three different
|
|
17
|
-
* implementations: POSIX pthreads, WIN32 threads, and portable,
|
|
18
|
-
* these are described in more detail below.
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
#ifndef BOOST_REGEX_STATIC_MUTEX_HPP
|
|
22
|
-
#define BOOST_REGEX_STATIC_MUTEX_HPP
|
|
23
|
-
|
|
24
|
-
#include <boost/config.hpp>
|
|
25
|
-
#include <boost/regex/config.hpp> // dll import/export options.
|
|
26
|
-
|
|
27
|
-
#ifdef BOOST_HAS_PTHREADS
|
|
28
|
-
#include <pthread.h>
|
|
29
|
-
#endif
|
|
30
|
-
|
|
31
|
-
#if defined(BOOST_HAS_PTHREADS) && defined(PTHREAD_MUTEX_INITIALIZER)
|
|
32
|
-
//
|
|
33
|
-
// pthreads version:
|
|
34
|
-
// simple wrap around a pthread_mutex_t initialized with
|
|
35
|
-
// PTHREAD_MUTEX_INITIALIZER.
|
|
36
|
-
//
|
|
37
|
-
namespace boost{
|
|
38
|
-
|
|
39
|
-
class static_mutex;
|
|
40
|
-
|
|
41
|
-
#define BOOST_STATIC_MUTEX_INIT { PTHREAD_MUTEX_INITIALIZER, }
|
|
42
|
-
|
|
43
|
-
class BOOST_REGEX_DECL scoped_static_mutex_lock
|
|
44
|
-
{
|
|
45
|
-
public:
|
|
46
|
-
scoped_static_mutex_lock(static_mutex& mut, bool lk = true);
|
|
47
|
-
~scoped_static_mutex_lock();
|
|
48
|
-
inline bool locked()const
|
|
49
|
-
{
|
|
50
|
-
return m_have_lock;
|
|
51
|
-
}
|
|
52
|
-
inline operator void const*()const
|
|
53
|
-
{
|
|
54
|
-
return locked() ? this : 0;
|
|
55
|
-
}
|
|
56
|
-
void lock();
|
|
57
|
-
void unlock();
|
|
58
|
-
private:
|
|
59
|
-
static_mutex& m_mutex;
|
|
60
|
-
bool m_have_lock;
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
class static_mutex
|
|
64
|
-
{
|
|
65
|
-
public:
|
|
66
|
-
typedef scoped_static_mutex_lock scoped_lock;
|
|
67
|
-
pthread_mutex_t m_mutex;
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
} // namespace boost
|
|
71
|
-
#elif defined(BOOST_HAS_WINTHREADS)
|
|
72
|
-
//
|
|
73
|
-
// Win32 version:
|
|
74
|
-
// Use a 32-bit int as a lock, along with a test-and-set
|
|
75
|
-
// implementation using InterlockedCompareExchange.
|
|
76
|
-
//
|
|
77
|
-
|
|
78
|
-
#include <boost/cstdint.hpp>
|
|
79
|
-
|
|
80
|
-
namespace boost{
|
|
81
|
-
|
|
82
|
-
class BOOST_REGEX_DECL scoped_static_mutex_lock;
|
|
83
|
-
|
|
84
|
-
class static_mutex
|
|
85
|
-
{
|
|
86
|
-
public:
|
|
87
|
-
typedef scoped_static_mutex_lock scoped_lock;
|
|
88
|
-
boost::int32_t m_mutex;
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
#define BOOST_STATIC_MUTEX_INIT { 0, }
|
|
92
|
-
|
|
93
|
-
class BOOST_REGEX_DECL scoped_static_mutex_lock
|
|
94
|
-
{
|
|
95
|
-
public:
|
|
96
|
-
scoped_static_mutex_lock(static_mutex& mut, bool lk = true);
|
|
97
|
-
~scoped_static_mutex_lock();
|
|
98
|
-
operator void const*()const
|
|
99
|
-
{
|
|
100
|
-
return locked() ? this : 0;
|
|
101
|
-
}
|
|
102
|
-
bool locked()const
|
|
103
|
-
{
|
|
104
|
-
return m_have_lock;
|
|
105
|
-
}
|
|
106
|
-
void lock();
|
|
107
|
-
void unlock();
|
|
108
|
-
private:
|
|
109
|
-
static_mutex& m_mutex;
|
|
110
|
-
bool m_have_lock;
|
|
111
|
-
scoped_static_mutex_lock(const scoped_static_mutex_lock&);
|
|
112
|
-
scoped_static_mutex_lock& operator=(const scoped_static_mutex_lock&);
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
} // namespace
|
|
116
|
-
|
|
117
|
-
#else
|
|
118
|
-
//
|
|
119
|
-
// Portable version of a static mutex based on Boost.Thread library:
|
|
120
|
-
// This has to use a single mutex shared by all instances of static_mutex
|
|
121
|
-
// because boost::call_once doesn't alow us to pass instance information
|
|
122
|
-
// down to the initialisation proceedure. In fact the initialisation routine
|
|
123
|
-
// may need to be called more than once - but only once per instance.
|
|
124
|
-
//
|
|
125
|
-
// Since this preprocessor path is almost never taken, we hide these header
|
|
126
|
-
// dependencies so that build tools don't find them.
|
|
127
|
-
//
|
|
128
|
-
#define BOOST_REGEX_H1 <boost/thread/once.hpp>
|
|
129
|
-
#define BOOST_REGEX_H2 <boost/thread/recursive_mutex.hpp>
|
|
130
|
-
#define BOOST_REGEX_H3 <boost/thread/lock_types.hpp>
|
|
131
|
-
#include BOOST_REGEX_H1
|
|
132
|
-
#include BOOST_REGEX_H2
|
|
133
|
-
#include BOOST_REGEX_H3
|
|
134
|
-
#undef BOOST_REGEX_H1
|
|
135
|
-
#undef BOOST_REGEX_H2
|
|
136
|
-
#undef BOOST_REGEX_H3
|
|
137
|
-
|
|
138
|
-
namespace boost{
|
|
139
|
-
|
|
140
|
-
class BOOST_REGEX_DECL scoped_static_mutex_lock;
|
|
141
|
-
extern "C" BOOST_REGEX_DECL void boost_regex_free_static_mutex();
|
|
142
|
-
|
|
143
|
-
class BOOST_REGEX_DECL static_mutex
|
|
144
|
-
{
|
|
145
|
-
public:
|
|
146
|
-
typedef scoped_static_mutex_lock scoped_lock;
|
|
147
|
-
static void init();
|
|
148
|
-
static boost::recursive_mutex* m_pmutex;
|
|
149
|
-
static boost::once_flag m_once;
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
#define BOOST_STATIC_MUTEX_INIT { }
|
|
153
|
-
|
|
154
|
-
class BOOST_REGEX_DECL scoped_static_mutex_lock
|
|
155
|
-
{
|
|
156
|
-
public:
|
|
157
|
-
scoped_static_mutex_lock(static_mutex& mut, bool lk = true);
|
|
158
|
-
~scoped_static_mutex_lock();
|
|
159
|
-
operator void const*()const;
|
|
160
|
-
bool locked()const;
|
|
161
|
-
void lock();
|
|
162
|
-
void unlock();
|
|
163
|
-
private:
|
|
164
|
-
boost::unique_lock<boost::recursive_mutex>* m_plock;
|
|
165
|
-
bool m_have_lock;
|
|
166
|
-
};
|
|
167
|
-
|
|
168
|
-
inline scoped_static_mutex_lock::operator void const*()const
|
|
169
|
-
{
|
|
170
|
-
return locked() ? this : 0;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
inline bool scoped_static_mutex_lock::locked()const
|
|
174
|
-
{
|
|
175
|
-
return m_have_lock;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
} // namespace
|
|
179
|
-
|
|
180
|
-
#endif
|
|
181
|
-
|
|
182
|
-
#endif
|