passenger 6.2.1 → 6.2.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 (270) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +37 -15
  3. data/build/cxx_tests.rb +2 -0
  4. data/build/support/cxx_dependency_map.rb +3 -63
  5. data/src/agent/Core/Config.h +1 -1
  6. data/src/agent/Core/Controller/Config.h +1 -1
  7. data/src/agent/Shared/ApiServerUtils.h +1 -1
  8. data/src/agent/Watchdog/Config.h +1 -1
  9. data/src/apache2_module/Hooks.cpp +13 -0
  10. data/src/apache2_module/Utils.h +14 -0
  11. data/src/cxx_supportlib/Constants.h +1 -1
  12. data/src/cxx_supportlib/FileTools/FileManip.cpp +27 -3
  13. data/src/cxx_supportlib/InstanceDirectory.h +30 -3
  14. data/src/cxx_supportlib/ServerKit/Errors.h +1 -1
  15. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +1 -1
  16. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +1 -1
  17. data/src/cxx_supportlib/ServerKit/HttpRequest.h +1 -1
  18. data/src/cxx_supportlib/ServerKit/llerrors.h +3 -3
  19. data/src/cxx_supportlib/ServerKit/llversion.h +1 -1
  20. data/src/cxx_supportlib/{ServerKit/llhttp_api.c → vendor-copy/llhttp/api.c} +30 -23
  21. data/src/cxx_supportlib/{ServerKit → vendor-copy/llhttp}/llhttp.c +1756 -1645
  22. data/src/cxx_supportlib/{ServerKit → vendor-copy/llhttp}/llhttp.h +35 -13
  23. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/classification.hpp +19 -0
  24. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/formatter.hpp +1 -1
  25. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/trim_all.hpp +0 -2
  26. data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +20 -13
  27. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +2 -2
  28. data/src/cxx_supportlib/vendor-modified/boost/atomic/thread_pause.hpp +4 -0
  29. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +1 -1
  30. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/debug.hpp +4 -0
  31. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +1 -1
  32. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +1 -1
  33. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +1 -1
  34. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +1 -1
  35. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +1 -1
  36. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx23.hpp +1 -1
  37. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +6 -1
  38. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +10 -1
  39. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +5 -3
  40. data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +1 -1
  41. data/src/cxx_supportlib/vendor-modified/boost/config/workaround.hpp +5 -0
  42. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +57 -53
  43. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +10 -10
  44. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +34 -2
  45. data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +14 -2
  46. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +176 -2287
  47. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +13 -9
  48. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +186 -70
  49. data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +2 -2
  50. data/src/cxx_supportlib/vendor-modified/boost/container/detail/aligned_allocation.hpp +149 -0
  51. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +35 -0
  52. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +1 -0
  53. data/src/cxx_supportlib/vendor-modified/boost/container/detail/bit_utilities.hpp +133 -0
  54. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +18 -3
  55. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +5 -0
  56. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_end.hpp +4 -0
  57. data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +1 -1
  58. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +20 -10
  59. data/src/cxx_supportlib/vendor-modified/boost/container/detail/deque_impl.hpp +2744 -0
  60. data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +202 -104
  61. data/src/cxx_supportlib/vendor-modified/boost/container/detail/dlmalloc.hpp +5 -4
  62. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +161 -85
  63. data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_constructible.hpp +180 -0
  64. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +3 -2
  65. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +12 -0
  66. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +16 -0
  67. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +1 -1
  68. data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +9 -1
  69. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +18 -14
  70. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +256 -41
  71. data/src/cxx_supportlib/vendor-modified/boost/container/detail/operator_new_helpers.hpp +75 -24
  72. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +1 -56
  73. data/src/cxx_supportlib/vendor-modified/boost/container/detail/placement_new.hpp +16 -3
  74. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +1 -7
  75. data/src/cxx_supportlib/vendor-modified/boost/container/detail/range_utils.hpp +196 -0
  76. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +33 -1
  77. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +124 -69
  78. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +109 -7
  79. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +168 -162
  80. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/nest.hpp +2978 -0
  81. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/pmr/nest.hpp +45 -0
  82. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_all_of.hpp +43 -0
  83. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_any_of.hpp +42 -0
  84. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_copy.hpp +229 -0
  85. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_copy_if.hpp +270 -0
  86. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_copy_n.hpp +308 -0
  87. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_count.hpp +101 -0
  88. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_count_if.hpp +100 -0
  89. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_equal.hpp +268 -0
  90. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_fill.hpp +101 -0
  91. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_fill_n.hpp +171 -0
  92. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find.hpp +110 -0
  93. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_if.hpp +110 -0
  94. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_if_not.hpp +43 -0
  95. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_last.hpp +179 -0
  96. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_last_if.hpp +179 -0
  97. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_last_if_not.hpp +43 -0
  98. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_for_each.hpp +92 -0
  99. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_generate.hpp +90 -0
  100. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_generate_n.hpp +162 -0
  101. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_is_partitioned.hpp +46 -0
  102. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_is_sorted.hpp +49 -0
  103. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_is_sorted_until.hpp +169 -0
  104. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_iterator_traits.hpp +382 -0
  105. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_merge.hpp +428 -0
  106. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_mismatch.hpp +350 -0
  107. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_none_of.hpp +98 -0
  108. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_partition.hpp +296 -0
  109. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_partition_copy.hpp +105 -0
  110. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_partition_point.hpp +116 -0
  111. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_remove.hpp +57 -0
  112. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_remove_copy.hpp +207 -0
  113. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_remove_copy_if.hpp +223 -0
  114. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_remove_if.hpp +57 -0
  115. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_replace.hpp +90 -0
  116. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_replace_if.hpp +90 -0
  117. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_reverse.hpp +245 -0
  118. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_reverse_copy.hpp +229 -0
  119. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_search.hpp +211 -0
  120. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_search_n.hpp +476 -0
  121. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_set_difference.hpp +300 -0
  122. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_set_intersection.hpp +287 -0
  123. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_set_symmetric_difference.hpp +306 -0
  124. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_set_union.hpp +294 -0
  125. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_stable_partition.hpp +153 -0
  126. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_swap_ranges.hpp +92 -0
  127. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_transform.hpp +93 -0
  128. data/src/cxx_supportlib/vendor-modified/boost/container/experimental/wrapped_iterator.hpp +142 -0
  129. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +642 -417
  130. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +141 -30
  131. data/src/cxx_supportlib/vendor-modified/boost/container/hub.hpp +2426 -0
  132. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +65 -57
  133. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +247 -68
  134. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +7 -0
  135. data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +39 -33
  136. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +156 -23
  137. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/global_resource.hpp +3 -3
  138. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/hub.hpp +43 -0
  139. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +5 -3
  140. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +1 -0
  141. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +1 -1
  142. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +4 -0
  143. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/segtor.hpp +45 -0
  144. data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +5 -4
  145. data/src/cxx_supportlib/vendor-modified/boost/container/segtor.hpp +905 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +148 -35
  147. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +59 -52
  148. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +632 -5
  149. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +66 -60
  150. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +46 -1
  151. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +612 -317
  152. data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +54 -111
  153. data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator_construction.hpp +100 -0
  154. data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator_fwd.hpp +1 -3
  155. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +233 -116
  156. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +5 -1
  157. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +17 -10
  158. data/src/cxx_supportlib/vendor-modified/boost/date_time/period.hpp +1 -3
  159. data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +16 -0
  160. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/encoder.hpp +114 -0
  161. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +4 -0
  162. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/requires_cxx11.hpp +1 -1
  163. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +211 -1
  164. data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +59 -0
  165. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +6 -0
  166. data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +34 -0
  167. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +0 -1
  168. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +12 -3
  169. data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
  170. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +29 -174
  171. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +18 -2
  172. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +0 -1
  173. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +4 -5
  174. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +20 -11
  175. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +42 -14
  176. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +58 -22
  177. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +3 -1
  178. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +5 -1
  179. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +8 -2
  180. data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +9 -0
  181. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +11 -1
  182. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +9 -1
  183. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/config.hpp +22 -0
  184. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +15 -7
  185. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +23 -11
  186. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +11 -1
  187. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +9 -1
  188. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +11 -2
  189. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +10 -1
  190. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +8 -1
  191. data/src/cxx_supportlib/vendor-modified/boost/{detail → lexical_cast/detail}/lcast_precision.hpp +13 -1
  192. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +11 -1
  193. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +10 -2
  194. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +15 -2
  195. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +11 -1
  196. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once_atomic.cpp +1 -1
  197. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +48 -46
  198. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +23 -0
  199. data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +24 -24
  200. data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +12 -4
  201. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +76 -0
  202. data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +1 -1
  203. data/src/cxx_supportlib/vendor-modified/boost/move/traits.hpp +11 -0
  204. data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +58 -37
  205. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_copy_if.hpp +1 -2
  206. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +17 -9
  207. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_remove_if.hpp +1 -2
  208. data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +6 -0
  209. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  210. data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +6 -1
  211. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_common_defs.hpp +188 -0
  212. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_factory_support.hpp +0 -6
  213. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_hash.hpp +1 -1
  214. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_nonmember_interface.hpp +117 -0
  215. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +108 -83
  216. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +39 -39
  217. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_select_implementation.hpp +37 -0
  218. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +1 -1
  219. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +8 -8
  220. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/union_optional.hpp +724 -0
  221. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +93 -220
  222. data/src/cxx_supportlib/vendor-modified/boost/optional/optional_fwd.hpp +14 -4
  223. data/src/cxx_supportlib/vendor-modified/boost/optional/optional_io.hpp +1 -1
  224. data/src/cxx_supportlib/vendor-modified/boost/random/binomial_distribution.hpp +1 -1
  225. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_int_distribution.hpp +1 -1
  226. data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +1 -1
  227. data/src/cxx_supportlib/vendor-modified/boost/static_assert.hpp +4 -6
  228. data/src/cxx_supportlib/vendor-modified/boost/system/api_config.hpp +1 -1
  229. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +16 -0
  230. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +13 -13
  231. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +5 -5
  232. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_deque_base.hpp +3 -2
  233. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_queue_base.hpp +3 -2
  234. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +2 -1
  235. data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v2/task_region.hpp +1 -1
  236. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +30 -28
  237. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once.hpp +6 -3
  238. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once_atomic.hpp +5 -1
  239. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_helpers.hpp +1 -0
  240. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex.hpp +16 -16
  241. data/src/cxx_supportlib/vendor-modified/boost/thread/v2/shared_mutex.hpp +26 -26
  242. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +196 -6
  243. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +191 -6
  244. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_map.hpp +196 -5
  245. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_set.hpp +192 -5
  246. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +3 -3
  247. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +2 -2
  248. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +3 -3
  249. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +52 -16
  250. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/ranges_support.hpp +104 -0
  251. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +1 -14
  252. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/unordered_printers.hpp +10 -4
  253. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +121 -3
  254. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +118 -3
  255. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +338 -1
  256. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +121 -3
  257. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +118 -3
  258. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +333 -1
  259. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  260. data/src/cxx_supportlib/vendor-modified/jsoncpp/json-forwards.h +276 -143
  261. data/src/cxx_supportlib/vendor-modified/jsoncpp/json.h +1262 -771
  262. data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +1704 -1586
  263. data/src/nginx_module/ContentHandler.c +35 -0
  264. data/src/ruby_supportlib/phusion_passenger/common_library.rb +6 -6
  265. data/src/ruby_supportlib/phusion_passenger/utils/json.rb +25 -2
  266. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +12 -1
  267. data/src/ruby_supportlib/phusion_passenger.rb +1 -1
  268. metadata +73 -8
  269. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_utility.hpp +0 -41
  270. /data/src/cxx_supportlib/{ServerKit/llhttp_http.c → vendor-copy/llhttp/http.c} +0 -0
@@ -0,0 +1,180 @@
1
+ //////////////////////////////////////////////////////////////////////////////
2
+ //
3
+ // (C) Copyright Ion Gaztanaga 2005-2015. Distributed under the Boost
4
+ // Software License, Version 1.0. (See accompanying file
5
+ // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
+ //
7
+ // See http://www.boost.org/libs/container for documentation.
8
+ //
9
+ //////////////////////////////////////////////////////////////////////////////
10
+
11
+ #ifndef BOOST_CONTAINER_DETAIL_IS_CONSTRUCTIBLE_HPP
12
+ #define BOOST_CONTAINER_DETAIL_IS_CONSTRUCTIBLE_HPP
13
+
14
+ #ifndef BOOST_CONFIG_HPP
15
+ # include <boost/config.hpp>
16
+ #endif
17
+
18
+ #if defined(BOOST_HAS_PRAGMA_ONCE)
19
+ # pragma once
20
+ #endif
21
+
22
+ #include <boost/container/detail/config_begin.hpp>
23
+ #include <boost/container/detail/workaround.hpp>
24
+
25
+ #include <cstddef> // for size_t
26
+ #include <boost/move/utility_core.hpp> //declval
27
+
28
+ namespace boost_container_is_constructible {
29
+
30
+ typedef char yes_type;
31
+ struct no_type { char padding[8]; };
32
+
33
+ template<bool Cond, typename T = void> struct enable_if {};
34
+ template<typename T> struct enable_if<true, T> { typedef T type; };
35
+ template<typename E, typename T> struct t_enable { typedef T type; };
36
+
37
+ } //namespace boost_container_is_constructible {
38
+
39
+ #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_DECLTYPE)
40
+
41
+ namespace boost {
42
+ namespace container {
43
+
44
+ template <typename T, typename ...Args>
45
+ struct is_constructible
46
+ {
47
+ private:
48
+ typedef char yes_type;
49
+ struct no_type { char padding[8]; };
50
+
51
+ template <typename U>
52
+ static decltype( new U(boost::move_detail::declval<Args>()...), yes_type() ) test(int);
53
+
54
+ template <typename U>
55
+ static no_type test(...);
56
+
57
+ public:
58
+ static const bool value = sizeof(test<T>(0)) == sizeof(yes_type);
59
+ };
60
+
61
+ } //namespace container {
62
+ } //namespace boost {
63
+
64
+ #else //Use macro expansion
65
+
66
+ #include <boost/move/detail/fwd_macros.hpp>
67
+
68
+ #if defined(BOOST_NO_CXX11_DECLTYPE)
69
+
70
+ namespace boost_container_is_constructible {
71
+
72
+ // Example for N == 2
73
+ //
74
+ //template <typename T, typename P0, typename P1>
75
+ //struct is_constructible2
76
+ //{
77
+ // private:
78
+ // template<typename U>
79
+ // static char test( typename enable_if< (sizeof( new U(boost::move_detail::declval<P0>(), boost::move_detail::declval<P1>()))!= 0), int>::type );
80
+ //
81
+ // template <typename U>
82
+ // static no_type test(...);
83
+ //
84
+ // public:
85
+ // static const bool value = sizeof(test<T>(0)) == sizeof(yes_type);
86
+ //};
87
+ #define BOOST_INTRUSIVE_IS_CONSTRUCTIBLE_IMPL(N) \
88
+ template <typename T BOOST_MOVE_I##N BOOST_MOVE_CLASS##N>\
89
+ struct BOOST_MOVE_CAT(is_constructible_impl, N)\
90
+ {\
91
+ private:\
92
+ template <typename U>\
93
+ static yes_type test( typename enable_if< (sizeof( new U(BOOST_MOVE_DECLVAL##N))!= 0), int>::type );\
94
+ \
95
+ template <typename U>\
96
+ static no_type test(...);\
97
+ \
98
+ public:\
99
+ static const bool value = sizeof(test<T>(0)) == sizeof(yes_type);\
100
+ };\
101
+ //
102
+ BOOST_MOVE_ITERATE_0TO9(BOOST_INTRUSIVE_IS_CONSTRUCTIBLE_IMPL)
103
+ #undef BOOST_INTRUSIVE_IS_CONSTRUCTIBLE_IMPL
104
+
105
+ }// namespace boost_container_is_constructible {
106
+
107
+ #else
108
+
109
+ namespace boost_container_is_constructible {
110
+
111
+ // Example for N == 2
112
+ //
113
+ //template <typename T, typename P0, typename P1>
114
+ //struct is_constructible2
115
+ //{
116
+ // private:
117
+ // template<typename U, typename E = decltype( new U(boost::move_detail::declval<P0>(), boost::move_detail::declval<P1>()) ) >
118
+ // static char test( int );
119
+ //
120
+ // template <typename U>
121
+ // static no_type test(...);
122
+ //
123
+ // public:
124
+ // static const bool value = sizeof(test<T>(0)) == sizeof(yes_type);
125
+ //};
126
+
127
+ #define BOOST_INTRUSIVE_IS_CONSTRUCTIBLE_IMPL(N) \
128
+ template <typename T BOOST_MOVE_I##N BOOST_MOVE_CLASS##N>\
129
+ struct BOOST_MOVE_CAT(is_constructible_impl, N)\
130
+ {\
131
+ private:\
132
+ template <typename U>\
133
+ static decltype( new U(BOOST_MOVE_DECLVAL##N), yes_type() ) test(int);\
134
+ \
135
+ template <typename U>\
136
+ static no_type test(...);\
137
+ \
138
+ public:\
139
+ static const bool value = sizeof(test<T>(0)) == sizeof(yes_type);\
140
+ };\
141
+ //
142
+ BOOST_MOVE_ITERATE_0TO9(BOOST_INTRUSIVE_IS_CONSTRUCTIBLE_IMPL)
143
+ #undef BOOST_INTRUSIVE_IS_CONSTRUCTIBLE_IMPL
144
+
145
+ }// namespace boost_container_is_constructible {
146
+
147
+ #endif
148
+
149
+ namespace boost {
150
+ namespace container {
151
+
152
+ template<class T, BOOST_MOVE_CLASSDFLT9, class = void>
153
+ struct is_constructible;
154
+
155
+ // Example for N == 2
156
+ //
157
+ //template <typename T, typename P0, typename P1>
158
+ //struct is_constructible
159
+ // <T, P0, P1>
160
+ // : boost_container_is_constructible::is_constructible_impl2<T, P0, P1>
161
+ //{};
162
+
163
+ #define BOOST_INTRUSIVE_IS_CONSTRUCTIBLE(N) \
164
+ template <typename T BOOST_MOVE_I##N BOOST_MOVE_CLASS##N>\
165
+ struct is_constructible\
166
+ <T BOOST_MOVE_I##N BOOST_MOVE_TARG##N>\
167
+ : boost_container_is_constructible::is_constructible_impl##N<T BOOST_MOVE_I##N BOOST_MOVE_TARG##N>\
168
+ {};\
169
+ //
170
+ BOOST_MOVE_ITERATE_0TO9(BOOST_INTRUSIVE_IS_CONSTRUCTIBLE)
171
+ #undef BOOST_INTRUSIVE_IS_CONSTRUCTIBLE
172
+
173
+ } //namespace container {
174
+ } //namespace boost {
175
+
176
+ #endif
177
+
178
+ #include <boost/container/detail/config_end.hpp>
179
+
180
+ #endif //BOOST_CONTAINER_DETAIL_IS_CONSTRUCTIBLE_HPP
@@ -248,10 +248,11 @@ class value_init_construct_iterator
248
248
 
249
249
  //This pseudo-iterator's dereference operations have no sense since value is not
250
250
  //constructed until ::boost::container::construct_in_place is called.
251
- //So comment them to catch bad uses
252
- //const T& operator*() const;
251
+ //
253
252
  //const T& operator[](difference_type) const;
254
253
  //const T* operator->() const;
254
+ inline const value_init_t& operator*() const
255
+ { return value_init; }
255
256
 
256
257
  private:
257
258
  std::size_t m_num;
@@ -167,6 +167,18 @@ struct lcm_ct
167
167
  BOOST_STATIC_CONSTEXPR std::size_t value = I1 * I2 / gcd_ct<I1, I2>::value;
168
168
  };
169
169
 
170
+ template <std::size_t N, std::size_t Count = 0>
171
+ struct log2_pow2
172
+ {
173
+ BOOST_STATIC_CONSTEXPR std::size_t value = log2_pow2<(N >> 1), Count + 1>::value;
174
+ };
175
+
176
+ // Base case: we've reached 1
177
+ template <std::size_t Count>
178
+ struct log2_pow2<1, Count> {
179
+ BOOST_STATIC_CONSTEXPR std::size_t value = Count;
180
+ };
181
+
170
182
  } // namespace dtl
171
183
  } // namespace container
172
184
  } // namespace boost
@@ -63,6 +63,22 @@ using boost::move_detail::enable_if_or;
63
63
  using boost::move_detail::disable_if_or;
64
64
  using boost::move_detail::remove_const;
65
65
 
66
+ //Equivalent to C++20 std::type_identity. Its only purpose is to put its
67
+ //template argument in a non-deduced context. It is used for the allocator
68
+ //argument of allocator-extended copy/move constructors so that class template
69
+ //argument deduction is driven by the source container and not by the allocator
70
+ //argument.
71
+ template<typename T>
72
+ struct type_identity
73
+ {
74
+ typedef T type;
75
+ };
76
+
77
+ #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
78
+ template<typename T>
79
+ using type_identity_t = typename type_identity<T>::type;
80
+ #endif
81
+
66
82
  template <class FirstType>
67
83
  struct select1st
68
84
  {
@@ -114,7 +114,7 @@
114
114
 
115
115
  /* How to yield for a spin lock */
116
116
  #define SPINS_PER_YIELD 63
117
- #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
117
+ #if !defined(__CYGWIN__) && (defined(_WIN32) || defined(__WIN32__) || defined(WIN32))
118
118
  #if !defined( BOOST_USE_WINDOWS_H )
119
119
  #if defined (WIN32_PLATFORM_PSPC)
120
120
  #define BOOST_CONTAINERWINAPI_IMPORT BOOST_SYMBOL_IMPORT
@@ -84,10 +84,18 @@ inline void clamp_by_stored_size_type(SizeType &, SizeType)
84
84
  template<class SizeType, class SomeStoredSizeType>
85
85
  inline void clamp_by_stored_size_type(SizeType &s, SomeStoredSizeType)
86
86
  {
87
- if (s >= SomeStoredSizeType(-1) )
87
+ if (s > SomeStoredSizeType(-1) )
88
88
  s = SomeStoredSizeType(-1);
89
89
  }
90
90
 
91
+ template<class SizeType, class SomeStoredSizeType>
92
+ inline void clamp_by_half_stored_size_type(SizeType &s, SomeStoredSizeType)
93
+ {
94
+ const SizeType half_max = SizeType(SomeStoredSizeType(-1)) >> 1u;
95
+ if (s > half_max )
96
+ s = half_max;
97
+ }
98
+
91
99
  } //namespace container {
92
100
  } //namespace boost {
93
101
 
@@ -38,7 +38,10 @@ namespace dtl {
38
38
  //!a reference count but the class does not delete itself, this is
39
39
  //!responsibility of user classes. Node size (NodeSize) and the number of
40
40
  //!nodes allocated per block (NodesPerBlock) are known at compile time
41
- template< std::size_t NodeSize, std::size_t NodesPerBlock >
41
+ template< std::size_t NodeSize
42
+ , std::size_t NodesPerBlock
43
+ , std::size_t NodeAlign
44
+ >
42
45
  class private_node_pool
43
46
  //Inherit from the implementation to avoid template bloat
44
47
  : public boost::container::dtl::
@@ -56,27 +59,28 @@ class private_node_pool
56
59
 
57
60
  //!Constructor from a segment manager. Never throws
58
61
  private_node_pool()
59
- : base_t(0, NodeSize, NodesPerBlock)
62
+ : base_t(0, NodeSize, NodesPerBlock, NodeAlign)
60
63
  {}
61
64
 
62
65
  };
63
66
 
64
67
  template< std::size_t NodeSize
65
68
  , std::size_t NodesPerBlock
69
+ , std::size_t NodeAlign
66
70
  >
67
71
  class shared_node_pool
68
- : public private_node_pool<NodeSize, NodesPerBlock>
72
+ : public private_node_pool<NodeSize, NodesPerBlock, NodeAlign>
69
73
  {
70
74
  private:
71
- typedef private_node_pool<NodeSize, NodesPerBlock> private_node_allocator_t;
75
+ typedef private_node_pool<NodeSize, NodesPerBlock, NodeAlign> private_node_pool_t;
72
76
 
73
77
  public:
74
- typedef typename private_node_allocator_t::free_nodes_t free_nodes_t;
75
- typedef typename private_node_allocator_t::multiallocation_chain multiallocation_chain;
78
+ typedef typename private_node_pool_t::free_nodes_t free_nodes_t;
79
+ typedef typename private_node_pool_t::multiallocation_chain multiallocation_chain;
76
80
 
77
81
  //!Constructor from a segment manager. Never throws
78
82
  shared_node_pool()
79
- : private_node_allocator_t(){}
83
+ : private_node_pool_t(){}
80
84
 
81
85
  //!Destructor. Deallocates all allocated blocks. Never throws
82
86
  ~shared_node_pool()
@@ -88,7 +92,7 @@ class shared_node_pool
88
92
  //-----------------------
89
93
  scoped_lock<default_mutex> guard(mutex_);
90
94
  //-----------------------
91
- return private_node_allocator_t::allocate_node();
95
+ return private_node_pool_t::allocate_node();
92
96
  }
93
97
 
94
98
  //!Deallocates an array pointed by ptr. Never throws
@@ -97,7 +101,7 @@ class shared_node_pool
97
101
  //-----------------------
98
102
  scoped_lock<default_mutex> guard(mutex_);
99
103
  //-----------------------
100
- private_node_allocator_t::deallocate_node(ptr);
104
+ private_node_pool_t::deallocate_node(ptr);
101
105
  }
102
106
 
103
107
  //!Allocates a singly linked list of n nodes ending in null pointer.
@@ -107,7 +111,7 @@ class shared_node_pool
107
111
  //-----------------------
108
112
  scoped_lock<default_mutex> guard(mutex_);
109
113
  //-----------------------
110
- return private_node_allocator_t::allocate_nodes(n, chain);
114
+ return private_node_pool_t::allocate_nodes(n, chain);
111
115
  }
112
116
 
113
117
  void deallocate_nodes(multiallocation_chain &chain)
@@ -115,7 +119,7 @@ class shared_node_pool
115
119
  //-----------------------
116
120
  scoped_lock<default_mutex> guard(mutex_);
117
121
  //-----------------------
118
- private_node_allocator_t::deallocate_nodes(chain);
122
+ private_node_pool_t::deallocate_nodes(chain);
119
123
  }
120
124
 
121
125
  //!Deallocates all the free blocks of memory. Never throws
@@ -124,7 +128,7 @@ class shared_node_pool
124
128
  //-----------------------
125
129
  scoped_lock<default_mutex> guard(mutex_);
126
130
  //-----------------------
127
- private_node_allocator_t::deallocate_free_blocks();
131
+ private_node_pool_t::deallocate_free_blocks();
128
132
  }
129
133
 
130
134
  //!Deallocates all blocks. Never throws
@@ -133,7 +137,7 @@ class shared_node_pool
133
137
  //-----------------------
134
138
  scoped_lock<default_mutex> guard(mutex_);
135
139
  //-----------------------
136
- private_node_allocator_t::purge_blocks();
140
+ private_node_pool_t::purge_blocks();
137
141
  }
138
142
 
139
143
  std::size_t num_free_nodes()
@@ -141,7 +145,7 @@ class shared_node_pool
141
145
  //-----------------------
142
146
  scoped_lock<default_mutex> guard(mutex_);
143
147
  //-----------------------
144
- return private_node_allocator_t::num_free_nodes();
148
+ return private_node_pool_t::num_free_nodes();
145
149
  }
146
150
 
147
151
  private: