passenger 6.0.11 → 6.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (280) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +24 -1
  3. data/CONTRIBUTORS +3 -0
  4. data/src/agent/Core/Config.h +1 -1
  5. data/src/agent/Core/Controller/CheckoutSession.cpp +24 -13
  6. data/src/agent/Core/Controller/Config.h +1 -1
  7. data/src/agent/Core/Controller/InternalUtils.cpp +32 -6
  8. data/src/agent/Core/Controller.h +4 -1
  9. data/src/agent/Watchdog/Config.h +1 -1
  10. data/src/cxx_supportlib/Constants.h +1 -1
  11. data/src/cxx_supportlib/IOTools/IOUtils.cpp +4 -4
  12. data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +47 -0
  13. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +41 -0
  14. data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +28 -0
  15. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +53 -1
  16. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +179 -0
  17. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +57 -1
  18. data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +37 -0
  19. data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +789 -106
  20. data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
  21. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +80 -0
  22. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +10 -0
  23. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +80 -0
  24. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +30 -0
  25. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +20 -0
  26. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +90 -0
  27. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +60 -0
  28. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +10 -0
  29. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +723 -0
  30. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +191 -12
  31. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +361 -0
  32. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +237 -0
  33. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +176 -0
  34. data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +30 -2
  35. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +60 -0
  36. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +165 -0
  37. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +209 -76
  38. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +149 -60
  39. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +40 -0
  40. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +8 -4
  41. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +14 -4
  42. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +6 -0
  43. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +14 -10
  44. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +21 -18
  45. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +30 -19
  46. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +8 -0
  47. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +14 -0
  48. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +20 -0
  49. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +30 -0
  50. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +20 -0
  51. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +29 -0
  52. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +24 -0
  53. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +19 -0
  54. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +3 -1
  55. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +6 -0
  56. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +15 -5
  57. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +60 -0
  58. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +8 -0
  59. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +27 -0
  60. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +93 -0
  61. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +77 -0
  62. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +111 -0
  63. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +4 -0
  64. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +44 -0
  65. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +2 -1
  66. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +2 -2
  67. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +14 -4
  68. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +90 -24
  69. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +30 -1
  70. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +4 -0
  71. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +5 -1
  72. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +5 -2
  73. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +12 -12
  74. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +10 -8
  75. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +8 -8
  76. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +7 -7
  77. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +7 -7
  78. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +7 -7
  79. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +7 -7
  80. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +13 -13
  81. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +7 -7
  82. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +8 -8
  83. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +73 -0
  84. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +133 -0
  85. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +538 -0
  86. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +157 -0
  87. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +1057 -0
  88. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +607 -0
  89. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/completion_handler_erasure.hpp +160 -0
  90. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +120 -0
  91. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_traits.hpp +185 -0
  92. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +181 -0
  93. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/append.hpp +219 -0
  94. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +14 -28
  95. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_tuple.hpp +248 -0
  96. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/deferred.hpp +106 -0
  97. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +434 -0
  98. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/prepend.hpp +219 -0
  99. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +100 -0
  100. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +217 -0
  101. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +73 -0
  102. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +608 -0
  103. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +284 -0
  104. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +344 -20
  105. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +23 -54
  106. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +23 -54
  107. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +66 -18
  108. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/compose.hpp +55 -5
  109. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +68 -80
  110. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +8 -4
  111. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +8 -4
  112. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +3 -2
  113. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +8 -4
  114. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +98 -113
  115. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +71 -82
  116. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +210 -266
  117. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +248 -30
  118. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +11 -21
  119. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +15 -3
  120. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +71 -87
  121. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +46 -68
  122. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +4 -4
  123. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +2 -7
  124. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +10 -0
  125. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +23 -3
  126. data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +21 -21
  127. data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +9 -9
  128. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +88 -0
  129. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +44 -0
  130. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +132 -0
  131. data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +21 -21
  132. data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +9 -9
  133. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +1 -1
  134. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +5 -0
  135. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +1 -1
  136. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +14 -0
  137. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +36 -27
  138. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +1 -1
  139. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +2 -2
  140. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +37 -0
  141. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +1 -1
  142. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +14 -7
  143. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +73 -1
  144. data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +4 -4
  145. data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +235 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +4 -4
  147. data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +7 -10
  148. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
  149. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +20 -0
  150. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +20 -0
  151. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +88 -0
  152. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +44 -0
  153. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -0
  154. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -1
  155. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +17 -13
  156. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +14 -1
  157. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +2 -5
  158. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +2 -5
  159. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +2 -2
  160. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +2 -2
  161. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +56 -0
  162. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +1 -5
  163. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +31 -11
  164. data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +20 -4
  165. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_platform_config.hpp +5 -0
  166. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +81 -0
  167. data/src/cxx_supportlib/vendor-modified/boost/config/platform/bsd.hpp +5 -8
  168. data/src/cxx_supportlib/vendor-modified/boost/config/platform/wasm.hpp +17 -0
  169. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +26 -0
  170. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +49 -0
  171. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +46 -4
  172. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +2 -2
  173. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
  174. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +2 -2
  175. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +2 -2
  176. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
  177. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +2 -2
  178. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +1 -1
  179. data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +1 -1
  180. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +6 -6
  181. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +4 -4
  182. data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +45 -38
  183. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +24 -0
  184. data/src/cxx_supportlib/vendor-modified/boost/core/ignore_unused.hpp +32 -2
  185. data/src/cxx_supportlib/vendor-modified/boost/core/uncaught_exceptions.hpp +7 -7
  186. data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +0 -24
  187. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_parsers.hpp +4 -0
  188. data/src/cxx_supportlib/vendor-modified/boost/intrusive/any_hook.hpp +4 -4
  189. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +83 -83
  190. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +43 -43
  191. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +31 -31
  192. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +85 -85
  193. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +68 -68
  194. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +72 -62
  195. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +19 -20
  196. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +19 -19
  197. data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +4 -4
  198. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +2 -2
  199. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +3 -3
  200. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +5 -5
  201. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +1 -0
  202. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +8 -8
  203. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +2 -4
  204. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +1 -1
  205. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +2 -50
  206. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +1 -1
  207. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +71 -70
  208. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +15 -14
  209. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +84 -82
  210. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list_hook.hpp +10 -10
  211. data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +4 -4
  212. data/src/cxx_supportlib/vendor-modified/boost/intrusive/parent_from_member.hpp +2 -2
  213. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +4 -4
  214. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
  215. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +43 -43
  216. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +26 -26
  217. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +85 -85
  218. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set_hook.hpp +12 -12
  219. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +93 -93
  220. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +51 -51
  221. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +24 -24
  222. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +104 -104
  223. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist_hook.hpp +8 -6
  224. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +91 -91
  225. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +46 -46
  226. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +31 -31
  227. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +51 -51
  228. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +18 -18
  229. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +97 -97
  230. data/src/cxx_supportlib/vendor-modified/boost/intrusive/trivial_value_traits.hpp +6 -4
  231. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +63 -63
  232. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +15 -15
  233. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +4 -1
  234. data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +1 -0
  235. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_traits.hpp +1 -0
  236. data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +1 -1
  237. data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +2 -0
  238. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +1 -1
  239. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +3 -0
  240. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +112 -31
  241. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +3 -0
  242. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -8
  243. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +0 -2
  244. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +6 -2
  245. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +1 -1
  246. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +22 -2
  247. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +59 -1
  248. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +9 -11
  249. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +27 -21
  250. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +34 -3
  251. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +378 -36
  252. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +97 -21
  253. data/src/cxx_supportlib/vendor-modified/boost/system/detail/interop_category.hpp +107 -0
  254. data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_same.hpp +33 -0
  255. data/src/cxx_supportlib/vendor-modified/boost/system/detail/snprintf.hpp +70 -0
  256. data/src/cxx_supportlib/vendor-modified/boost/system/detail/{to_std_category.hpp → std_category.hpp} +5 -55
  257. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +2 -12
  258. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +0 -33
  259. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_variadic.hpp +190 -0
  260. data/src/cxx_supportlib/vendor-modified/boost/utility/result_of.hpp +20 -9
  261. data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +3 -1
  262. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  263. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +8 -0
  264. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +6 -0
  265. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +12 -0
  266. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +5 -0
  267. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +21 -0
  268. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +13 -0
  269. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +3 -0
  270. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +4 -0
  271. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +3 -2
  272. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +8 -1
  273. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +6 -0
  274. data/src/ruby_supportlib/phusion_passenger/packaging.rb +1 -0
  275. data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +1 -1
  276. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +8 -0
  277. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +4 -1
  278. data/src/ruby_supportlib/phusion_passenger.rb +1 -1
  279. metadata +39 -4
  280. data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_generic_value.hpp +0 -125
