passenger 6.0.11 → 6.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (359) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +83 -1
  3. data/CONTRIBUTORS +3 -0
  4. data/bin/passenger-install-nginx-module +1 -1
  5. data/bin/passenger-status +29 -4
  6. data/build/test_basics.rb +2 -2
  7. data/dev/copy_boost_headers +30 -15
  8. data/doc/templates/markdown.html.erb +2 -6
  9. data/package.json +19 -17
  10. data/resources/mime.types +1 -0
  11. data/resources/templates/error_renderer/with_details/dist/bundle.js +2 -33
  12. data/resources/templates/error_renderer/with_details/dist/styles.css +2 -2
  13. data/resources/templates/error_renderer/with_details/src/index.html.template +0 -2
  14. data/resources/templates/error_renderer/with_details/webpack.config.js +13 -16
  15. data/resources/templates/error_renderer/without_details/dist/bundle.js +0 -1
  16. data/resources/templates/error_renderer/without_details/dist/styles.css +1 -1
  17. data/resources/templates/error_renderer/without_details/webpack.config.js +13 -16
  18. data/resources/templates/standalone/server.erb +1 -0
  19. data/src/agent/Core/ApiServer.h +35 -0
  20. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +1 -0
  21. data/src/agent/Core/ApplicationPool/Options.h +5 -0
  22. data/src/agent/Core/ApplicationPool/Pool.h +9 -1
  23. data/src/agent/Core/Config.h +2 -1
  24. data/src/agent/Core/Controller/CheckoutSession.cpp +24 -13
  25. data/src/agent/Core/Controller/Config.h +6 -2
  26. data/src/agent/Core/Controller/InitRequest.cpp +2 -0
  27. data/src/agent/Core/Controller/InternalUtils.cpp +32 -6
  28. data/src/agent/Core/Controller.h +4 -1
  29. data/src/agent/Core/OptionParser.h +4 -0
  30. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +7 -0
  31. data/src/agent/Core/SpawningKit/Config.h +13 -0
  32. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +4 -0
  33. data/src/agent/Core/SpawningKit/Spawner.h +1 -0
  34. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +4 -0
  35. data/src/agent/Watchdog/Config.h +2 -1
  36. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +5 -0
  37. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +5 -0
  38. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +18 -0
  39. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +3 -0
  40. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +3 -0
  41. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +11 -0
  42. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +7 -0
  43. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +17 -0
  44. data/src/apache2_module/Hooks.cpp +1 -0
  45. data/src/cxx_supportlib/Constants.h +1 -1
  46. data/src/cxx_supportlib/IOTools/IOUtils.cpp +4 -4
  47. data/src/cxx_supportlib/vendor-modified/boost/align/align.hpp +19 -0
  48. data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +47 -0
  49. data/src/cxx_supportlib/vendor-modified/boost/align/alignment_of.hpp +54 -0
  50. data/src/cxx_supportlib/vendor-modified/boost/align/alignment_of_forward.hpp +20 -0
  51. data/src/cxx_supportlib/vendor-modified/boost/align/detail/align_cxx11.hpp +21 -0
  52. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc.hpp +52 -0
  53. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +41 -0
  54. data/src/cxx_supportlib/vendor-modified/boost/align/detail/alignment_of.hpp +31 -0
  55. data/src/cxx_supportlib/vendor-modified/boost/align/detail/alignment_of_cxx11.hpp +23 -0
  56. data/src/cxx_supportlib/vendor-modified/boost/align/detail/element_type.hpp +91 -0
  57. data/src/cxx_supportlib/vendor-modified/boost/align/detail/integral_constant.hpp +53 -0
  58. data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +28 -0
  59. data/src/cxx_supportlib/vendor-modified/boost/align/detail/min_size.hpp +26 -0
  60. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +53 -1
  61. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +179 -0
  62. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +57 -1
  63. data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +37 -0
  64. data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +789 -106
  65. data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
  66. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +80 -0
  67. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +10 -0
  68. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +80 -0
  69. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +30 -0
  70. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +20 -0
  71. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +90 -0
  72. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +60 -0
  73. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +10 -0
  74. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +723 -0
  75. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +191 -12
  76. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +361 -0
  77. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +237 -0
  78. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +176 -0
  79. data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +30 -2
  80. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +60 -0
  81. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +165 -0
  82. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +209 -76
  83. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +149 -60
  84. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +40 -0
  85. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +8 -4
  86. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +14 -4
  87. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +6 -0
  88. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +14 -10
  89. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +21 -18
  90. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +30 -19
  91. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +8 -0
  92. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +14 -0
  93. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +20 -0
  94. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +30 -0
  95. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +20 -0
  96. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +29 -0
  97. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +24 -0
  98. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +19 -0
  99. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +3 -1
  100. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +6 -0
  101. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +15 -5
  102. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +60 -0
  103. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +8 -0
  104. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +27 -0
  105. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +93 -0
  106. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +77 -0
  107. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +111 -0
  108. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +4 -0
  109. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +44 -0
  110. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +2 -1
  111. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +2 -2
  112. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +14 -4
  113. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +90 -24
  114. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +30 -1
  115. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +4 -0
  116. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +5 -1
  117. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +5 -2
  118. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +12 -12
  119. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +10 -8
  120. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +8 -8
  121. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +7 -7
  122. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +7 -7
  123. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +7 -7
  124. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +7 -7
  125. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +13 -13
  126. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +7 -7
  127. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +8 -8
  128. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +73 -0
  129. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +133 -0
  130. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +538 -0
  131. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +157 -0
  132. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +1057 -0
  133. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +607 -0
  134. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/completion_handler_erasure.hpp +160 -0
  135. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +120 -0
  136. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_traits.hpp +185 -0
  137. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +181 -0
  138. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/append.hpp +219 -0
  139. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +14 -28
  140. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_tuple.hpp +248 -0
  141. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/deferred.hpp +106 -0
  142. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +434 -0
  143. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/prepend.hpp +219 -0
  144. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +100 -0
  145. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +217 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +73 -0
  147. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +608 -0
  148. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +284 -0
  149. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +344 -20
  150. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +23 -54
  151. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +23 -54
  152. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +66 -18
  153. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/compose.hpp +55 -5
  154. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +68 -80
  155. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +8 -4
  156. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +8 -4
  157. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +3 -2
  158. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +8 -4
  159. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +98 -113
  160. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +71 -82
  161. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +210 -266
  162. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +248 -30
  163. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +11 -21
  164. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +15 -3
  165. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +71 -87
  166. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +46 -68
  167. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +4 -4
  168. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +2 -7
  169. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +10 -0
  170. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +23 -3
  171. data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +21 -21
  172. data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +9 -9
  173. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +88 -0
  174. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +44 -0
  175. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +132 -0
  176. data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +21 -21
  177. data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +9 -9
  178. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +1 -1
  179. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +5 -0
  180. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +1 -1
  181. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +14 -0
  182. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +36 -27
  183. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +1 -1
  184. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +2 -2
  185. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +37 -0
  186. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +1 -1
  187. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +14 -7
  188. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +73 -1
  189. data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +4 -4
  190. data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +235 -0
  191. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +4 -4
  192. data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +7 -10
  193. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
  194. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +20 -0
  195. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +20 -0
  196. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +88 -0
  197. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +44 -0
  198. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -0
  199. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -1
  200. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +17 -13
  201. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +14 -1
  202. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +2 -5
  203. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +2 -5
  204. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +2 -2
  205. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +2 -2
  206. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +56 -0
  207. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +1 -5
  208. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +31 -11
  209. data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +20 -4
  210. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_platform_config.hpp +5 -0
  211. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +81 -0
  212. data/src/cxx_supportlib/vendor-modified/boost/config/platform/bsd.hpp +5 -8
  213. data/src/cxx_supportlib/vendor-modified/boost/config/platform/wasm.hpp +17 -0
  214. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +26 -0
  215. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +49 -0
  216. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +46 -4
  217. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +2 -2
  218. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
  219. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +2 -2
  220. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +2 -2
  221. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
  222. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +2 -2
  223. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +1 -1
  224. data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +1 -1
  225. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +6 -6
  226. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +4 -4
  227. data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +45 -38
  228. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +24 -0
  229. data/src/cxx_supportlib/vendor-modified/boost/core/ignore_unused.hpp +32 -2
  230. data/src/cxx_supportlib/vendor-modified/boost/core/uncaught_exceptions.hpp +7 -7
  231. data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +0 -24
  232. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_parsers.hpp +4 -0
  233. data/src/cxx_supportlib/vendor-modified/boost/intrusive/any_hook.hpp +4 -4
  234. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +83 -83
  235. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +43 -43
  236. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +31 -31
  237. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +85 -85
  238. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +68 -68
  239. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +72 -62
  240. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +19 -20
  241. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +19 -19
  242. data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +4 -4
  243. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +2 -2
  244. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +3 -3
  245. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +5 -5
  246. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +1 -0
  247. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +8 -8
  248. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +2 -4
  249. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +1 -1
  250. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +2 -50
  251. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +1 -1
  252. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +71 -70
  253. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +15 -14
  254. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +84 -82
  255. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list_hook.hpp +10 -10
  256. data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +4 -4
  257. data/src/cxx_supportlib/vendor-modified/boost/intrusive/parent_from_member.hpp +2 -2
  258. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +4 -4
  259. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
  260. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +43 -43
  261. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +26 -26
  262. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +85 -85
  263. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set_hook.hpp +12 -12
  264. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +93 -93
  265. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +51 -51
  266. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +24 -24
  267. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +104 -104
  268. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist_hook.hpp +8 -6
  269. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +91 -91
  270. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +46 -46
  271. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +31 -31
  272. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +51 -51
  273. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +18 -18
  274. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +97 -97
  275. data/src/cxx_supportlib/vendor-modified/boost/intrusive/trivial_value_traits.hpp +6 -4
  276. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +63 -63
  277. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +15 -15
  278. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +4 -1
  279. data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +1 -0
  280. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_traits.hpp +1 -0
  281. data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +1 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +2 -0
  283. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +1 -1
  284. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +3 -0
  285. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +112 -31
  286. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +3 -0
  287. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -8
  288. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +0 -2
  289. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +6 -2
  290. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +1 -1
  291. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +22 -2
  292. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +59 -1
  293. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +9 -11
  294. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +27 -21
  295. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +34 -3
  296. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +378 -36
  297. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +97 -21
  298. data/src/cxx_supportlib/vendor-modified/boost/system/detail/interop_category.hpp +107 -0
  299. data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_same.hpp +33 -0
  300. data/src/cxx_supportlib/vendor-modified/boost/system/detail/snprintf.hpp +70 -0
  301. data/src/cxx_supportlib/vendor-modified/boost/system/detail/{to_std_category.hpp → std_category.hpp} +5 -55
  302. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +2 -12
  303. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +0 -33
  304. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_variadic.hpp +190 -0
  305. data/src/cxx_supportlib/vendor-modified/boost/utility/result_of.hpp +20 -9
  306. data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +3 -1
  307. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  308. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +16 -0
  309. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +12 -0
  310. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +24 -0
  311. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +10 -0
  312. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +39 -0
  313. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +26 -0
  314. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +6 -0
  315. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +8 -0
  316. data/src/nginx_module/ngx_http_passenger_module.c +1 -0
  317. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/common.js +50 -29
  318. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/config/cli-config.js +20 -20
  319. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/config/npm-config.js +11 -11
  320. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/config/syslog-config.js +3 -3
  321. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/config.js +8 -2
  322. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/container.js +2 -1
  323. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +174 -146
  324. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/console.js +4 -2
  325. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/file.js +15 -5
  326. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/http.js +14 -4
  327. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports.js +26 -24
  328. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston.js +5 -5
  329. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/async/package.json +4 -13
  330. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/colors/package.json +19 -33
  331. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/cycle/package.json +11 -29
  332. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/eyes/package.json +12 -40
  333. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/isstream/package.json +3 -12
  334. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/stack-trace/lib/stack-trace.js +49 -24
  335. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/stack-trace/package.json +4 -16
  336. data/src/nodejs_supportlib/vendor-copy/winston/package.json +11 -55
  337. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +3 -2
  338. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +6 -0
  339. data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +16 -12
  340. data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +7 -2
  341. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +8 -1
  342. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +12 -0
  343. data/src/ruby_supportlib/phusion_passenger/packaging.rb +2 -1
  344. data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +2 -1
  345. data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +1 -1
  346. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +8 -0
  347. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +18 -18
  348. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +4 -1
  349. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +7 -1
  350. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -0
  351. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +28 -17
  352. data/src/ruby_supportlib/phusion_passenger.rb +5 -5
  353. metadata +49 -9
  354. data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_generic_value.hpp +0 -125
  355. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/daily-rotate-file.js +0 -601
  356. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/webhook.js +0 -146
  357. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/pkginfo/LICENSE +0 -19
  358. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/pkginfo/lib/pkginfo.js +0 -136
  359. data/src/nodejs_supportlib/vendor-copy/winston/node_modules/pkginfo/package.json +0 -56
