passenger 6.1.0 → 6.1.2

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.
Files changed (441) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +46 -2
  3. data/Rakefile +6 -13
  4. data/bin/passenger-install-apache2-module +15 -19
  5. data/bin/passenger-install-nginx-module +47 -44
  6. data/bin/passenger-status +9 -10
  7. data/build/common_library.rb +4 -4
  8. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
  9. data/build/test_basics.rb +4 -3
  10. data/dev/copy_boost_headers +54 -40
  11. data/dev/ruby_server.rb +6 -1
  12. data/passenger.gemspec +1 -0
  13. data/src/agent/Core/Config.h +1 -1
  14. data/src/agent/Core/Controller/Config.h +1 -1
  15. data/src/agent/Watchdog/Config.h +1 -1
  16. data/src/cxx_supportlib/Constants.h +1 -1
  17. data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +8 -1
  18. data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +6 -0
  19. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +94 -110
  20. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +2 -2
  21. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -14
  22. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +3 -3
  23. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag_impl.hpp +52 -24
  24. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_impl.hpp +641 -285
  25. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +593 -260
  26. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +37 -24
  27. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +9 -9
  28. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas_based_exchange.hpp +3 -3
  29. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/chrono.hpp +93 -0
  30. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/classify.hpp +16 -17
  31. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +25 -34
  32. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch32.hpp +204 -97
  33. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +251 -122
  34. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_alpha.hpp +56 -56
  35. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_arm.hpp +129 -129
  36. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_ppc.hpp +253 -125
  37. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_sparc.hpp +25 -25
  38. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +193 -126
  39. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_arm.hpp +57 -57
  40. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +96 -97
  41. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +24 -24
  42. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_cas_based.hpp +10 -10
  43. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_atomic.hpp +27 -24
  44. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_sync.hpp +39 -37
  45. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_linux_arm.hpp +17 -17
  46. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extending_cas_based_arithmetic.hpp +5 -5
  47. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +12 -12
  48. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +21 -21
  49. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +30 -30
  50. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +170 -98
  51. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +209 -119
  52. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +95 -95
  53. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +148 -76
  54. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +293 -123
  55. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +87 -71
  56. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +5 -5
  57. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +88 -88
  58. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_operations.hpp +2 -2
  59. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch32.hpp +4 -5
  60. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch64.hpp +4 -4
  61. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_alpha.hpp +4 -4
  62. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_arm.hpp +9 -9
  63. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_ppc.hpp +4 -4
  64. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_sparc.hpp +4 -4
  65. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_x86.hpp +4 -4
  66. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_arm.hpp +5 -5
  67. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_x86.hpp +6 -6
  68. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations.hpp +2 -2
  69. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations_emulated.hpp +2 -2
  70. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_atomic.hpp +5 -5
  71. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_sync.hpp +4 -4
  72. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_linux_arm.hpp +7 -7
  73. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +7 -7
  74. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +6 -6
  75. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +110 -49
  76. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_atomic_memory_order_utils.hpp +1 -1
  77. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/has_posix_clock_traits.hpp +51 -0
  78. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +26 -32
  79. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/integral_conversions.hpp +15 -15
  80. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +69 -30
  81. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/intptr.hpp +8 -8
  82. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lock_pool.hpp +51 -31
  83. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/memory_order_utils.hpp +2 -2
  84. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/once_flag.hpp +2 -2
  85. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +6 -6
  86. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +4 -4
  87. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +5 -5
  88. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_traits.hpp +31 -31
  89. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/alignment_of.hpp +2 -3
  90. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/has_unique_object_representations.hpp +2 -5
  91. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +3 -3
  92. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_iec559.hpp +2 -2
  93. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_integral.hpp +3 -3
  94. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_signed.hpp +3 -3
  95. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_copyable.hpp +20 -13
  96. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_default_constructible.hpp +13 -13
  97. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_signed.hpp +3 -3
  98. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_unsigned.hpp +3 -3
  99. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_darwin_ulock.hpp +90 -16
  100. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_dragonfly_umtx.hpp +80 -11
  101. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +160 -15
  102. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_freebsd_umtx.hpp +327 -38
  103. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_futex.hpp +276 -33
  104. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_generic.hpp +260 -20
  105. data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +4 -3
  106. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +14 -18
  107. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_flag.hpp +2 -2
  108. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +13 -13
  109. data/src/cxx_supportlib/vendor-modified/boost/atomic/posix_clock_traits_fwd.hpp +59 -0
  110. data/src/cxx_supportlib/vendor-modified/boost/atomic/thread_pause.hpp +102 -0
  111. data/src/cxx_supportlib/vendor-modified/boost/atomic/wait_result.hpp +56 -0
  112. data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +4 -1
  113. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +5 -0
  114. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
  115. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +108 -41
  116. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +1235 -1009
  117. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +3 -2
  118. data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +56 -0
  119. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +1 -0
  120. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +9 -9
  121. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +23 -2
  122. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +0 -1
  123. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +88 -23
  124. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +2 -1
  125. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +2 -2
  126. data/src/cxx_supportlib/vendor-modified/boost/container/detail/operator_new_helpers.hpp +68 -0
  127. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +72 -13
  128. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +13 -0
  129. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +8 -5
  130. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +31 -10
  131. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +37 -10
  132. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +19 -0
  133. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +23 -1
  134. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +72 -5
  135. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +3 -10
  136. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +54 -23
  137. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/devector.hpp +6 -4
  138. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +19 -0
  139. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +32 -5
  140. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +27 -2
  141. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +22 -0
  142. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +37 -17
  143. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +23 -1
  144. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +41 -20
  145. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +5 -8
  146. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +3 -1
  147. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_is_avalanching.hpp +57 -0
  148. data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +29 -29
  149. data/src/cxx_supportlib/vendor-modified/boost/core/cmath.hpp +3 -3
  150. data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +15 -1
  151. data/src/cxx_supportlib/vendor-modified/boost/core/default_allocator.hpp +1 -0
  152. data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +1 -1
  153. data/src/cxx_supportlib/vendor-modified/boost/core/detail/assert.hpp +18 -0
  154. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_sleep.hpp +2 -2
  155. data/src/cxx_supportlib/vendor-modified/boost/core/detail/static_assert.hpp +42 -0
  156. data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +16 -10
  157. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +35 -27
  158. data/src/cxx_supportlib/vendor-modified/boost/core/scoped_enum.hpp +1 -1
  159. data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +14 -0
  160. data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +20 -9
  161. data/src/cxx_supportlib/vendor-modified/boost/cregex.hpp +0 -5
  162. data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +8 -0
  163. data/src/cxx_supportlib/vendor-modified/boost/describe/modifiers.hpp +1 -1
  164. data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +1 -0
  165. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +4 -4
  166. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +2 -2
  167. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_rebind.hpp +9 -0
  168. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +1 -0
  169. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +2 -2
  170. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +43 -64
  171. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +0 -83
  172. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_undef.hpp +1 -5
  173. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/eval_if_default.hpp +44 -0
  174. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +103 -117
  175. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/conjunction.hpp +53 -0
  176. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/disjunction.hpp +53 -0
  177. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/negation.hpp +53 -0
  178. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/type_identity.hpp +54 -0
  179. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +32 -38
  180. data/src/cxx_supportlib/vendor-modified/boost/iterator/enable_if_convertible.hpp +84 -0
  181. data/src/cxx_supportlib/vendor-modified/boost/iterator/interoperable.hpp +22 -34
  182. data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +16 -16
  183. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +162 -309
  184. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +52 -161
  185. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +3 -11
  186. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +804 -977
  187. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +24 -17
  188. data/src/cxx_supportlib/vendor-modified/boost/iterator/min_category.hpp +83 -0
  189. data/src/cxx_supportlib/vendor-modified/boost/iterator/minimum_category.hpp +11 -73
  190. data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +56 -57
  191. data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +123 -156
  192. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
  193. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +1 -1
  194. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +36 -33
  195. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +43 -50
  196. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +23 -27
  197. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  198. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +10 -11
  199. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +1 -1
  200. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  201. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +6 -7
  202. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/type_traits.hpp +81 -0
  203. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +4 -4
  204. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +8 -9
  205. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
  206. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +1 -12
  207. data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +8 -26
  208. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +1 -1
  209. data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +1 -1
  210. data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +6 -0
  211. data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +2 -2
  212. data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +11 -44
  213. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +34 -0
  214. data/src/cxx_supportlib/vendor-modified/boost/mp11/set.hpp +33 -1
  215. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  216. data/src/cxx_supportlib/vendor-modified/boost/mpl/and.hpp +4 -8
  217. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_assert.hpp +1 -1
  218. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/ptr_to_ref.hpp +1 -1
  219. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitand.hpp +2 -6
  220. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitor.hpp +2 -6
  221. data/src/cxx_supportlib/vendor-modified/boost/mpl/or.hpp +2 -6
  222. data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
  223. data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +0 -13
  224. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_256.hpp +190 -190
  225. data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +12 -2
  226. data/src/cxx_supportlib/vendor-modified/boost/random/detail/config.hpp +4 -0
  227. data/src/cxx_supportlib/vendor-modified/boost/random/detail/size.hpp +41 -0
  228. data/src/cxx_supportlib/vendor-modified/boost/random/detail/xoshiro_base.hpp +472 -0
  229. data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +7 -10
  230. data/src/cxx_supportlib/vendor-modified/boost/random/gamma_distribution.hpp +1 -1
  231. data/src/cxx_supportlib/vendor-modified/boost/random/generalized_inverse_gaussian_distribution.hpp +339 -0
  232. data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +12 -14
  233. data/src/cxx_supportlib/vendor-modified/boost/random/inverse_gaussian_distribution.hpp +226 -0
  234. data/src/cxx_supportlib/vendor-modified/boost/random/mersenne_twister.hpp +1 -4
  235. data/src/cxx_supportlib/vendor-modified/boost/random/mixmax.hpp +63 -63
  236. data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_constant_distribution.hpp +7 -10
  237. data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_linear_distribution.hpp +8 -11
  238. data/src/cxx_supportlib/vendor-modified/boost/random/seed_seq.hpp +1 -3
  239. data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +1 -4
  240. data/src/cxx_supportlib/vendor-modified/boost/random/xoshiro.hpp +488 -0
  241. data/src/cxx_supportlib/vendor-modified/boost/random.hpp +3 -0
  242. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +2 -0
  243. data/src/cxx_supportlib/vendor-modified/boost/range/detail/has_member_size.hpp +1 -0
  244. data/src/cxx_supportlib/vendor-modified/boost/range/detail/msvc_has_iterator_workaround.hpp +2 -0
  245. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +1 -1
  246. data/src/cxx_supportlib/vendor-modified/boost/range/iterator.hpp +1 -0
  247. data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +4 -1
  248. data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +1 -1
  249. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +35 -18
  250. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +18 -101
  251. data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +0 -4
  252. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +0 -4
  253. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +0 -6
  254. data/src/cxx_supportlib/vendor-modified/boost/regex/regex_traits.hpp +0 -4
  255. data/src/cxx_supportlib/vendor-modified/boost/regex/user.hpp +4 -10
  256. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex.hpp +63 -17
  257. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_creator.hpp +71 -16
  258. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +22 -1
  259. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/c_regex_traits.hpp +11 -4
  260. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/char_regex_traits.hpp +2 -0
  261. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cpp_regex_traits.hpp +11 -8
  262. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cregex.hpp +2 -1
  263. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/error_type.hpp +1 -1
  264. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +40 -38
  265. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_category.hpp +2 -0
  266. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_traits.hpp +4 -0
  267. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_flags.hpp +39 -37
  268. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_results.hpp +46 -9
  269. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -0
  270. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/object_cache.hpp +2 -0
  271. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/pattern_except.hpp +6 -4
  272. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher.hpp +57 -8
  273. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_common.hpp +21 -6
  274. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_non_recursive.hpp +18 -3
  275. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regbase.hpp +4 -2
  276. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex.hpp +6 -6
  277. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_format.hpp +23 -18
  278. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_fwd.hpp +9 -9
  279. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_grep.hpp +9 -5
  280. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_iterator.hpp +11 -7
  281. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_match.hpp +10 -7
  282. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_merge.hpp +4 -4
  283. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_raw_buffer.hpp +3 -0
  284. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_replace.hpp +6 -2
  285. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_search.hpp +12 -9
  286. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_split.hpp +6 -3
  287. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_token_iterator.hpp +16 -11
  288. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits.hpp +1 -1
  289. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits_defaults.hpp +2 -0
  290. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +2 -0
  291. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/states.hpp +7 -0
  292. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/sub_match.hpp +54 -49
  293. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/syntax_type.hpp +64 -62
  294. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_iterator.hpp +16 -0
  295. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_token_iterator.hpp +12 -0
  296. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +6 -4
  297. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +3 -1
  298. data/src/cxx_supportlib/vendor-modified/boost/regex.hpp +0 -4
  299. data/src/cxx_supportlib/vendor-modified/boost/regex_fwd.hpp +0 -4
  300. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +1 -43
  301. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/deprecated_macros.hpp +7 -7
  302. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +2 -77
  303. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +1 -64
  304. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +3 -3
  305. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -77
  306. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_cxx20_constexpr.hpp +37 -0
  307. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +5 -28
  308. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +41 -40
  309. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +0 -15
  310. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +0 -18
  311. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +1 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +1 -1
  313. data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +1 -0
  314. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +8 -6
  315. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +31 -10
  316. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +34 -8
  317. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +6 -4
  318. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +9 -1
  319. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +5 -5
  320. data/src/cxx_supportlib/vendor-modified/boost/unordered/{unordered_printers.hpp → detail/unordered_printers.hpp} +34 -36
  321. data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +6 -49
  322. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +6 -1
  323. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +6 -1
  324. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +6 -1
  325. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +6 -1
  326. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  327. data/src/nginx_module/ContentHandler.c +2 -0
  328. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +3 -5
  329. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +3 -5
  330. data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +3 -5
  331. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +3 -5
  332. data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +1 -1
  333. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +2 -2
  334. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +5 -3
  335. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +2 -2
  336. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +6 -13
  337. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +29 -30
  338. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +7 -3
  339. data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +2 -0
  340. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -1
  341. data/src/ruby_supportlib/phusion_passenger/utils/json.rb +1 -1
  342. data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +1 -1
  343. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
  344. data/src/ruby_supportlib/phusion_passenger.rb +8 -8
  345. metadata +40 -99
  346. data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +0 -47
  347. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +0 -41
  348. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_sunos.hpp +0 -34
  349. data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +0 -28
  350. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +0 -68
  351. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/conditional.hpp +0 -42
  352. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/integral_constant.hpp +0 -46
  353. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_enum.hpp +0 -42
  354. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_function.hpp +0 -42
  355. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_nothrow_default_constructible.hpp +0 -46
  356. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +0 -42
  357. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +0 -64
  358. data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +0 -15
  359. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +0 -195
  360. data/src/cxx_supportlib/vendor-modified/boost/detail/select_type.hpp +0 -36
  361. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/enable_if.hpp +0 -83
  362. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/internals.hpp +0 -35
  363. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +0 -120
  364. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_debug.cpp +0 -59
  365. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +0 -189
  366. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +0 -31
  367. data/src/cxx_supportlib/vendor-modified/boost/regex/config/borland.hpp +0 -72
  368. data/src/cxx_supportlib/vendor-modified/boost/regex/config/cwchar.hpp +0 -207
  369. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/static_mutex.hpp +0 -182
  370. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +0 -797
  371. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +0 -1598
  372. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +0 -3174
  373. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/c_regex_traits.hpp +0 -511
  374. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/char_regex_traits.hpp +0 -81
  375. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +0 -1237
  376. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +0 -213
  377. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/error_type.hpp +0 -59
  378. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/icu.hpp +0 -1516
  379. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/indexed_bit_flag.hpp +0 -54
  380. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_category.hpp +0 -91
  381. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_traits.hpp +0 -135
  382. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +0 -161
  383. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +0 -716
  384. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +0 -183
  385. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/object_cache.hpp +0 -171
  386. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/pattern_except.hpp +0 -128
  387. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +0 -645
  388. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +0 -1030
  389. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +0 -1947
  390. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +0 -1131
  391. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +0 -146
  392. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +0 -83
  393. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regbase.hpp +0 -180
  394. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex.hpp +0 -166
  395. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -1158
  396. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_fwd.hpp +0 -73
  397. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_grep.hpp +0 -155
  398. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -195
  399. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_match.hpp +0 -382
  400. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_merge.hpp +0 -93
  401. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +0 -241
  402. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_replace.hpp +0 -99
  403. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_search.hpp +0 -217
  404. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +0 -174
  405. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -327
  406. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +0 -189
  407. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +0 -997
  408. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +0 -237
  409. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +0 -321
  410. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +0 -516
  411. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/syntax_type.hpp +0 -105
  412. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +0 -185
  413. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +0 -360
  414. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +0 -871
  415. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +0 -1229
  416. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +0 -79
  417. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +0 -63
  418. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +0 -88
  419. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_pt.hpp +0 -104
  420. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +0 -69
  421. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_sync.hpp +0 -72
  422. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +0 -163
  423. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +0 -152
  424. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +0 -185
  425. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +0 -148
  426. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +0 -170
  427. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +0 -200
  428. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +0 -194
  429. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +0 -179
  430. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +0 -186
  431. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +0 -147
  432. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +0 -174
  433. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +0 -141
  434. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +0 -165
  435. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +0 -163
  436. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +0 -30
  437. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +0 -69
  438. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +0 -128
  439. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_nt.hpp +0 -96
  440. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pt.hpp +0 -86
  441. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_sync.hpp +0 -94