@@ -62,7 +62,6 @@ Accepts UTF-32 code points and forwards them on as UTF-16 code points.
62
62
  #define BOOST_REGEX_V4_UNICODE_ITERATOR_HPP
63
63
  #include <boost/cstdint.hpp>
64
64
  #include <boost/regex/config.hpp>
65
- #include <boost/iterator/iterator_facade.hpp>
66
65
  #include <boost/static_assert.hpp>
67
66
  #include <boost/throw_exception.hpp>
68
67
  #include <stdexcept>
@@ -145,10 +144,7 @@ inline void invalid_utf32_code_point(::boost::uint32_t val)
145
144
 
146
145
  template <class BaseIterator, class U16Type = ::boost::uint16_t>
147
146
  class u32_to_u16_iterator
148
- : public boost::iterator_facade<u32_to_u16_iterator<BaseIterator, U16Type>, U16Type, std::bidirectional_iterator_tag, const U16Type>
149
147
  {
150
- typedef boost::iterator_facade<u32_to_u16_iterator<BaseIterator, U16Type>, U16Type, std::bidirectional_iterator_tag, const U16Type> base_type;
151
-
152
148
  #if !defined(BOOST_NO_STD_ITERATOR_TRAITS)
153
149
  typedef typename std::iterator_traits<BaseIterator>::value_type base_value_type;
154
150
 
@@ -157,14 +153,19 @@ class u32_to_u16_iterator
157
153
  #endif
158
154
 
159
155
  public:
160
- typename base_type::reference
161
- dereference()const
156
+ typedef std::ptrdiff_t difference_type;
157
+ typedef U16Type value_type;
158
+ typedef value_type const* pointer;
159
+ typedef value_type const reference;
160
+ typedef std::bidirectional_iterator_tag iterator_category;
161
+
162
+ reference operator*()const
162
163
  {
163
164
  if(m_current == 2)
164
165
  extract_current();
165
166
  return m_values[m_current];
166
167
  }
167
- bool equal(const u32_to_u16_iterator& that)const
168
+ bool operator==(const u32_to_u16_iterator& that)const
168
169
  {
169
170
  if(m_position == that.m_position)
170
171
  {
@@ -174,7 +175,11 @@ public:
174
175
  }
175
176
  return false;
176
177
  }
177
- void increment()
178
+ bool operator!=(const u32_to_u16_iterator& that)const
179
+ {
180
+ return !(*this == that);
181
+ }
182
+ u32_to_u16_iterator& operator++()
178
183
  {
179
184
  // if we have a pending read then read now, so that we know whether
180
185
  // to skip a position, or move to a low-surrogate:
@@ -191,8 +196,15 @@ public:
191
196
  m_current = 2;
192
197
  ++m_position;
193
198
  }
199
+ return *this;
194
200
  }
195
- void decrement()
201
+ u32_to_u16_iterator operator++(int)
202
+ {
203
+ u32_to_u16_iterator r(*this);
204
+ ++(*this);
205
+ return r;
206
+ }
207
+ u32_to_u16_iterator& operator--()
196
208
  {
197
209
  if(m_current != 1)
198
210
  {
@@ -205,6 +217,13 @@ public:
205
217
  {
206
218
  m_current = 0;
207
219
  }
220
+ return *this;
221
+ }
222
+ u32_to_u16_iterator operator--(int)
223
+ {
224
+ u32_to_u16_iterator r(*this);
225
+ --(*this);
226
+ return r;
208
227
  }
209
228
  BaseIterator base()const
210
229
  {
@@ -258,9 +277,7 @@ private:
258
277
 
259
278
  template <class BaseIterator, class U32Type = ::boost::uint32_t>
260
279
  class u16_to_u32_iterator
261
- : public boost::iterator_facade<u16_to_u32_iterator<BaseIterator, U32Type>, U32Type, std::bidirectional_iterator_tag, const U32Type>
262
280
  {
263
- typedef boost::iterator_facade<u16_to_u32_iterator<BaseIterator, U32Type>, U32Type, std::bidirectional_iterator_tag, const U32Type> base_type;
264
281
  // special values for pending iterator reads:
265
282
  BOOST_STATIC_CONSTANT(U32Type, pending_read = 0xffffffffu);
266
283
 
@@ -272,31 +289,54 @@ class u16_to_u32_iterator
272
289
  #endif
273
290
 
274
291
  public:
275
- typename base_type::reference
276
- dereference()const
292
+ typedef std::ptrdiff_t difference_type;
293
+ typedef U32Type value_type;
294
+ typedef value_type const* pointer;
295
+ typedef value_type const reference;
296
+ typedef std::bidirectional_iterator_tag iterator_category;
297
+
298
+ reference operator*()const
277
299
  {
278
300
  if(m_value == pending_read)
279
301
  extract_current();
280
302
  return m_value;
281
303
  }
282
- bool equal(const u16_to_u32_iterator& that)const
304
+ bool operator==(const u16_to_u32_iterator& that)const
283
305
  {
284
306
  return m_position == that.m_position;
285
307
  }
286
- void increment()
308
+ bool operator!=(const u16_to_u32_iterator& that)const
309
+ {
310
+ return !(*this == that);
311
+ }
312
+ u16_to_u32_iterator& operator++()
287
313
  {
288
314
  // skip high surrogate first if there is one:
289
315
  if(detail::is_high_surrogate(*m_position)) ++m_position;
290
316
  ++m_position;
291
317
  m_value = pending_read;
318
+ return *this;
292
319
  }
293
- void decrement()
320
+ u16_to_u32_iterator operator++(int)
321
+ {
322
+ u16_to_u32_iterator r(*this);
323
+ ++(*this);
324
+ return r;
325
+ }
326
+ u16_to_u32_iterator& operator--()
294
327
  {
295
328
  --m_position;
296
329
  // if we have a low surrogate then go back one more:
297
330
  if(detail::is_low_surrogate(*m_position))
298
331
  --m_position;
299
332
  m_value = pending_read;
333
+ return *this;
334
+ }
335
+ u16_to_u32_iterator operator--(int)
336
+ {
337
+ u16_to_u32_iterator r(*this);
338
+ --(*this);
339
+ return r;
300
340
  }
301
341
  BaseIterator base()const
302
342
  {
@@ -375,10 +415,7 @@ private:
375
415
 
376
416
  template <class BaseIterator, class U8Type = ::boost::uint8_t>
377
417
  class u32_to_u8_iterator
378
- : public boost::iterator_facade<u32_to_u8_iterator<BaseIterator, U8Type>, U8Type, std::bidirectional_iterator_tag, const U8Type>
379
418
  {
380
- typedef boost::iterator_facade<u32_to_u8_iterator<BaseIterator, U8Type>, U8Type, std::bidirectional_iterator_tag, const U8Type> base_type;
381
-
382
419
  #if !defined(BOOST_NO_STD_ITERATOR_TRAITS)
383
420
  typedef typename std::iterator_traits<BaseIterator>::value_type base_value_type;
384
421
 
@@ -387,14 +424,19 @@ class u32_to_u8_iterator
387
424
  #endif
388
425
 
389
426
  public:
390
- typename base_type::reference
391
- dereference()const
427
+ typedef std::ptrdiff_t difference_type;
428
+ typedef U8Type value_type;
429
+ typedef value_type const* pointer;
430
+ typedef value_type const reference;
431
+ typedef std::bidirectional_iterator_tag iterator_category;
432
+
433
+ reference operator*()const
392
434
  {
393
435
  if(m_current == 4)
394
436
  extract_current();
395
437
  return m_values[m_current];
396
438
  }
397
- bool equal(const u32_to_u8_iterator& that)const
439
+ bool operator==(const u32_to_u8_iterator& that)const
398
440
  {
399
441
  if(m_position == that.m_position)
400
442
  {
@@ -405,7 +447,11 @@ public:
405
447
  }
406
448
  return false;
407
449
  }
408
- void increment()
450
+ bool operator!=(const u32_to_u8_iterator& that)const
451
+ {
452
+ return !(*this == that);
453
+ }
454
+ u32_to_u8_iterator& operator++()
409
455
  {
410
456
  // if we have a pending read then read now, so that we know whether
411
457
  // to skip a position, or move to a low-surrogate:
@@ -422,8 +468,15 @@ public:
422
468
  m_current = 4;
423
469
  ++m_position;
424
470
  }
471
+ return *this;
425
472
  }
426
- void decrement()
473
+ u32_to_u8_iterator operator++(int)
474
+ {
475
+ u32_to_u8_iterator r(*this);
476
+ ++(*this);
477
+ return r;
478
+ }
479
+ u32_to_u8_iterator& operator--()
427
480
  {
428
481
  if((m_current & 3) == 0)
429
482
  {
@@ -435,6 +488,13 @@ public:
435
488
  }
436
489
  else
437
490
  --m_current;
491
+ return *this;
492
+ }
493
+ u32_to_u8_iterator operator--(int)
494
+ {
495
+ u32_to_u8_iterator r(*this);
496
+ --(*this);
497
+ return r;
438
498
  }
439
499
  BaseIterator base()const
440
500
  {
@@ -501,9 +561,7 @@ private:
501
561
 
502
562
  template <class BaseIterator, class U32Type = ::boost::uint32_t>
503
563
  class u8_to_u32_iterator
504
- : public boost::iterator_facade<u8_to_u32_iterator<BaseIterator, U32Type>, U32Type, std::bidirectional_iterator_tag, const U32Type>
505
564
  {
506
- typedef boost::iterator_facade<u8_to_u32_iterator<BaseIterator, U32Type>, U32Type, std::bidirectional_iterator_tag, const U32Type> base_type;
507
565
  // special values for pending iterator reads:
508
566
  BOOST_STATIC_CONSTANT(U32Type, pending_read = 0xffffffffu);
509
567
 
@@ -515,18 +573,27 @@ class u8_to_u32_iterator
515
573
  #endif
516
574
 
517
575
  public:
518
- typename base_type::reference
519
- dereference()const
576
+ typedef std::ptrdiff_t difference_type;
577
+ typedef U32Type value_type;
578
+ typedef value_type const* pointer;
579
+ typedef value_type const reference;
580
+ typedef std::bidirectional_iterator_tag iterator_category;
581
+
582
+ reference operator*()const
520
583
  {
521
584
  if(m_value == pending_read)
522
585
  extract_current();
523
586
  return m_value;
524
587
  }
525
- bool equal(const u8_to_u32_iterator& that)const
588
+ bool operator==(const u8_to_u32_iterator& that)const
526
589
  {
527
590
  return m_position == that.m_position;
528
591
  }
529
- void increment()
592
+ bool operator!=(const u8_to_u32_iterator& that)const
593
+ {
594
+ return !(*this == that);
595
+ }
596
+ u8_to_u32_iterator& operator++()
530
597
  {
531
598
  // We must not start with a continuation character:
532
599
  if((static_cast<boost::uint8_t>(*m_position) & 0xC0) == 0x80)
@@ -549,8 +616,15 @@ public:
549
616
  std::advance(m_position, c);
550
617
  }
551
618
  m_value = pending_read;
619
+ return *this;
552
620
  }
553
- void decrement()
621
+ u8_to_u32_iterator operator++(int)
622
+ {
623
+ u8_to_u32_iterator r(*this);
624
+ ++(*this);
625
+ return r;
626
+ }
627
+ u8_to_u32_iterator& operator--()
554
628
  {
555
629
  // Keep backtracking until we don't have a trailing character:
556
630
  unsigned count = 0;
@@ -559,6 +633,13 @@ public:
559
633
  if(count != detail::utf8_trailing_byte_count(*m_position))
560
634
  invalid_sequence();
561
635
  m_value = pending_read;
636
+ return *this;
637
+ }
638
+ u8_to_u32_iterator operator--(int)
639
+ {
640
+ u8_to_u32_iterator r(*this);
641
+ --(*this);
642
+ return r;
562
643
  }
563
644
  BaseIterator base()const
564
645
  {
@@ -1098,6 +1098,9 @@ bool basic_regex_parser<charT, traits>::parse_repeat(std::size_t low, std::size_
1098
1098
  }
1099
1099
  else
1100
1100
  contin = false;
1101
+ break;
1102
+ default:
1103
+ contin = false;
1101
1104
  }
1102
1105
  }
1103
1106
  else
@@ -85,10 +85,10 @@ struct mem_block_node
85
85
  struct mem_block_cache
86
86
  {
87
87
  // this member has to be statically initialsed:
88
- mem_block_node* next;
89
- unsigned cached_blocks;
88
+ mem_block_node* next { nullptr };
89
+ unsigned cached_blocks { 0 };
90
90
  #ifdef BOOST_HAS_THREADS
91
- boost::static_mutex mut;
91
+ std::mutex mut;
92
92
  #endif
93
93
 
94
94
  ~mem_block_cache()
@@ -133,11 +133,7 @@ struct mem_block_cache
133
133
  }
134
134
  static mem_block_cache& instance()
135
135
  {
136
- #ifdef BOOST_HAS_THREADS
137
- static mem_block_cache block_cache = { 0, 0, BOOST_STATIC_MUTEX_INIT, };
138
- #else
139
- static mem_block_cache block_cache = { 0, 0, };
140
- #endif
136
+ static mem_block_cache block_cache;
141
137
  return block_cache;
142
138
  }
143
139
  };
@@ -67,8 +67,6 @@ Accepts UTF-32 code points and forwards them on as UTF-16 code points.
67
67
  #include <ios>
68
68
  #include <limits.h> // CHAR_BIT
69
69
 
70
- #include <iostream>
71
-
72
70
  #ifndef BOOST_REGEX_STANDALONE
73
71
  #include <boost/throw_exception.hpp>
74
72
  #endif
@@ -29,8 +29,12 @@
29
29
  #include <boost/regex/v5/primary_transform.hpp>
30
30
  #include <boost/regex/v5/object_cache.hpp>
31
31
 
32
- #define VC_EXTRALEAN
33
- #define WIN32_LEAN_AND_MEAN
32
+ #ifndef VC_EXTRALEAN
33
+ # define VC_EXTRALEAN
34
+ #endif
35
+ #ifndef WIN32_LEAN_AND_MEAN
36
+ # define WIN32_LEAN_AND_MEAN
37
+ #endif
34
38
  #include <windows.h>
35
39
 
36
40
  #if defined(_MSC_VER) && !defined(_WIN32_WCE) && !defined(UNDER_CE)
@@ -387,7 +387,7 @@ public:
387
387
  {
388
388
  typedef typename sp_convert_reference<D>::type D2;
389
389
 
390
- D2 d2( r.get_deleter() );
390
+ D2 d2( static_cast<D&&>( r.get_deleter() ) );
391
391
  pi_ = new sp_counted_impl_pd< typename std::unique_ptr<Y, D>::pointer, D2 >( r.get(), d2 );
392
392
 
393
393
  #ifdef BOOST_NO_EXCEPTIONS
@@ -145,7 +145,7 @@ template<class P, class D> class BOOST_SYMBOL_VISIBLE sp_counted_impl_pd: public
145
145
  private:
146
146
 
147
147
  P ptr; // copy constructor must not throw
148
- D del; // copy constructor must not throw
148
+ D del; // copy/move constructor must not throw
149
149
 
150
150
  sp_counted_impl_pd( sp_counted_impl_pd const & );
151
151
  sp_counted_impl_pd & operator= ( sp_counted_impl_pd const & );
@@ -156,10 +156,20 @@ public:
156
156
 
157
157
  // pre: d(p) must not throw
158
158
 
159
+ #if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
160
+
161
+ sp_counted_impl_pd( P p, D & d ): ptr( p ), del( static_cast< D&& >( d ) )
162
+ {
163
+ }
164
+
165
+ #else
166
+
159
167
  sp_counted_impl_pd( P p, D & d ): ptr( p ), del( d )
160
168
  {
161
169
  }
162
170
 
171
+ #endif
172
+
163
173
  sp_counted_impl_pd( P p ): ptr( p ), del()
164
174
  {
165
175
  }
@@ -218,7 +228,7 @@ template<class P, class D, class A> class BOOST_SYMBOL_VISIBLE sp_counted_impl_p
218
228
  private:
219
229
 
220
230
  P p_; // copy constructor must not throw
221
- D d_; // copy constructor must not throw
231
+ D d_; // copy/move constructor must not throw
222
232
  A a_; // copy constructor must not throw
223
233
 
224
234
  sp_counted_impl_pda( sp_counted_impl_pda const & );
@@ -230,10 +240,20 @@ public:
230
240
 
231
241
  // pre: d( p ) must not throw
232
242
 
243
+ #if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
244
+
245
+ sp_counted_impl_pda( P p, D & d, A a ): p_( p ), d_( static_cast< D&& >( d ) ), a_( a )
246
+ {
247
+ }
248
+
249
+ #else
250
+
233
251
  sp_counted_impl_pda( P p, D & d, A a ): p_( p ), d_( d ), a_( a )
234
252
  {
235
253
  }
236
254
 
255
+ #endif
256
+
237
257
  sp_counted_impl_pda( P p, A a ): p_( p ), d_( a ), a_( a )
238
258
  {
239
259
  }
@@ -374,39 +374,81 @@ public:
374
374
  }
375
375
 
376
376
  //
377
- // Requirements: D's copy constructor must not throw
377
+ // Requirements: D's copy/move constructors must not throw
378
378
  //
379
379
  // shared_ptr will release p by calling d(p)
380
380
  //
381
381
 
382
+ #if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
383
+
384
+ template<class Y, class D> shared_ptr( Y * p, D d ): px( p ), pn( p, static_cast< D&& >( d ) )
385
+ {
386
+ boost::detail::sp_deleter_construct( this, p );
387
+ }
388
+
389
+ #else
390
+
382
391
  template<class Y, class D> shared_ptr( Y * p, D d ): px( p ), pn( p, d )
383
392
  {
384
393
  boost::detail::sp_deleter_construct( this, p );
385
394
  }
386
395
 
396
+ #endif
397
+
387
398
  #if !defined( BOOST_NO_CXX11_NULLPTR )
388
399
 
400
+ #if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
401
+
402
+ template<class D> shared_ptr( boost::detail::sp_nullptr_t p, D d ): px( p ), pn( p, static_cast< D&& >( d ) )
403
+ {
404
+ }
405
+
406
+ #else
407
+
389
408
  template<class D> shared_ptr( boost::detail::sp_nullptr_t p, D d ): px( p ), pn( p, d )
390
409
  {
391
410
  }
392
411
 
412
+ #endif
413
+
393
414
  #endif
394
415
 
395
416
  // As above, but with allocator. A's copy constructor shall not throw.
396
417
 
418
+ #if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
419
+
420
+ template<class Y, class D, class A> shared_ptr( Y * p, D d, A a ): px( p ), pn( p, static_cast< D&& >( d ), a )
421
+ {
422
+ boost::detail::sp_deleter_construct( this, p );
423
+ }
424
+
425
+ #else
426
+
397
427
  template<class Y, class D, class A> shared_ptr( Y * p, D d, A a ): px( p ), pn( p, d, a )
398
428
  {
399
429
  boost::detail::sp_deleter_construct( this, p );
400
430
  }
401
431
 
432
+ #endif
433
+
402
434
  #if !defined( BOOST_NO_CXX11_NULLPTR )
403
435
 
436
+ #if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
437
+
438
+ template<class D, class A> shared_ptr( boost::detail::sp_nullptr_t p, D d, A a ): px( p ), pn( p, static_cast< D&& >( d ), a )
439
+ {
440
+ }
441
+
442
+ #else
443
+
404
444
  template<class D, class A> shared_ptr( boost::detail::sp_nullptr_t p, D d, A a ): px( p ), pn( p, d, a )
405
445
  {
406
446
  }
407
447
 
408
448
  #endif
409
449
 
450
+ #endif
451
+
410
452
  // generated copy constructor, destructor are fine...
411
453
 
412
454
  #if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
@@ -693,6 +735,20 @@ public:
693
735
  this_type( p ).swap( *this );
694
736
  }
695
737
 
738
+ #if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES )
739
+
740
+ template<class Y, class D> void reset( Y * p, D d )
741
+ {
742
+ this_type( p, static_cast< D&& >( d ) ).swap( *this );
743
+ }
744
+
745
+ template<class Y, class D, class A> void reset( Y * p, D d, A a )
746
+ {
747
+ this_type( p, static_cast< D&& >( d ), a ).swap( *this );
748
+ }
749
+
750
+ #else
751
+
696
752
  template<class Y, class D> void reset( Y * p, D d )
697
753
  {
698
754
  this_type( p, d ).swap( *this );
@@ -703,6 +759,8 @@ public:
703
759
  this_type( p, d, a ).swap( *this );
704
760
  }
705
761
 
762
+ #endif
763
+
706
764
  template<class Y> void reset( shared_ptr<Y> const & r, element_type * p ) BOOST_SP_NOEXCEPT
707
765
  {
708
766
  this_type( r, p ).swap( *this );
@@ -13,20 +13,10 @@
13
13
 
14
14
  // BOOST_SYSTEM_HAS_SYSTEM_ERROR
15
15
 
16
- #if !defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR)
16
+ #if !defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) && !defined(BOOST_NO_CXX11_HDR_ATOMIC)
17
17
  # define BOOST_SYSTEM_HAS_SYSTEM_ERROR
18
18
  #endif
19
19
 
20
- #if BOOST_WORKAROUND(BOOST_GCC, < 40600)
21
- // g++ 4.4's <map> is not good enough
22
- # undef BOOST_SYSTEM_HAS_SYSTEM_ERROR
23
- #endif
24
-
25
- #if defined(BOOST_NO_CXX11_HDR_MUTEX)
26
- // Required for thread-safe map manipulation
27
- # undef BOOST_SYSTEM_HAS_SYSTEM_ERROR
28
- #endif
29
-
30
20
  // BOOST_SYSTEM_NOEXCEPT
31
21
  // Retained for backward compatibility
32
22
 
@@ -60,8 +50,16 @@
60
50
  # endif
61
51
  #elif defined(_MSC_VER)
62
52
  # define BOOST_SYSTEM_DEPRECATED(msg) __declspec(deprecated(msg))
53
+ #elif defined(__sun)
54
+ # define BOOST_SYSTEM_DEPRECATED(msg) __attribute__((deprecated(msg)))
63
55
  #else
64
56
  # define BOOST_SYSTEM_DEPRECATED(msg)
65
57
  #endif
66
58
 
59
+ // BOOST_SYSTEM_CLANG_6
60
+
61
+ #if defined(__clang__) && (__clang_major__ < 7 || (defined(__APPLE__) && __clang_major__ < 11))
62
+ # define BOOST_SYSTEM_CLANG_6
63
+ #endif
64
+
67
65
  #endif // BOOST_SYSTEM_DETAIL_CONFIG_HPP_INCLUDED