@@ -13,6 +13,8 @@
13
13
  #include <boost/system/detail/error_category.hpp>
14
14
  #include <boost/system/detail/generic_category.hpp>
15
15
  #include <boost/system/detail/enable_if.hpp>
16
+ #include <boost/system/detail/is_same.hpp>
17
+ #include <boost/system/detail/errc.hpp>
16
18
  #include <boost/system/is_error_condition_enum.hpp>
17
19
  #include <boost/system/detail/config.hpp>
18
20
  #include <boost/config.hpp>
@@ -27,11 +29,23 @@ namespace system
27
29
 
28
30
  // error_conditions are portable, error_codes are system or library specific
29
31
 
32
+ namespace detail
33
+ {
34
+
35
+ struct generic_value_tag
36
+ {
37
+ int value;
38
+ BOOST_SYSTEM_CONSTEXPR explicit generic_value_tag( int v ): value( v ) {}
39
+ };
40
+
41
+ } // namespace detail
42
+
30
43
  class error_condition
31
44
  {
32
45
  private:
33
46
 
34
47
  int val_;
48
+ bool failed_;
35
49
  error_category const * cat_;
36
50
 
37
51
  public:
@@ -39,26 +53,40 @@ public:
39
53
  // constructors:
40
54
 
41
55
  BOOST_SYSTEM_CONSTEXPR error_condition() BOOST_NOEXCEPT:
42
- val_( 0 ), cat_( &generic_category() )
56
+ val_( 0 ), failed_( false ), cat_( 0 )
43
57
  {
44
58
  }
45
59
 
46
60
  BOOST_SYSTEM_CONSTEXPR error_condition( int val, const error_category & cat ) BOOST_NOEXCEPT:
47
- val_( val ), cat_( &cat )
61
+ val_( val ), failed_( detail::failed_impl( val, cat ) ), cat_( &cat )
62
+ {
63
+ }
64
+
65
+ BOOST_SYSTEM_CONSTEXPR explicit error_condition( boost::system::detail::generic_value_tag vt ) BOOST_NOEXCEPT:
66
+ val_( vt.value ), failed_( vt.value != 0 ), cat_( 0 )
48
67
  {
49
68
  }
50
69
 
51
70
  template<class ErrorConditionEnum> BOOST_SYSTEM_CONSTEXPR error_condition( ErrorConditionEnum e,
52
- typename detail::enable_if<is_error_condition_enum<ErrorConditionEnum>::value>::type* = 0) BOOST_NOEXCEPT
71
+ typename detail::enable_if<
72
+ is_error_condition_enum<ErrorConditionEnum>::value && !boost::system::detail::is_same<ErrorConditionEnum, errc::errc_t>::value
73
+ >::type* = 0) BOOST_NOEXCEPT
53
74
  {
54
75
  *this = make_error_condition( e );
55
76
  }
56
77
 
78
+ template<class ErrorConditionEnum> BOOST_SYSTEM_CONSTEXPR error_condition( ErrorConditionEnum e,
79
+ typename detail::enable_if<boost::system::detail::is_same<ErrorConditionEnum, errc::errc_t>::value>::type* = 0) BOOST_NOEXCEPT:
80
+ val_( e ), failed_( e != 0 ), cat_( 0 )
81
+ {
82
+ }
83
+
57
84
  // modifiers:
58
85
 
59
86
  BOOST_SYSTEM_CONSTEXPR void assign( int val, const error_category & cat ) BOOST_NOEXCEPT
60
87
  {
61
88
  val_ = val;
89
+ failed_ = detail::failed_impl( val, cat );
62
90
  cat_ = &cat;
63
91
  }
64
92
 
@@ -66,14 +94,15 @@ public:
66
94
  BOOST_SYSTEM_CONSTEXPR typename detail::enable_if<is_error_condition_enum<ErrorConditionEnum>::value, error_condition>::type &
67
95
  operator=( ErrorConditionEnum val ) BOOST_NOEXCEPT
68
96
  {
69
- *this = make_error_condition( val );
97
+ *this = error_condition( val );
70
98
  return *this;
71
99
  }
72
100
 
73
101
  BOOST_SYSTEM_CONSTEXPR void clear() BOOST_NOEXCEPT
74
102
  {
75
103
  val_ = 0;
76
- cat_ = &generic_category();
104
+ failed_ = false;
105
+ cat_ = 0;
77
106
  }
78
107
 
79
108
  // observers:
@@ -85,29 +114,43 @@ public:
85
114
 
86
115
  BOOST_SYSTEM_CONSTEXPR const error_category & category() const BOOST_NOEXCEPT
87
116
  {
88
- return *cat_;
117
+ return cat_? *cat_: generic_category();
89
118
  }
90
119
 
91
120
  std::string message() const
92
121
  {
93
- return cat_->message( value() );
122
+ if( cat_ )
123
+ {
124
+ return cat_->message( value() );
125
+ }
126
+ else
127
+ {
128
+ return generic_category().message( value() );
129
+ }
94
130
  }
95
131
 
96
- BOOST_SYSTEM_DEPRECATED("this function is slated for removal") char const * message( char * buffer, std::size_t len ) const BOOST_NOEXCEPT
132
+ char const * message( char * buffer, std::size_t len ) const BOOST_NOEXCEPT
97
133
  {
98
- return cat_->message( value(), buffer, len );
134
+ if( cat_ )
135
+ {
136
+ return cat_->message( value(), buffer, len );
137
+ }
138
+ else
139
+ {
140
+ return generic_category().message( value(), buffer, len );
141
+ }
99
142
  }
100
143
 
101
- BOOST_SYSTEM_DEPRECATED("this function is slated for removal") BOOST_SYSTEM_CONSTEXPR bool failed() const BOOST_NOEXCEPT
144
+ BOOST_SYSTEM_CONSTEXPR bool failed() const BOOST_NOEXCEPT
102
145
  {
103
- return detail::failed_impl( val_, *cat_ );
146
+ return failed_;
104
147
  }
105
148
 
106
149
  #if !defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS)
107
150
 
108
151
  BOOST_SYSTEM_CONSTEXPR explicit operator bool() const BOOST_NOEXCEPT // true if error
109
152
  {
110
- return val_ != 0;
153
+ return failed_;
111
154
  }
112
155
 
113
156
  #else
@@ -117,12 +160,12 @@ public:
117
160
 
118
161
  BOOST_SYSTEM_CONSTEXPR operator unspecified_bool_type() const BOOST_NOEXCEPT // true if error
119
162
  {
120
- return val_ != 0? unspecified_bool_true: 0;
163
+ return failed_? unspecified_bool_true: 0;
121
164
  }
122
165
 
123
166
  BOOST_SYSTEM_CONSTEXPR bool operator!() const BOOST_NOEXCEPT // true if no error
124
167
  {
125
- return val_ == 0;
168
+ return !failed_;
126
169
  }
127
170
 
128
171
  #endif
@@ -133,12 +176,19 @@ public:
133
176
 
134
177
  BOOST_SYSTEM_CONSTEXPR inline friend bool operator==( const error_condition & lhs, const error_condition & rhs ) BOOST_NOEXCEPT
135
178
  {
136
- return lhs.val_ == rhs.val_ && *lhs.cat_ == *rhs.cat_;
179
+ return lhs.val_ == rhs.val_ && lhs.category() == rhs.category();
137
180
  }
138
181
 
139
182
  BOOST_SYSTEM_CONSTEXPR inline friend bool operator<( const error_condition & lhs, const error_condition & rhs ) BOOST_NOEXCEPT
140
183
  {
141
- return *lhs.cat_ < *rhs.cat_ || ( *lhs.cat_ == *rhs.cat_ && lhs.val_ < rhs.val_ );
184
+ error_category const& lcat = lhs.category();
185
+ error_category const& rcat = rhs.category();
186
+ return lcat < rcat || ( lcat == rcat && lhs.val_ < rhs.val_ );
187
+ }
188
+
189
+ BOOST_SYSTEM_CONSTEXPR inline friend bool operator!=( const error_condition & lhs, const error_condition & rhs ) BOOST_NOEXCEPT
190
+ {
191
+ return !( lhs == rhs );
142
192
  }
143
193
 
144
194
  #if defined(BOOST_SYSTEM_HAS_SYSTEM_ERROR)
@@ -148,13 +198,39 @@ public:
148
198
  return std::error_condition( value(), category() );
149
199
  }
150
200
 
201
+ inline friend bool operator==( std::error_code const & lhs, error_condition const & rhs ) BOOST_NOEXCEPT
202
+ {
203
+ return lhs == static_cast< std::error_condition >( rhs );
204
+ }
205
+
206
+ inline friend bool operator==( error_condition const & lhs, std::error_code const & rhs ) BOOST_NOEXCEPT
207
+ {
208
+ return static_cast< std::error_condition >( lhs ) == rhs;
209
+ }
210
+
211
+ inline friend bool operator!=( std::error_code const & lhs, error_condition const & rhs ) BOOST_NOEXCEPT
212
+ {
213
+ return !( lhs == rhs );
214
+ }
215
+
216
+ inline friend bool operator!=( error_condition const & lhs, std::error_code const & rhs ) BOOST_NOEXCEPT
217
+ {
218
+ return !( lhs == rhs );
219
+ }
220
+
151
221
  #endif
152
- };
153
222
 
154
- BOOST_SYSTEM_CONSTEXPR inline bool operator!=( const error_condition & lhs, const error_condition & rhs ) BOOST_NOEXCEPT
155
- {
156
- return !( lhs == rhs );
157
- }
223
+ template<class Ch, class Tr>
224
+ inline friend std::basic_ostream<Ch, Tr>&
225
+ operator<< (std::basic_ostream<Ch, Tr>& os, error_condition const & en)
226
+ {
227
+ {
228
+ os << "cond:" << en.category().name() << ':' << en.value();
229
+ }
230
+
231
+ return os;
232
+ }
233
+ };
158
234
 
159
235
  } // namespace system
160
236
 
@@ -0,0 +1,107 @@
1
+ #ifndef BOOST_SYSTEM_DETAIL_INTEROP_CATEGORY_HPP_INCLUDED
2
+ #define BOOST_SYSTEM_DETAIL_INTEROP_CATEGORY_HPP_INCLUDED
3
+
4
+ // Copyright Beman Dawes 2006, 2007
5
+ // Copyright Christoper Kohlhoff 2007
6
+ // Copyright Peter Dimov 2017, 2018, 2021
7
+ //
8
+ // Distributed under the Boost Software License, Version 1.0. (See accompanying
9
+ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
10
+ //
11
+ // See library home page at http://www.boost.org/libs/system
12
+
13
+ #include <boost/system/detail/error_category.hpp>
14
+ #include <boost/system/detail/snprintf.hpp>
15
+ #include <boost/system/detail/config.hpp>
16
+ #include <boost/config.hpp>
17
+
18
+ namespace boost
19
+ {
20
+
21
+ namespace system
22
+ {
23
+
24
+ namespace detail
25
+ {
26
+
27
+ // interop_error_category, used for std::error_code
28
+
29
+ #if ( defined( BOOST_GCC ) && BOOST_GCC >= 40600 ) || defined( BOOST_CLANG )
30
+ #pragma GCC diagnostic push
31
+ #pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
32
+ #endif
33
+
34
+ class BOOST_SYMBOL_VISIBLE interop_error_category: public error_category
35
+ {
36
+ public:
37
+
38
+ BOOST_SYSTEM_CONSTEXPR interop_error_category() BOOST_NOEXCEPT:
39
+ error_category( detail::interop_category_id )
40
+ {
41
+ }
42
+
43
+ const char * name() const BOOST_NOEXCEPT BOOST_OVERRIDE
44
+ {
45
+ return "std:unknown";
46
+ }
47
+
48
+ std::string message( int ev ) const BOOST_OVERRIDE;
49
+ char const * message( int ev, char * buffer, std::size_t len ) const BOOST_NOEXCEPT BOOST_OVERRIDE;
50
+ };
51
+
52
+ #if ( defined( BOOST_GCC ) && BOOST_GCC >= 40600 ) || defined( BOOST_CLANG )
53
+ #pragma GCC diagnostic pop
54
+ #endif
55
+
56
+ inline char const * interop_error_category::message( int ev, char * buffer, std::size_t len ) const BOOST_NOEXCEPT
57
+ {
58
+ detail::snprintf( buffer, len, "Unknown interop error %d", ev );
59
+ return buffer;
60
+ }
61
+
62
+ inline std::string interop_error_category::message( int ev ) const
63
+ {
64
+ char buffer[ 48 ];
65
+ return message( ev, buffer, sizeof( buffer ) );
66
+ }
67
+
68
+ // interop_category()
69
+
70
+ #if defined(BOOST_SYSTEM_HAS_CONSTEXPR)
71
+
72
+ template<class T> struct BOOST_SYMBOL_VISIBLE interop_cat_holder
73
+ {
74
+ static constexpr interop_error_category instance{};
75
+ };
76
+
77
+ // Before C++17 it was mandatory to redeclare all static constexpr
78
+ #if defined(BOOST_NO_CXX17_INLINE_VARIABLES)
79
+ template<class T> constexpr interop_error_category interop_cat_holder<T>::instance;
80
+ #endif
81
+
82
+ constexpr error_category const & interop_category() BOOST_NOEXCEPT
83
+ {
84
+ return interop_cat_holder<void>::instance;
85
+ }
86
+
87
+ #else // #if defined(BOOST_SYSTEM_HAS_CONSTEXPR)
88
+
89
+ #if !defined(__SUNPRO_CC) // trailing __global is not supported
90
+ inline error_category const & interop_category() BOOST_NOEXCEPT BOOST_SYMBOL_VISIBLE;
91
+ #endif
92
+
93
+ inline error_category const & interop_category() BOOST_NOEXCEPT
94
+ {
95
+ static const detail::interop_error_category instance;
96
+ return instance;
97
+ }
98
+
99
+ #endif // #if defined(BOOST_SYSTEM_HAS_CONSTEXPR)
100
+
101
+ } // namespace detail
102
+
103
+ } // namespace system
104
+
105
+ } // namespace boost
106
+
107
+ #endif // #ifndef BOOST_SYSTEM_DETAIL_INTEROP_CATEGORY_HPP_INCLUDED
@@ -0,0 +1,33 @@
1
+ #ifndef BOOST_SYSTEM_DETAIL_IS_SAME_HPP_INCLUDED
2
+ #define BOOST_SYSTEM_DETAIL_IS_SAME_HPP_INCLUDED
3
+
4
+ // Copyright 2021 Peter Dimov
5
+ // Distributed under the Boost Software License, Version 1.0
6
+ // http://www.boost.org/LICENSE_1_0.txt
7
+
8
+ namespace boost
9
+ {
10
+
11
+ namespace system
12
+ {
13
+
14
+ namespace detail
15
+ {
16
+
17
+ template<class T1, class T2> struct is_same
18
+ {
19
+ enum _vt { value = 0 };
20
+ };
21
+
22
+ template<class T> struct is_same<T, T>
23
+ {
24
+ enum _vt { value = 1 };
25
+ };
26
+
27
+ } // namespace detail
28
+
29
+ } // namespace system
30
+
31
+ } // namespace boost
32
+
33
+ #endif // #ifndef BOOST_SYSTEM_DETAIL_IS_SAME_HPP_INCLUDED
@@ -0,0 +1,70 @@
1
+ #ifndef BOOST_SYSTEM_DETAIL_SNPRINTF_HPP_INCLUDED
2
+ #define BOOST_SYSTEM_DETAIL_SNPRINTF_HPP_INCLUDED
3
+
4
+ // Copyright 2018, 2020, 2021 Peter Dimov
5
+ //
6
+ // Distributed under the Boost Software License, Version 1.0. (See accompanying
7
+ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8
+ //
9
+ // See library home page at http://www.boost.org/libs/system
10
+
11
+ #include <boost/config.hpp>
12
+ #include <cstdio>
13
+ #include <cstdarg>
14
+
15
+ //
16
+
17
+ namespace boost
18
+ {
19
+
20
+ namespace system
21
+ {
22
+
23
+ namespace detail
24
+ {
25
+
26
+ #if ( defined(_MSC_VER) && _MSC_VER < 1900 ) || ( defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) )
27
+
28
+ inline void snprintf( char * buffer, std::size_t len, char const * format, ... )
29
+ {
30
+ # if defined( BOOST_MSVC )
31
+ # pragma warning( push )
32
+ # pragma warning( disable: 4996 )
33
+ # endif
34
+
35
+ if( len == 0 ) return;
36
+
37
+ va_list args;
38
+ va_start( args, format );
39
+
40
+ _vsnprintf( buffer, len - 1, format, args );
41
+ buffer[ len - 1 ] = 0;
42
+
43
+ va_end( args );
44
+
45
+ # if defined( BOOST_MSVC )
46
+ # pragma warning( pop )
47
+ # endif
48
+ }
49
+
50
+ #else
51
+
52
+ inline void snprintf( char * buffer, std::size_t len, char const * format, ... )
53
+ {
54
+ va_list args;
55
+ va_start( args, format );
56
+
57
+ std::vsnprintf( buffer, len, format, args );
58
+
59
+ va_end( args );
60
+ }
61
+
62
+ #endif
63
+
64
+ } // namespace detail
65
+
66
+ } // namespace system
67
+
68
+ } // namespace boost
69
+
70
+ #endif // #ifndef BOOST_SYSTEM_DETAIL_SNPRINTF_HPP_INCLUDED
@@ -1,9 +1,9 @@
1
- #ifndef BOOST_SYSTEM_DETAIL_TO_STD_CATEGORY_HPP_INCLUDED
2
- #define BOOST_SYSTEM_DETAIL_TO_STD_CATEGORY_HPP_INCLUDED
1
+ #ifndef BOOST_SYSTEM_DETAIL_STD_CATEGORY_HPP_INCLUDED
2
+ #define BOOST_SYSTEM_DETAIL_STD_CATEGORY_HPP_INCLUDED
3
3
 