@@ -1,79 +0,0 @@
1
- #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
2
- #define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
3
-
4
- //
5
- // boost/detail/atomic_count_gcc.hpp
6
- //
7
- // atomic_count for GNU libstdc++ v3
8
- //
9
- // http://gcc.gnu.org/onlinedocs/porting/Thread-safety.html
10
- //
11
- // Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
12
- // Copyright (c) 2002 Lars Gullik Bjønnes <larsbj@lyx.org>
13
- // Copyright 2003-2005 Peter Dimov
14
- //
15
- // Distributed under the Boost Software License, Version 1.0. (See
16
- // accompanying file LICENSE_1_0.txt or copy at
17
- // http://www.boost.org/LICENSE_1_0.txt)
18
- //
19
-
20
- #if __GNUC__ * 100 + __GNUC_MINOR__ >= 402
21
- # include <ext/atomicity.h>
22
- #else
23
- # include <bits/atomicity.h>
24
- #endif
25
-
26
- #if defined(BOOST_SP_REPORT_IMPLEMENTATION)
27
-
28
- #include <boost/config/pragma_message.hpp>
29
- BOOST_PRAGMA_MESSAGE("Using libstdc++ atomic_count")
30
-
31
- #endif
32
-
33
- namespace boost
34
- {
35
-
36
- namespace detail
37
- {
38
-
39
- #if defined(__GLIBCXX__) // g++ 3.4+
40
-
41
- using __gnu_cxx::__atomic_add;
42
- using __gnu_cxx::__exchange_and_add;
43
-
44
- #endif
45
-
46
- class atomic_count
47
- {
48
- public:
49
-
50
- explicit atomic_count( long v ) : value_( v ) {}
51
-
52
- long operator++()
53
- {
54
- return __exchange_and_add( &value_, +1 ) + 1;
55
- }
56
-
57
- long operator--()
58
- {
59
- return __exchange_and_add( &value_, -1 ) - 1;
60
- }
61
-
62
- operator long() const
63
- {
64
- return __exchange_and_add( &value_, 0 );
65
- }
66
-
67
- private:
68
-
69
- atomic_count(atomic_count const &);
70
- atomic_count & operator=(atomic_count const &);
71
-
72
- mutable _Atomic_word value_;
73
- };
74
-
75
- } // namespace detail
76
-
77
- } // namespace boost
78
-
79
- #endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_HPP_INCLUDED
@@ -1,63 +0,0 @@
1
- #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_ATOMIC_HPP_INCLUDED
2
- #define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_ATOMIC_HPP_INCLUDED
3
-
4
- // boost/detail/atomic_count_gcc_atomic.hpp
5
- //
6
- // atomic_count for g++ 4.7+
7
- //
8
- // Copyright 2007, 2020 Peter Dimov
9
- //
10
- // Distributed under the Boost Software License, Version 1.0.
11
- // https://www.boost.org/LICENSE_1_0.txt
12
-
13
- #include <boost/cstdint.hpp>
14
-
15
- #if defined(BOOST_SP_REPORT_IMPLEMENTATION)
16
-
17
- #include <boost/config/pragma_message.hpp>
18
- BOOST_PRAGMA_MESSAGE("Using __atomic atomic_count")
19
-
20
- #endif
21
-
22
- namespace boost
23
- {
24
-
25
- namespace detail
26
- {
27
-
28
- class atomic_count
29
- {
30
- public:
31
-
32
- explicit atomic_count( long v ): value_( static_cast< boost::int_least32_t >( v ) )
33
- {
34
- }
35
-
36
- long operator++()
37
- {
38
- return __atomic_add_fetch( &value_, +1, __ATOMIC_ACQ_REL );
39
- }
40
-
41
- long operator--()
42
- {
43
- return __atomic_add_fetch( &value_, -1, __ATOMIC_ACQ_REL );
44
- }
45
-
46
- operator long() const
47
- {
48
- return __atomic_load_n( &value_, __ATOMIC_ACQUIRE );
49
- }
50
-
51
- private:
52
-
53
- atomic_count(atomic_count const &);
54
- atomic_count & operator=(atomic_count const &);
55
-
56
- boost::int_least32_t value_;
57
- };
58
-
59
- } // namespace detail
60
-
61
- } // namespace boost
62
-
63
- #endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_ATOMIC_HPP_INCLUDED
@@ -1,88 +0,0 @@
1
- #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED
2
- #define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED
3
-
4
- //
5
- // boost/detail/atomic_count_gcc_x86.hpp
6
- //
7
- // atomic_count for g++ on 486+/AMD64
8
- //
9
- // Copyright 2007 Peter Dimov
10
- //
11
- // Distributed under the Boost Software License, Version 1.0. (See
12
- // accompanying file LICENSE_1_0.txt or copy at
13
- // http://www.boost.org/LICENSE_1_0.txt)
14
- //
15
-
16
- #include <boost/smart_ptr/detail/sp_obsolete.hpp>
17
-
18
- #if defined(BOOST_SP_REPORT_IMPLEMENTATION)
19
-
20
- #include <boost/config/pragma_message.hpp>
21
- BOOST_PRAGMA_MESSAGE("Using g++/x86 atomic_count")
22
-
23
- #endif
24
-
25
- BOOST_SP_OBSOLETE()
26
-
27
- namespace boost
28
- {
29
-
30
- namespace detail
31
- {
32
-
33
- class atomic_count
34
- {
35
- public:
36
-
37
- explicit atomic_count( long v ) : value_( static_cast< int >( v ) ) {}
38
-
39
- long operator++()
40
- {
41
- return atomic_exchange_and_add( &value_, +1 ) + 1;
42
- }
43
-
44
- long operator--()
45
- {
46
- return atomic_exchange_and_add( &value_, -1 ) - 1;
47
- }
48
-
49
- operator long() const
50
- {
51
- return atomic_exchange_and_add( &value_, 0 );
52
- }
53
-
54
- private:
55
-
56
- atomic_count(atomic_count const &);
57
- atomic_count & operator=(atomic_count const &);
58
-
59
- mutable int value_;
60
-
61
- private:
62
-
63
- static int atomic_exchange_and_add( int * pw, int dv )
64
- {
65
- // int r = *pw;
66
- // *pw += dv;
67
- // return r;
68
-
69
- int r;
70
-
71
- __asm__ __volatile__
72
- (
73
- "lock\n\t"
74
- "xadd %1, %0":
75
- "+m"( *pw ), "=r"( r ): // outputs (%0, %1)
76
- "1"( dv ): // inputs (%2 == %1)
77
- "memory", "cc" // clobbers
78
- );
79
-
80
- return r;
81
- }
82
- };
83
-
84
- } // namespace detail
85
-
86
- } // namespace boost
87
-
88
- #endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_GCC_X86_HPP_INCLUDED
@@ -1,104 +0,0 @@
1
- #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED
2
- #define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED
3
-
4
- //
5
- // boost/detail/atomic_count_pthreads.hpp
6
- //
7
- // Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
8
- //
9
- // Distributed under the Boost Software License, Version 1.0. (See
10
- // accompanying file LICENSE_1_0.txt or copy at
11
- // http://www.boost.org/LICENSE_1_0.txt)
12
- //
13
-
14
- #include <boost/assert.hpp>
15
- #include <pthread.h>
16
-
17
- #if defined(BOOST_SP_REPORT_IMPLEMENTATION)
18
-
19
- #include <boost/config/pragma_message.hpp>
20
- BOOST_PRAGMA_MESSAGE("Using pthread_mutex atomic_count")
21
-
22
- #endif
23
-
24
- //
25
- // The generic pthread_mutex-based implementation sometimes leads to
26
- // inefficiencies. Example: a class with two atomic_count members
27
- // can get away with a single mutex.
28
- //
29
- // Users can detect this situation by checking BOOST_AC_USE_PTHREADS.
30
- //
31
-
32
- namespace boost
33
- {
34
-
35
- namespace detail
36
- {
37
-
38
- class atomic_count
39
- {
40
- private:
41
-
42
- class scoped_lock
43
- {
44
- public:
45
-
46
- scoped_lock(pthread_mutex_t & m): m_(m)
47
- {
48
- BOOST_VERIFY( pthread_mutex_lock( &m_ ) == 0 );
49
- }
50
-
51
- ~scoped_lock()
52
- {
53
- BOOST_VERIFY( pthread_mutex_unlock( &m_ ) == 0 );
54
- }
55
-
56
- private:
57
-
58
- pthread_mutex_t & m_;
59
- };
60
-
61
- public:
62
-
63
- explicit atomic_count(long v): value_(v)
64
- {
65
- BOOST_VERIFY( pthread_mutex_init( &mutex_, 0 ) == 0 );
66
- }
67
-
68
- ~atomic_count()
69
- {
70
- BOOST_VERIFY( pthread_mutex_destroy( &mutex_ ) == 0 );
71
- }
72
-
73
- long operator++()
74
- {
75
- scoped_lock lock(mutex_);
76
- return ++value_;
77
- }
78
-
79
- long operator--()
80
- {
81
- scoped_lock lock(mutex_);
82
- return --value_;
83
- }
84
-
85
- operator long() const
86
- {
87
- scoped_lock lock(mutex_);
88
- return value_;
89
- }
90
-
91
- private:
92
-
93
- atomic_count(atomic_count const &);
94
- atomic_count & operator=(atomic_count const &);
95
-
96
- mutable pthread_mutex_t mutex_;
97
- long value_;
98
- };
99
-
100
- } // namespace detail
101
-
102
- } // namespace boost
103
-
104
- #endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_PTHREADS_HPP_INCLUDED
@@ -1,69 +0,0 @@
1
- #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SPIN_HPP_INCLUDED
2
- #define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SPIN_HPP_INCLUDED
3
-
4
- //
5
- // boost/detail/atomic_count_spin.hpp
6
- //
7
- // Copyright (c) 2013 Peter Dimov
8
- //
9
- // Distributed under the Boost Software License, Version 1.0.
10
- // See accompanying file LICENSE_1_0.txt or copy at
11
- // http://www.boost.org/LICENSE_1_0.txt
12
- //
13
-
14
- #include <boost/smart_ptr/detail/spinlock_pool.hpp>
15
-
16
- #if defined(BOOST_SP_REPORT_IMPLEMENTATION)
17
-
18
- #include <boost/config/pragma_message.hpp>
19
- BOOST_PRAGMA_MESSAGE("Using spinlock-based atomic_count")
20
-
21
- #endif
22
-
23
- namespace boost
24
- {
25
-
26
- namespace detail
27
- {
28
-
29
- class atomic_count
30
- {
31
- private:
32
-
33
- public:
34
-
35
- explicit atomic_count( long v ): value_( v )
36
- {
37
- }
38
-
39
- long operator++()
40
- {
41
- spinlock_pool<0>::scoped_lock lock( &value_ );
42
- return ++value_;
43
- }
44
-
45
- long operator--()
46
- {
47
- spinlock_pool<0>::scoped_lock lock( &value_ );
48
- return --value_;
49
- }
50
-
51
- operator long() const
52
- {
53
- spinlock_pool<0>::scoped_lock lock( &value_ );
54
- return value_;
55
- }
56
-
57
- private:
58
-
59
- atomic_count(atomic_count const &);
60
- atomic_count & operator=(atomic_count const &);
61
-
62
- long value_;
63
- };
64
-
65
- } // namespace detail
66
-
67
- } // namespace boost
68
-
69
- #endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SPIN_HPP_INCLUDED
@@ -1,72 +0,0 @@
1
- #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
2
- #define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
3
-
4
- //
5
- // boost/detail/atomic_count_sync.hpp
6
- //
7
- // atomic_count for g++ 4.1+
8
- //
9
- // http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Atomic-Builtins.html
10
- //
11
- // Copyright 2007 Peter Dimov
12
- //
13
- // Distributed under the Boost Software License, Version 1.0. (See
14
- // accompanying file LICENSE_1_0.txt or copy at
15
- // http://www.boost.org/LICENSE_1_0.txt)
16
- //
17
-
18
- #include <boost/cstdint.hpp>
19
-
20
- #if defined( __ia64__ ) && defined( __INTEL_COMPILER )
21
- # include <ia64intrin.h>
22
- #endif
23
-
24
- #if defined(BOOST_SP_REPORT_IMPLEMENTATION)
25
-
26
- #include <boost/config/pragma_message.hpp>
27
- BOOST_PRAGMA_MESSAGE("Using __sync atomic_count")
28
-
29
- #endif
30
-
31
- namespace boost
32
- {
33
-
34
- namespace detail
35
- {
36
-
37
- class atomic_count
38
- {
39
- public:
40
-
41
- explicit atomic_count( long v ): value_( static_cast< boost::int_least32_t >( v ) )
42
- {
43
- }
44
-
45
- long operator++()
46
- {
47
- return __sync_add_and_fetch( &value_, 1 );
48
- }
49
-
50
- long operator--()
51
- {
52
- return __sync_add_and_fetch( &value_, -1 );
53
- }
54
-
55
- operator long() const
56
- {
57
- return __sync_fetch_and_add( &value_, 0 );
58
- }
59
-
60
- private:
61
-
62
- atomic_count(atomic_count const &);
63
- atomic_count & operator=(atomic_count const &);
64
-
65
- mutable boost::int_least32_t value_;
66
- };
67
-
68
- } // namespace detail
69
-
70
- } // namespace boost
71
-
72
- #endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
@@ -1,163 +0,0 @@
1
- #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
2
- #define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
3
-
4
- //
5
- // detail/sp_counted_base_acc_ia64.hpp - aC++ on HP-UX IA64
6
- //
7
- // Copyright 2007 Baruch Zilber
8
- // Copyright 2007 Boris Gubenko
9
- //
10
- // Distributed under the Boost Software License, Version 1.0. (See
11
- // accompanying file LICENSE_1_0.txt or copy at
12
- // http://www.boost.org/LICENSE_1_0.txt)
13
- //
14
- //
15
- // Lock-free algorithm by Alexander Terekhov
16
- //
17
-
18
- #include <boost/smart_ptr/detail/sp_typeinfo_.hpp>
19
- #include <boost/smart_ptr/detail/sp_obsolete.hpp>
20
- #include <boost/config.hpp>
21
- #include <machine/sys/inline.h>
22
-
23
- #if defined(BOOST_SP_REPORT_IMPLEMENTATION)
24
-
25
- #include <boost/config/pragma_message.hpp>
26
- BOOST_PRAGMA_MESSAGE("Using HP aCC++/HP-UX/IA64 sp_counted_base")
27
-
28
- #endif
29
-
30
- BOOST_SP_OBSOLETE()
31
-
32
- namespace boost
33
- {
34
-
35
- namespace detail
36
- {
37
-
38
- inline void atomic_increment( int * pw )
39
- {
40
- // ++*pw;
41
-
42
- _Asm_fetchadd(_FASZ_W, _SEM_REL, pw, +1, _LDHINT_NONE);
43
- }
44
-
45
- inline int atomic_decrement( int * pw )
46
- {
47
- // return --*pw;
48
-
49
- int r = static_cast<int>(_Asm_fetchadd(_FASZ_W, _SEM_REL, pw, -1, _LDHINT_NONE));
50
- if (1 == r)
51
- {
52
- _Asm_mf();
53
- }
54
-
55
- return r - 1;
56
- }
57
-
58
- inline int atomic_conditional_increment( int * pw )
59
- {
60
- // if( *pw != 0 ) ++*pw;
61
- // return *pw;
62
-
63
- int v = *pw;
64
-
65
- for (;;)
66
- {
67
- if (0 == v)
68
- {
69
- return 0;
70
- }
71
-
72
- _Asm_mov_to_ar(_AREG_CCV,
73
- v,
74
- (_UP_CALL_FENCE | _UP_SYS_FENCE | _DOWN_CALL_FENCE | _DOWN_SYS_FENCE));
75
- int r = static_cast<int>(_Asm_cmpxchg(_SZ_W, _SEM_ACQ, pw, v + 1, _LDHINT_NONE));
76
- if (r == v)
77
- {
78
- return r + 1;
79
- }
80
-
81
- v = r;
82
- }
83
- }
84
-
85
- class BOOST_SYMBOL_VISIBLE sp_counted_base
86
- {
87
- private:
88
-
89
- sp_counted_base( sp_counted_base const & );
90
- sp_counted_base & operator= ( sp_counted_base const & );
91
-
92
- int use_count_; // #shared
93
- int weak_count_; // #weak + (#shared != 0)
94
-
95
- public:
96
-
97
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
98
- {
99
- }
100
-
101
- virtual ~sp_counted_base() // nothrow
102
- {
103
- }
104
-
105
- // dispose() is called when use_count_ drops to zero, to release
106
- // the resources managed by *this.
107
-
108
- virtual void dispose() = 0; // nothrow
109
-
110
- // destroy() is called when weak_count_ drops to zero.
111
-
112
- virtual void destroy() // nothrow
113
- {
114
- delete this;
115
- }
116
-
117
- virtual void * get_deleter( sp_typeinfo_ const & ti ) = 0;
118
- virtual void * get_local_deleter( sp_typeinfo_ const & ti ) = 0;
119
- virtual void * get_untyped_deleter() = 0;
120
-
121
- void add_ref_copy()
122
- {
123
- atomic_increment( &use_count_ );
124
- }
125
-
126
- bool add_ref_lock() // true on success
127
- {
128
- return atomic_conditional_increment( &use_count_ ) != 0;
129
- }
130
-
131
- void release() // nothrow
132
- {
133
- if( atomic_decrement( &use_count_ ) == 0 )
134
- {
135
- dispose();
136
- weak_release();
137
- }
138
- }
139
-
140
- void weak_add_ref() // nothrow
141
- {
142
- atomic_increment( &weak_count_ );
143
- }
144
-
145
- void weak_release() // nothrow
146
- {
147
- if( atomic_decrement( &weak_count_ ) == 0 )
148
- {
149
- destroy();
150
- }
151
- }
152
-
153
- long use_count() const // nothrow
154
- {
155
- return static_cast<int const volatile &>( use_count_ ); // TODO use ld.acq here
156
- }
157
- };
158
-
159
- } // namespace detail
160
-
161
- } // namespace boost
162
-
163
- #endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED