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
@@ -0,0 +1,237 @@
1
+ //
2
+ // cancellation_state.hpp
3
+ // ~~~~~~~~~~~~~~~~~~~~~~
4
+ //
5
+ // Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6
+ //
7
+ // Distributed under the Boost Software License, Version 1.0. (See accompanying
8
+ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9
+ //
10
+
11
+ #ifndef BOOST_ASIO_CANCELLATION_STATE_HPP
12
+ #define BOOST_ASIO_CANCELLATION_STATE_HPP
13
+
14
+ #if defined(_MSC_VER) && (_MSC_VER >= 1200)
15
+ # pragma once
16
+ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
+
18
+ #include <boost/asio/detail/config.hpp>
19
+ #include <cassert>
20
+ #include <new>
21
+ #include <utility>
22
+ #include <boost/asio/cancellation_signal.hpp>
23
+ #include <boost/asio/detail/cstddef.hpp>
24
+
25
+ #include <boost/asio/detail/push_options.hpp>
26
+
27
+ namespace boost {
28
+ namespace asio {
29
+
30
+ /// A simple cancellation signal propagation filter.
31
+ template <cancellation_type_t Mask>
32
+ struct cancellation_filter
33
+ {
34
+ /// Returns <tt>type & Mask</tt>.
35
+ cancellation_type_t operator()(
36
+ cancellation_type_t type) const BOOST_ASIO_NOEXCEPT
37
+ {
38
+ return type & Mask;
39
+ }
40
+ };
41
+
42
+ /// A cancellation filter that disables cancellation.
43
+ typedef cancellation_filter<cancellation_type::none>
44
+ disable_cancellation;
45
+
46
+ /// A cancellation filter that enables terminal cancellation only.
47
+ typedef cancellation_filter<cancellation_type::terminal>
48
+ enable_terminal_cancellation;
49
+
50
+ #if defined(GENERATING_DOCUMENTATION)
51
+
52
+ /// A cancellation filter that enables terminal and partial cancellation.
53
+ typedef cancellation_filter<
54
+ cancellation_type::terminal | cancellation_type::partial>
55
+ enable_partial_cancellation;
56
+
57
+ /// A cancellation filter that enables terminal, partial and total cancellation.
58
+ typedef cancellation_filter<cancellation_type::terminal
59
+ | cancellation_type::partial | cancellation_type::total>
60
+ enable_total_cancellation;
61
+
62
+ #else // defined(GENERATING_DOCUMENTATION)
63
+
64
+ typedef cancellation_filter<
65
+ static_cast<cancellation_type_t>(
66
+ static_cast<unsigned int>(cancellation_type::terminal)
67
+ | static_cast<unsigned int>(cancellation_type::partial))>
68
+ enable_partial_cancellation;
69
+
70
+ typedef cancellation_filter<
71
+ static_cast<cancellation_type_t>(
72
+ static_cast<unsigned int>(cancellation_type::terminal)
73
+ | static_cast<unsigned int>(cancellation_type::partial)
74
+ | static_cast<unsigned int>(cancellation_type::total))>
75
+ enable_total_cancellation;
76
+
77
+ #endif // defined(GENERATING_DOCUMENTATION)
78
+
79
+ /// A cancellation state is used for chaining signals and slots in compositions.
80
+ class cancellation_state
81
+ {
82
+ public:
83
+ /// Construct a disconnected cancellation state.
84
+ BOOST_ASIO_CONSTEXPR cancellation_state() BOOST_ASIO_NOEXCEPT
85
+ : impl_(0)
86
+ {
87
+ }
88
+
89
+ /// Construct and attach to a parent slot to create a new child slot.
90
+ /**
91
+ * Initialises the cancellation state so that it allows terminal cancellation
92
+ * only. Equivalent to <tt>cancellation_state(slot,
93
+ * enable_terminal_cancellation())</tt>.
94
+ *
95
+ * @param slot The parent cancellation slot to which the state will be
96
+ * attached.
97
+ */
98
+ template <typename CancellationSlot>
99
+ BOOST_ASIO_CONSTEXPR explicit cancellation_state(CancellationSlot slot)
100
+ : impl_(slot.is_connected() ? &slot.template emplace<impl<> >() : 0)
101
+ {
102
+ }
103
+
104
+ /// Construct and attach to a parent slot to create a new child slot.
105
+ /**
106
+ * @param slot The parent cancellation slot to which the state will be
107
+ * attached.
108
+ *
109
+ * @param filter A function object that is used to transform incoming
110
+ * cancellation signals as they are received from the parent slot. This
111
+ * function object must have the signature:
112
+ * @code boost::asio::cancellation_type_t filter(
113
+ * boost::asio::cancellation_type_t); @endcode
114
+ *
115
+ * The library provides the following pre-defined cancellation filters:
116
+ *
117
+ * @li boost::asio::disable_cancellation
118
+ * @li boost::asio::enable_terminal_cancellation
119
+ * @li boost::asio::enable_partial_cancellation
120
+ * @li boost::asio::enable_total_cancellation
121
+ */
122
+ template <typename CancellationSlot, typename Filter>
123
+ BOOST_ASIO_CONSTEXPR cancellation_state(CancellationSlot slot, Filter filter)
124
+ : impl_(slot.is_connected()
125
+ ? &slot.template emplace<impl<Filter, Filter> >(filter, filter)
126
+ : 0)
127
+ {
128
+ }
129
+
130
+ /// Construct and attach to a parent slot to create a new child slot.
131
+ /**
132
+ * @param slot The parent cancellation slot to which the state will be
133
+ * attached.
134
+ *
135
+ * @param in_filter A function object that is used to transform incoming
136
+ * cancellation signals as they are received from the parent slot. This
137
+ * function object must have the signature:
138
+ * @code boost::asio::cancellation_type_t in_filter(
139
+ * boost::asio::cancellation_type_t); @endcode
140
+ *
141
+ * @param out_filter A function object that is used to transform outcoming
142
+ * cancellation signals as they are relayed to the child slot. This function
143
+ * object must have the signature:
144
+ * @code boost::asio::cancellation_type_t out_filter(
145
+ * boost::asio::cancellation_type_t); @endcode
146
+ *
147
+ * The library provides the following pre-defined cancellation filters:
148
+ *
149
+ * @li boost::asio::disable_cancellation
150
+ * @li boost::asio::enable_terminal_cancellation
151
+ * @li boost::asio::enable_partial_cancellation
152
+ * @li boost::asio::enable_total_cancellation
153
+ */
154
+ template <typename CancellationSlot, typename InFilter, typename OutFilter>
155
+ BOOST_ASIO_CONSTEXPR cancellation_state(CancellationSlot slot,
156
+ InFilter in_filter, OutFilter out_filter)
157
+ : impl_(slot.is_connected()
158
+ ? &slot.template emplace<impl<InFilter, OutFilter> >(
159
+ BOOST_ASIO_MOVE_CAST(InFilter)(in_filter),
160
+ BOOST_ASIO_MOVE_CAST(OutFilter)(out_filter))
161
+ : 0)
162
+ {
163
+ }
164
+
165
+ /// Returns the single child slot associated with the state.
166
+ /**
167
+ * This sub-slot is used with the operations that are being composed.
168
+ */
169
+ BOOST_ASIO_CONSTEXPR cancellation_slot slot() const BOOST_ASIO_NOEXCEPT
170
+ {
171
+ return impl_ ? impl_->signal_.slot() : cancellation_slot();
172
+ }
173
+
174
+ /// Returns the cancellation types that have been triggered.
175
+ cancellation_type_t cancelled() const BOOST_ASIO_NOEXCEPT
176
+ {
177
+ return impl_ ? impl_->cancelled_ : cancellation_type_t();
178
+ }
179
+
180
+ /// Clears the specified cancellation types, if they have been triggered.
181
+ void clear(cancellation_type_t mask = cancellation_type::all)
182
+ BOOST_ASIO_NOEXCEPT
183
+ {
184
+ if (impl_)
185
+ impl_->cancelled_ &= ~mask;
186
+ }
187
+
188
+ private:
189
+ struct impl_base
190
+ {
191
+ impl_base()
192
+ : cancelled_()
193
+ {
194
+ }
195
+
196
+ cancellation_signal signal_;
197
+ cancellation_type_t cancelled_;
198
+ };
199
+
200
+ template <
201
+ typename InFilter = enable_terminal_cancellation,
202
+ typename OutFilter = InFilter>
203
+ struct impl : impl_base
204
+ {
205
+ impl()
206
+ : in_filter_(),
207
+ out_filter_()
208
+ {
209
+ }
210
+
211
+ impl(InFilter in_filter, OutFilter out_filter)
212
+ : in_filter_(BOOST_ASIO_MOVE_CAST(InFilter)(in_filter)),
213
+ out_filter_(BOOST_ASIO_MOVE_CAST(OutFilter)(out_filter))
214
+ {
215
+ }
216
+
217
+ void operator()(cancellation_type_t in)
218
+ {
219
+ this->cancelled_ = in_filter_(in);
220
+ cancellation_type_t out = out_filter_(this->cancelled_);
221
+ if (out != cancellation_type::none)
222
+ this->signal_.emit(out);
223
+ }
224
+
225
+ InFilter in_filter_;
226
+ OutFilter out_filter_;
227
+ };
228
+
229
+ impl_base* impl_;
230
+ };
231
+
232
+ } // namespace asio
233
+ } // namespace boost
234
+
235
+ #include <boost/asio/detail/pop_options.hpp>
236
+
237
+ #endif // BOOST_ASIO_CANCELLATION_STATE_HPP
@@ -0,0 +1,176 @@
1
+ //
2
+ // cancellation_type.hpp
3
+ // ~~~~~~~~~~~~~~~~~~~~~
4
+ //
5
+ // Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6
+ //
7
+ // Distributed under the Boost Software License, Version 1.0. (See accompanying
8
+ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9
+ //
10
+
11
+ #ifndef BOOST_ASIO_CANCELLATION_TYPE_HPP
12
+ #define BOOST_ASIO_CANCELLATION_TYPE_HPP
13
+
14
+ #if defined(_MSC_VER) && (_MSC_VER >= 1200)
15
+ # pragma once
16
+ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
+
18
+ #include <boost/asio/detail/config.hpp>
19
+
20
+ #include <boost/asio/detail/push_options.hpp>
21
+
22
+ namespace boost {
23
+ namespace asio {
24
+
25
+ # if defined(GENERATING_DOCUMENTATION)
26
+
27
+ /// Enumeration representing the different types of cancellation that may
28
+ /// be requested from or implemented by an asynchronous operation.
29
+ enum cancellation_type
30
+ {
31
+ /// Bitmask representing no types of cancellation.
32
+ none = 0,
33
+
34
+ /// Requests cancellation where, following a successful cancellation, the only
35
+ /// safe operations on the I/O object are closure or destruction.
36
+ terminal = 1,
37
+
38
+ /// Requests cancellation where a successful cancellation may result in
39
+ /// partial side effects or no side effects. Following cancellation, the I/O
40
+ /// object is in a well-known state, and may be used for further operations.
41
+ partial = 2,
42
+
43
+ /// Requests cancellation where a successful cancellation results in no
44
+ /// apparent side effects. Following cancellation, the I/O object is in the
45
+ /// same observable state as it was prior to the operation.
46
+ total = 4,
47
+
48
+ /// Bitmask representing all types of cancellation.
49
+ all = 0xFFFFFFFF
50
+ };
51
+
52
+ /// Portability typedef.
53
+ typedef cancellation_type cancellation_type_t;
54
+
55
+ #elif defined(BOOST_ASIO_HAS_ENUM_CLASS)
56
+
57
+ enum class cancellation_type : unsigned int
58
+ {
59
+ none = 0,
60
+ terminal = 1,
61
+ partial = 2,
62
+ total = 4,
63
+ all = 0xFFFFFFFF
64
+ };
65
+
66
+ typedef cancellation_type cancellation_type_t;
67
+
68
+ #else // defined(BOOST_ASIO_HAS_ENUM_CLASS)
69
+
70
+ namespace cancellation_type {
71
+
72
+ enum cancellation_type_t
73
+ {
74
+ none = 0,
75
+ terminal = 1,
76
+ partial = 2,
77
+ total = 4,
78
+ all = 0xFFFFFFFF
79
+ };
80
+
81
+ } // namespace cancellation_type
82
+
83
+ typedef cancellation_type::cancellation_type_t cancellation_type_t;
84
+
85
+ #endif // defined(BOOST_ASIO_HAS_ENUM_CLASS)
86
+
87
+ /// Negation operator.
88
+ /**
89
+ * @relates cancellation_type
90
+ */
91
+ inline BOOST_ASIO_CONSTEXPR bool operator!(cancellation_type_t x)
92
+ {
93
+ return static_cast<unsigned int>(x) == 0;
94
+ }
95
+
96
+ /// Bitwise and operator.
97
+ /**
98
+ * @relates cancellation_type
99
+ */
100
+ inline BOOST_ASIO_CONSTEXPR cancellation_type_t operator&(
101
+ cancellation_type_t x, cancellation_type_t y)
102
+ {
103
+ return static_cast<cancellation_type_t>(
104
+ static_cast<unsigned int>(x) & static_cast<unsigned int>(y));
105
+ }
106
+
107
+ /// Bitwise or operator.
108
+ /**
109
+ * @relates cancellation_type
110
+ */
111
+ inline BOOST_ASIO_CONSTEXPR cancellation_type_t operator|(
112
+ cancellation_type_t x, cancellation_type_t y)
113
+ {
114
+ return static_cast<cancellation_type_t>(
115
+ static_cast<unsigned int>(x) | static_cast<unsigned int>(y));
116
+ }
117
+
118
+ /// Bitwise xor operator.
119
+ /**
120
+ * @relates cancellation_type
121
+ */
122
+ inline BOOST_ASIO_CONSTEXPR cancellation_type_t operator^(
123
+ cancellation_type_t x, cancellation_type_t y)
124
+ {
125
+ return static_cast<cancellation_type_t>(
126
+ static_cast<unsigned int>(x) ^ static_cast<unsigned int>(y));
127
+ }
128
+
129
+ /// Bitwise negation operator.
130
+ /**
131
+ * @relates cancellation_type
132
+ */
133
+ inline BOOST_ASIO_CONSTEXPR cancellation_type_t operator~(cancellation_type_t x)
134
+ {
135
+ return static_cast<cancellation_type_t>(~static_cast<unsigned int>(x));
136
+ }
137
+
138
+ /// Bitwise and-assignment operator.
139
+ /**
140
+ * @relates cancellation_type
141
+ */
142
+ inline cancellation_type_t& operator&=(
143
+ cancellation_type_t& x, cancellation_type_t y)
144
+ {
145
+ x = x & y;
146
+ return x;
147
+ }
148
+
149
+ /// Bitwise or-assignment operator.
150
+ /**
151
+ * @relates cancellation_type
152
+ */
153
+ inline cancellation_type_t& operator|=(
154
+ cancellation_type_t& x, cancellation_type_t y)
155
+ {
156
+ x = x | y;
157
+ return x;
158
+ }
159
+
160
+ /// Bitwise xor-assignment operator.
161
+ /**
162
+ * @relates cancellation_type
163
+ */
164
+ inline cancellation_type_t& operator^=(
165
+ cancellation_type_t& x, cancellation_type_t y)
166
+ {
167
+ x = x ^ y;
168
+ return x;
169
+ }
170
+
171
+ } // namespace asio
172
+ } // namespace boost
173
+
174
+ #include <boost/asio/detail/pop_options.hpp>
175
+
176
+ #endif // BOOST_ASIO_CANCELLATION_TYPE_HPP
@@ -96,6 +96,11 @@ struct awaitable_signature<awaitable<void, Executor>>
96
96
  * std::cout << "transferred " << n << "\n";
97
97
  * });
98
98
  * @endcode
99
+ *
100
+ * @par Per-Operation Cancellation
101
+ * The new thread of execution is created with a cancellation state that
102
+ * supports @c cancellation_type::terminal values only. To change the
103
+ * cancellation state, call boost::asio::this_coro::reset_cancellation_state.
99
104
  */
100
105
  template <typename Executor, typename T, typename AwaitableExecutor,
101
106
  BOOST_ASIO_COMPLETION_TOKEN_FOR(
@@ -152,6 +157,11 @@ co_spawn(const Executor& ex, awaitable<T, AwaitableExecutor> a,
152
157
  * echo(std::move(my_tcp_socket)),
153
158
  * boost::asio::detached);
154
159
  * @endcode
160
+ *
161
+ * @par Per-Operation Cancellation
162
+ * The new thread of execution is created with a cancellation state that
163
+ * supports @c cancellation_type::terminal values only. To change the
164
+ * cancellation state, call boost::asio::this_coro::reset_cancellation_state.
155
165
  */
156
166
  template <typename Executor, typename AwaitableExecutor,
157
167
  BOOST_ASIO_COMPLETION_TOKEN_FOR(
@@ -216,6 +226,11 @@ co_spawn(const Executor& ex, awaitable<void, AwaitableExecutor> a,
216
226
  * std::cout << "transferred " << n << "\n";
217
227
  * });
218
228
  * @endcode
229
+ *
230
+ * @par Per-Operation Cancellation
231
+ * The new thread of execution is created with a cancellation state that
232
+ * supports @c cancellation_type::terminal values only. To change the
233
+ * cancellation state, call boost::asio::this_coro::reset_cancellation_state.
219
234
  */
220
235
  template <typename ExecutionContext, typename T, typename AwaitableExecutor,
221
236
  BOOST_ASIO_COMPLETION_TOKEN_FOR(
@@ -275,6 +290,11 @@ co_spawn(ExecutionContext& ctx, awaitable<T, AwaitableExecutor> a,
275
290
  * echo(std::move(my_tcp_socket)),
276
291
  * boost::asio::detached);
277
292
  * @endcode
293
+ *
294
+ * @par Per-Operation Cancellation
295
+ * The new thread of execution is created with a cancellation state that
296
+ * supports @c cancellation_type::terminal values only. To change the
297
+ * cancellation state, call boost::asio::this_coro::reset_cancellation_state.
278
298
  */
279
299
  template <typename ExecutionContext, typename AwaitableExecutor,
280
300
  BOOST_ASIO_COMPLETION_TOKEN_FOR(
@@ -310,7 +330,6 @@ co_spawn(ExecutionContext& ctx, awaitable<void, AwaitableExecutor> a,
310
330
  * Otherwise, the function signature of the completion handler must be:
311
331
  * @code void handler(std::exception_ptr, R); @endcode
312
332
  *
313
- *
314
333
  * @par Example
315
334
  * @code
316
335
  * boost::asio::awaitable<std::size_t> echo(tcp::socket socket)
@@ -362,6 +381,11 @@ co_spawn(ExecutionContext& ctx, awaitable<void, AwaitableExecutor> a,
362
381
  * }
363
382
  * }, boost::asio::detached);
364
383
  * @endcode
384
+ *
385
+ * @par Per-Operation Cancellation
386
+ * The new thread of execution is created with a cancellation state that
387
+ * supports @c cancellation_type::terminal values only. To change the
388
+ * cancellation state, call boost::asio::this_coro::reset_cancellation_state.
365
389
  */
366
390
  template <typename Executor, typename F,
367
391
  BOOST_ASIO_COMPLETION_TOKEN_FOR(typename detail::awaitable_signature<
@@ -393,7 +417,6 @@ co_spawn(const Executor& ex, F&& f,
393
417
  * Otherwise, the function signature of the completion handler must be:
394
418
  * @code void handler(std::exception_ptr, R); @endcode
395
419
  *
396
- *
397
420
  * @par Example
398
421
  * @code
399
422
  * boost::asio::awaitable<std::size_t> echo(tcp::socket socket)
@@ -445,6 +468,11 @@ co_spawn(const Executor& ex, F&& f,
445
468
  * }
446
469
  * }, boost::asio::detached);
447
470
  * @endcode
471
+ *
472
+ * @par Per-Operation Cancellation
473
+ * The new thread of execution is created with a cancellation state that
474
+ * supports @c cancellation_type::terminal values only. To change the
475
+ * cancellation state, call boost::asio::this_coro::reset_cancellation_state.
448
476
  */
449
477
  template <typename ExecutionContext, typename F,
450
478
  BOOST_ASIO_COMPLETION_TOKEN_FOR(typename detail::awaitable_signature<
@@ -665,6 +665,16 @@ Iterator connect(basic_socket<Protocol, Executor>& s,
665
665
  * {
666
666
  * // ...
667
667
  * } @endcode
668
+ *
669
+ * @par Per-Operation Cancellation
670
+ * This asynchronous operation supports cancellation for the following
671
+ * boost::asio::cancellation_type values:
672
+ *
673
+ * @li @c cancellation_type::terminal
674
+ *
675
+ * @li @c cancellation_type::partial
676
+ *
677
+ * if they are also supported by the socket's @c async_connect operation.
668
678
  */
669
679
  template <typename Protocol, typename Executor, typename EndpointSequence,
670
680
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
@@ -714,6 +724,16 @@ async_connect(basic_socket<Protocol, Executor>& s,
714
724
  * @note This overload assumes that a default constructed object of type @c
715
725
  * Iterator represents the end of the sequence. This is a valid assumption for
716
726
  * iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
727
+ *
728
+ * @par Per-Operation Cancellation
729
+ * This asynchronous operation supports cancellation for the following
730
+ * boost::asio::cancellation_type values:
731
+ *
732
+ * @li @c cancellation_type::terminal
733
+ *
734
+ * @li @c cancellation_type::partial
735
+ *
736
+ * if they are also supported by the socket's @c async_connect operation.
717
737
  */
718
738
  template <typename Protocol, typename Executor, typename Iterator,
719
739
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
@@ -775,6 +795,16 @@ async_connect(basic_socket<Protocol, Executor>& s, Iterator begin,
775
795
  * {
776
796
  * // ...
777
797
  * } @endcode
798
+ *
799
+ * @par Per-Operation Cancellation
800
+ * This asynchronous operation supports cancellation for the following
801
+ * boost::asio::cancellation_type values:
802
+ *
803
+ * @li @c cancellation_type::terminal
804
+ *
805
+ * @li @c cancellation_type::partial
806
+ *
807
+ * if they are also supported by the socket's @c async_connect operation.
778
808
  */
779
809
  template <typename Protocol, typename Executor, typename Iterator,
780
810
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
@@ -880,6 +910,16 @@ async_connect(basic_socket<Protocol, Executor>& s, Iterator begin, Iterator end,
880
910
  * std::cout << "Connected to: " << endpoint << std::endl;
881
911
  * }
882
912
  * } @endcode
913
+ *
914
+ * @par Per-Operation Cancellation
915
+ * This asynchronous operation supports cancellation for the following
916
+ * boost::asio::cancellation_type values:
917
+ *
918
+ * @li @c cancellation_type::terminal
919
+ *
920
+ * @li @c cancellation_type::partial
921
+ *
922
+ * if they are also supported by the socket's @c async_connect operation.
883
923
  */
884
924
  template <typename Protocol, typename Executor,
885
925
  typename EndpointSequence, typename ConnectCondition,
@@ -941,6 +981,16 @@ async_connect(basic_socket<Protocol, Executor>& s,
941
981
  * @note This overload assumes that a default constructed object of type @c
942
982
  * Iterator represents the end of the sequence. This is a valid assumption for
943
983
  * iterator types such as @c boost::asio::ip::tcp::resolver::iterator.
984
+ *
985
+ * @par Per-Operation Cancellation
986
+ * This asynchronous operation supports cancellation for the following
987
+ * boost::asio::cancellation_type values:
988
+ *
989
+ * @li @c cancellation_type::terminal
990
+ *
991
+ * @li @c cancellation_type::partial
992
+ *
993
+ * if they are also supported by the socket's @c async_connect operation.
944
994
  */
945
995
  template <typename Protocol, typename Executor,
946
996
  typename Iterator, typename ConnectCondition,
@@ -1053,6 +1103,16 @@ async_connect(basic_socket<Protocol, Executor>& s, Iterator begin,
1053
1103
  * std::cout << "Connected to: " << i->endpoint() << std::endl;
1054
1104
  * }
1055
1105
  * } @endcode
1106
+ *
1107
+ * @par Per-Operation Cancellation
1108
+ * This asynchronous operation supports cancellation for the following
1109
+ * boost::asio::cancellation_type values:
1110
+ *
1111
+ * @li @c cancellation_type::terminal
1112
+ *
1113
+ * @li @c cancellation_type::partial
1114
+ *
1115
+ * if they are also supported by the socket's @c async_connect operation.
1056
1116
  */
1057
1117
  template <typename Protocol, typename Executor,
1058
1118
  typename Iterator, typename ConnectCondition,