4
4
  // Support for interoperability between Boost.System and <system_error>
5
5
  //
6
- // Copyright 2018 Peter Dimov
6
+ // Copyright 2018, 2021 Peter Dimov
7
7
  //
8
8
  // Distributed under the Boost Software License, Version 1.0. (See accompanying
9
9
  // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -15,9 +15,6 @@
15
15
  #include <boost/system/detail/error_code.hpp>
16
16
  #include <boost/system/detail/generic_category.hpp>
17
17
  #include <system_error>
18
- #include <map>
19
- #include <memory>
20
- #include <mutex>
21
18
 
22
19
  //
23
20
 
@@ -73,54 +70,6 @@ public:
73
70
  bool equivalent( const std::error_code & code, int condition ) const BOOST_NOEXCEPT BOOST_OVERRIDE;
74
71
  };
75
72
 
76
- #if !defined(__SUNPRO_CC) // trailing __global is not supported
77
- inline std::error_category const & to_std_category( boost::system::error_category const & cat ) BOOST_SYMBOL_VISIBLE;
78
- #endif
79
-
80
- struct cat_ptr_less
81
- {
82
- bool operator()( boost::system::error_category const * p1, boost::system::error_category const * p2 ) const BOOST_NOEXCEPT
83
- {
84
- return *p1 < *p2;
85
- }
86
- };
87
-
88
- inline std::error_category const & to_std_category( boost::system::error_category const & cat )
89
- {
90
- if( cat.id_ == boost::system::detail::system_category_id )
91
- {
92
- static const std_category system_instance( &cat, 0x1F4D7 );
93
- return system_instance;
94
- }
95
- else if( cat.id_ == boost::system::detail::generic_category_id )
96
- {
97
- static const std_category generic_instance( &cat, 0x1F4D3 );
98
- return generic_instance;
99
- }
100
- else
101
- {
102
- typedef std::map< boost::system::error_category const *, std::unique_ptr<std_category>, cat_ptr_less > map_type;
103
-
104
- static map_type map_;
105
- static std::mutex map_mx_;
106
-
107
- std::lock_guard<std::mutex> guard( map_mx_ );
108
-
109
- map_type::iterator i = map_.find( &cat );
110
-
111
- if( i == map_.end() )
112
- {
113
- std::unique_ptr<std_category> p( new std_category( &cat, 0 ) );
114
-
115
- std::pair<map_type::iterator, bool> r = map_.insert( map_type::value_type( &cat, std::move( p ) ) );
116
-
117
- i = r.first;
118
- }
119
-
120
- return *i->second;
121
- }
122
- }
123
-
124
73
  inline bool std_category::equivalent( int code, const std::error_condition & condition ) const BOOST_NOEXCEPT
125
74
  {
126
75
  if( condition.category() == *this )
@@ -170,6 +119,7 @@ inline bool std_category::equivalent( const std::error_code & code, int conditio
170
119
  boost::system::error_code bc( code.value(), *pc2->pc_ );
171
120
  return pc_->equivalent( bc, condition );
172
121
  }
122
+
173
123
  #endif
174
124
 
175
125
  else if( *pc_ == boost::system::generic_category() )
@@ -188,4 +138,4 @@ inline bool std_category::equivalent( const std::error_code & code, int conditio
188
138
 
189
139
  } // namespace boost
190
140
 
191
- #endif // #ifndef BOOST_SYSTEM_DETAIL_TO_STD_CATEGORY_HPP_INCLUDED
141
+ #endif // #ifndef BOOST_SYSTEM_DETAIL_STD_CATEGORY_HPP_INCLUDED
@@ -12,9 +12,7 @@
12
12
 
13
13
  #include <boost/system/detail/system_category.hpp>
14
14
  #include <boost/system/detail/error_condition.hpp>
15
- #include <boost/system/detail/generic_category.hpp>
16
15
  #include <boost/system/api_config.hpp>
17
- #include <boost/config.hpp>
18
16
 
19
17
  #if !defined(BOOST_POSIX_API) && !defined(BOOST_WINDOWS_API)
20
18
  # error BOOST_POSIX_API or BOOST_WINDOWS_API must be defined
@@ -37,7 +35,7 @@ inline boost::system::error_condition boost::system::detail::system_error_catego
37
35
  }
38
36
  else
39
37
  {
40
- return error_condition( e2, generic_category() );
38
+ return error_condition( boost::system::detail::generic_value_tag( e2 ) );
41
39
  }
42
40
  }
43
41
 
@@ -54,18 +52,10 @@ inline char const * boost::system::detail::system_error_category::message( int e
54
52
  #else // #if defined(BOOST_WINDOWS_API)
55
53
 
56
54
  #include <boost/system/detail/generic_category_message.hpp>
57
- #include <boost/system/detail/is_generic_value.hpp>
58
55
 
59
56
  inline boost::system::error_condition boost::system::detail::system_error_category::default_error_condition( int ev ) const BOOST_NOEXCEPT
60
57
  {
61
- if( is_generic_value( ev ) )
62
- {
63
- return error_condition( ev, generic_category() );
64
- }
65
- else
66
- {
67
- return error_condition( ev, *this );
68
- }
58
+ return error_condition( boost::system::detail::generic_value_tag( ev ) );
69
59
  }
70
60
 
71
61
  inline std::string boost::system::detail::system_error_category::message( int ev ) const
@@ -17,38 +17,5 @@
17
17
  #include <boost/system/generic_category.hpp>
18
18
  #include <boost/system/system_category.hpp>
19
19
  #include <boost/system/detail/throws.hpp>
20
- #include <boost/config.hpp>
21
-
22
- namespace boost
23
- {
24
-
25
- namespace system
26
- {
27
-
28
- // non-member functions of error_code and error_condition
29
-
30
- inline bool operator==( const error_code & code, const error_condition & condition ) BOOST_NOEXCEPT
31
- {
32
- return code.category().equivalent( code.value(), condition ) || condition.category().equivalent( code, condition.value() );
33
- }
34
-
35
- inline bool operator!=( const error_code & lhs, const error_condition & rhs ) BOOST_NOEXCEPT
36
- {
37
- return !( lhs == rhs );
38
- }
39
-
40
- inline bool operator==( const error_condition & condition, const error_code & code ) BOOST_NOEXCEPT
41
- {
42
- return code.category().equivalent( code.value(), condition ) || condition.category().equivalent( code, condition.value() );
43
- }
44
-
45
- inline bool operator!=( const error_condition & lhs, const error_code & rhs ) BOOST_NOEXCEPT
46
- {
47
- return !( lhs == rhs );
48
- }
49
-
50
- } // namespace system
51
-
52
- } // namespace boost
53
20
 
54
21
  #endif // BOOST_SYSTEM_ERROR_CODE_HPP_INCLUDED