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,165 @@
1
+ //
2
+ // detail/base_from_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_DETAIL_BASE_FROM_CANCELLATION_STATE_HPP
12
+ #define BOOST_ASIO_DETAIL_BASE_FROM_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 <boost/asio/associated_cancellation_slot.hpp>
20
+ #include <boost/asio/cancellation_state.hpp>
21
+ #include <boost/asio/detail/type_traits.hpp>
22
+
23
+ #include <boost/asio/detail/push_options.hpp>
24
+
25
+ namespace boost {
26
+ namespace asio {
27
+ namespace detail {
28
+
29
+ template <typename Handler, typename = void>
30
+ class base_from_cancellation_state
31
+ {
32
+ public:
33
+ typedef cancellation_slot cancellation_slot_type;
34
+
35
+ cancellation_slot_type get_cancellation_slot() const BOOST_ASIO_NOEXCEPT
36
+ {
37
+ return cancellation_state_.slot();
38
+ }
39
+
40
+ cancellation_state get_cancellation_state() const BOOST_ASIO_NOEXCEPT
41
+ {
42
+ return cancellation_state_;
43
+ }
44
+
45
+ protected:
46
+ explicit base_from_cancellation_state(const Handler& handler)
47
+ : cancellation_state_(
48
+ boost::asio::get_associated_cancellation_slot(handler))
49
+ {
50
+ }
51
+
52
+ template <typename Filter>
53
+ base_from_cancellation_state(const Handler& handler, Filter filter)
54
+ : cancellation_state_(
55
+ boost::asio::get_associated_cancellation_slot(handler), filter, filter)
56
+ {
57
+ }
58
+
59
+ template <typename InFilter, typename OutFilter>
60
+ base_from_cancellation_state(const Handler& handler,
61
+ BOOST_ASIO_MOVE_ARG(InFilter) in_filter,
62
+ BOOST_ASIO_MOVE_ARG(OutFilter) out_filter)
63
+ : cancellation_state_(
64
+ boost::asio::get_associated_cancellation_slot(handler),
65
+ BOOST_ASIO_MOVE_CAST(InFilter)(in_filter),
66
+ BOOST_ASIO_MOVE_CAST(OutFilter)(out_filter))
67
+ {
68
+ }
69
+
70
+ void reset_cancellation_state(const Handler& handler)
71
+ {
72
+ cancellation_state_ = cancellation_state(
73
+ boost::asio::get_associated_cancellation_slot(handler));
74
+ }
75
+
76
+ template <typename Filter>
77
+ void reset_cancellation_state(const Handler& handler, Filter filter)
78
+ {
79
+ cancellation_state_ = cancellation_state(
80
+ boost::asio::get_associated_cancellation_slot(handler), filter, filter);
81
+ }
82
+
83
+ template <typename InFilter, typename OutFilter>
84
+ void reset_cancellation_state(const Handler& handler,
85
+ BOOST_ASIO_MOVE_ARG(InFilter) in_filter,
86
+ BOOST_ASIO_MOVE_ARG(OutFilter) out_filter)
87
+ {
88
+ cancellation_state_ = cancellation_state(
89
+ boost::asio::get_associated_cancellation_slot(handler),
90
+ BOOST_ASIO_MOVE_CAST(InFilter)(in_filter),
91
+ BOOST_ASIO_MOVE_CAST(OutFilter)(out_filter));
92
+ }
93
+
94
+ cancellation_type_t cancelled() const BOOST_ASIO_NOEXCEPT
95
+ {
96
+ return cancellation_state_.cancelled();
97
+ }
98
+
99
+ private:
100
+ cancellation_state cancellation_state_;
101
+ };
102
+
103
+ template <typename Handler>
104
+ class base_from_cancellation_state<Handler,
105
+ typename enable_if<
106
+ is_same<
107
+ typename associated_cancellation_slot<
108
+ Handler, cancellation_slot
109
+ >::asio_associated_cancellation_slot_is_unspecialised,
110
+ void
111
+ >::value
112
+ >::type>
113
+ {
114
+ public:
115
+ cancellation_state get_cancellation_state() const BOOST_ASIO_NOEXCEPT
116
+ {
117
+ return cancellation_state();
118
+ }
119
+
120
+ protected:
121
+ explicit base_from_cancellation_state(const Handler&)
122
+ {
123
+ }
124
+
125
+ template <typename Filter>
126
+ base_from_cancellation_state(const Handler&, Filter)
127
+ {
128
+ }
129
+
130
+ template <typename InFilter, typename OutFilter>
131
+ base_from_cancellation_state(const Handler&,
132
+ BOOST_ASIO_MOVE_ARG(InFilter),
133
+ BOOST_ASIO_MOVE_ARG(OutFilter))
134
+ {
135
+ }
136
+
137
+ void reset_cancellation_state(const Handler&)
138
+ {
139
+ }
140
+
141
+ template <typename Filter>
142
+ void reset_cancellation_state(const Handler&, Filter)
143
+ {
144
+ }
145
+
146
+ template <typename InFilter, typename OutFilter>
147
+ void reset_cancellation_state(const Handler&,
148
+ BOOST_ASIO_MOVE_ARG(InFilter),
149
+ BOOST_ASIO_MOVE_ARG(OutFilter))
150
+ {
151
+ }
152
+
153
+ BOOST_ASIO_CONSTEXPR cancellation_type_t cancelled() const BOOST_ASIO_NOEXCEPT
154
+ {
155
+ return cancellation_type::none;
156
+ }
157
+ };
158
+
159
+ } // namespace detail
160
+ } // namespace asio
161
+ } // namespace boost
162
+
163
+ #include <boost/asio/detail/pop_options.hpp>
164
+
165
+ #endif // BOOST_ASIO_DETAIL_BASE_FROM_CANCELLATION_STATE_HPP
@@ -16,8 +16,7 @@
16
16
  #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
17
 
18
18
  #include <boost/asio/detail/config.hpp>
19
- #include <boost/asio/associated_allocator.hpp>
20
- #include <boost/asio/associated_executor.hpp>
19
+ #include <boost/asio/associator.hpp>
21
20
  #include <boost/asio/detail/handler_alloc_helpers.hpp>
22
21
  #include <boost/asio/detail/handler_cont_helpers.hpp>
23
22
  #include <boost/asio/detail/handler_invoke_helpers.hpp>
@@ -29,6 +28,113 @@ namespace boost {
29
28
  namespace asio {
30
29
  namespace detail {
31
30
 
31
+ template <typename Handler>
32
+ class binder0
33
+ {
34
+ public:
35
+ template <typename T>
36
+ binder0(int, BOOST_ASIO_MOVE_ARG(T) handler)
37
+ : handler_(BOOST_ASIO_MOVE_CAST(T)(handler))
38
+ {
39
+ }
40
+
41
+ binder0(Handler& handler)
42
+ : handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
43
+ {
44
+ }
45
+
46
+ #if defined(BOOST_ASIO_HAS_MOVE)
47
+ binder0(const binder0& other)
48
+ : handler_(other.handler_)
49
+ {
50
+ }
51
+
52
+ binder0(binder0&& other)
53
+ : handler_(BOOST_ASIO_MOVE_CAST(Handler)(other.handler_))
54
+ {
55
+ }
56
+ #endif // defined(BOOST_ASIO_HAS_MOVE)
57
+
58
+ void operator()()
59
+ {
60
+ BOOST_ASIO_MOVE_OR_LVALUE(Handler)(handler_)();
61
+ }
62
+
63
+ void operator()() const
64
+ {
65
+ handler_();
66
+ }
67
+
68
+ //private:
69
+ Handler handler_;
70
+ };
71
+
72
+ template <typename Handler>
73
+ inline asio_handler_allocate_is_deprecated
74
+ asio_handler_allocate(std::size_t size,
75
+ binder0<Handler>* this_handler)
76
+ {
77
+ #if defined(BOOST_ASIO_NO_DEPRECATED)
78
+ boost_asio_handler_alloc_helpers::allocate(size, this_handler->handler_);
79
+ return asio_handler_allocate_is_no_longer_used();
80
+ #else // defined(BOOST_ASIO_NO_DEPRECATED)
81
+ return boost_asio_handler_alloc_helpers::allocate(
82
+ size, this_handler->handler_);
83
+ #endif // defined(BOOST_ASIO_NO_DEPRECATED)
84
+ }
85
+
86
+ template <typename Handler>
87
+ inline asio_handler_deallocate_is_deprecated
88
+ asio_handler_deallocate(void* pointer, std::size_t size,
89
+ binder0<Handler>* this_handler)
90
+ {
91
+ boost_asio_handler_alloc_helpers::deallocate(
92
+ pointer, size, this_handler->handler_);
93
+ #if defined(BOOST_ASIO_NO_DEPRECATED)
94
+ return asio_handler_deallocate_is_no_longer_used();
95
+ #endif // defined(BOOST_ASIO_NO_DEPRECATED)
96
+ }
97
+
98
+ template <typename Handler>
99
+ inline bool asio_handler_is_continuation(
100
+ binder0<Handler>* this_handler)
101
+ {
102
+ return boost_asio_handler_cont_helpers::is_continuation(
103
+ this_handler->handler_);
104
+ }
105
+
106
+ template <typename Function, typename Handler>
107
+ inline asio_handler_invoke_is_deprecated
108
+ asio_handler_invoke(Function& function,
109
+ binder0<Handler>* this_handler)
110
+ {
111
+ boost_asio_handler_invoke_helpers::invoke(
112
+ function, this_handler->handler_);
113
+ #if defined(BOOST_ASIO_NO_DEPRECATED)
114
+ return asio_handler_invoke_is_no_longer_used();
115
+ #endif // defined(BOOST_ASIO_NO_DEPRECATED)
116
+ }
117
+
118
+ template <typename Function, typename Handler>
119
+ inline asio_handler_invoke_is_deprecated
120
+ asio_handler_invoke(const Function& function,
121
+ binder0<Handler>* this_handler)
122
+ {
123
+ boost_asio_handler_invoke_helpers::invoke(
124
+ function, this_handler->handler_);
125
+ #if defined(BOOST_ASIO_NO_DEPRECATED)
126
+ return asio_handler_invoke_is_no_longer_used();
127
+ #endif // defined(BOOST_ASIO_NO_DEPRECATED)
128
+ }
129
+
130
+ template <typename Handler>
131
+ inline binder0<typename decay<Handler>::type> bind_handler(
132
+ BOOST_ASIO_MOVE_ARG(Handler) handler)
133
+ {
134
+ return binder0<typename decay<Handler>::type>(
135
+ 0, BOOST_ASIO_MOVE_CAST(Handler)(handler));
136
+ }
137
+
32
138
  template <typename Handler, typename Arg1>
33
139
  class binder1
34
140
  {
@@ -62,7 +168,8 @@ public:
62
168
 
63
169
  void operator()()
64
170
  {
65
- handler_(static_cast<const Arg1&>(arg1_));
171
+ BOOST_ASIO_MOVE_OR_LVALUE(Handler)(handler_)(
172
+ static_cast<const Arg1&>(arg1_));
66
173
  }
67
174
 
68
175
  void operator()() const
@@ -179,7 +286,8 @@ public:
179
286
 
180
287
  void operator()()
181
288
  {
182
- handler_(static_cast<const Arg1&>(arg1_),
289
+ BOOST_ASIO_MOVE_OR_LVALUE(Handler)(handler_)(
290
+ static_cast<const Arg1&>(arg1_),
183
291
  static_cast<const Arg2&>(arg2_));
184
292
  }
185
293
 
@@ -303,8 +411,10 @@ public:
303
411
 
304
412
  void operator()()
305
413
  {
306
- handler_(static_cast<const Arg1&>(arg1_),
307
- static_cast<const Arg2&>(arg2_), static_cast<const Arg3&>(arg3_));
414
+ BOOST_ASIO_MOVE_OR_LVALUE(Handler)(handler_)(
415
+ static_cast<const Arg1&>(arg1_),
416
+ static_cast<const Arg2&>(arg2_),
417
+ static_cast<const Arg3&>(arg3_));
308
418
  }
309
419
 
310
420
  void operator()() const
@@ -436,8 +546,10 @@ public:
436
546
 
437
547
  void operator()()
438
548
  {
439
- handler_(static_cast<const Arg1&>(arg1_),
440
- static_cast<const Arg2&>(arg2_), static_cast<const Arg3&>(arg3_),
549
+ BOOST_ASIO_MOVE_OR_LVALUE(Handler)(handler_)(
550
+ static_cast<const Arg1&>(arg1_),
551
+ static_cast<const Arg2&>(arg2_),
552
+ static_cast<const Arg3&>(arg3_),
441
553
  static_cast<const Arg4&>(arg4_));
442
554
  }
443
555
 
@@ -579,9 +691,12 @@ public:
579
691
 
580
692
  void operator()()
581
693
  {
582
- handler_(static_cast<const Arg1&>(arg1_),
583
- static_cast<const Arg2&>(arg2_), static_cast<const Arg3&>(arg3_),
584
- static_cast<const Arg4&>(arg4_), static_cast<const Arg5&>(arg5_));
694
+ BOOST_ASIO_MOVE_OR_LVALUE(Handler)(handler_)(
695
+ static_cast<const Arg1&>(arg1_),
696
+ static_cast<const Arg2&>(arg2_),
697
+ static_cast<const Arg3&>(arg3_),
698
+ static_cast<const Arg4&>(arg4_),
699
+ static_cast<const Arg5&>(arg5_));
585
700
  }
586
701
 
587
702
  void operator()() const
@@ -692,7 +807,8 @@ public:
692
807
 
693
808
  void operator()()
694
809
  {
695
- handler_(BOOST_ASIO_MOVE_CAST(Arg1)(arg1_));
810
+ BOOST_ASIO_MOVE_OR_LVALUE(Handler)(handler_)(
811
+ BOOST_ASIO_MOVE_CAST(Arg1)(arg1_));
696
812
  }
697
813
 
698
814
  //private:
@@ -767,7 +883,8 @@ public:
767
883
 
768
884
  void operator()()
769
885
  {
770
- handler_(static_cast<const Arg1&>(arg1_),
886
+ BOOST_ASIO_MOVE_OR_LVALUE(Handler)(handler_)(
887
+ static_cast<const Arg1&>(arg1_),
771
888
  BOOST_ASIO_MOVE_CAST(Arg2)(arg2_));
772
889
  }
773
890
 
@@ -827,106 +944,122 @@ asio_handler_invoke(BOOST_ASIO_MOVE_ARG(Function) function,
827
944
 
828
945
  } // namespace detail
829
946
 
830
- template <typename Handler, typename Arg1, typename Allocator>
831
- struct associated_allocator<detail::binder1<Handler, Arg1>, Allocator>
947
+ template <template <typename, typename> class Associator,
948
+ typename Handler, typename DefaultCandidate>
949
+ struct associator<Associator,
950
+ detail::binder0<Handler>, DefaultCandidate>
951
+ : Associator<Handler, DefaultCandidate>
832
952
  {
833
- typedef typename associated_allocator<Handler, Allocator>::type type;
834
-
835
- static type get(const detail::binder1<Handler, Arg1>& h,
836
- const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
953
+ static typename Associator<Handler, DefaultCandidate>::type get(
954
+ const detail::binder0<Handler>& h,
955
+ const DefaultCandidate& c = DefaultCandidate()) BOOST_ASIO_NOEXCEPT
837
956
  {
838
- return associated_allocator<Handler, Allocator>::get(h.handler_, a);
957
+ return Associator<Handler, DefaultCandidate>::get(h.handler_, c);
839
958
  }
840
959
  };
841
960
 
842
- template <typename Handler, typename Arg1, typename Arg2, typename Allocator>
843
- struct associated_allocator<detail::binder2<Handler, Arg1, Arg2>, Allocator>
961
+ template <template <typename, typename> class Associator,
962
+ typename Handler, typename Arg1, typename DefaultCandidate>
963
+ struct associator<Associator,
964
+ detail::binder1<Handler, Arg1>, DefaultCandidate>
965
+ : Associator<Handler, DefaultCandidate>
844
966
  {
845
- typedef typename associated_allocator<Handler, Allocator>::type type;
846
-
847
- static type get(const detail::binder2<Handler, Arg1, Arg2>& h,
848
- const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
967
+ static typename Associator<Handler, DefaultCandidate>::type get(
968
+ const detail::binder1<Handler, Arg1>& h,
969
+ const DefaultCandidate& c = DefaultCandidate()) BOOST_ASIO_NOEXCEPT
849
970
  {
850
- return associated_allocator<Handler, Allocator>::get(h.handler_, a);
971
+ return Associator<Handler, DefaultCandidate>::get(h.handler_, c);
851
972
  }
852
973
  };
853
974
 
854
- template <typename Handler, typename Arg1, typename Executor>
855
- struct associated_executor<detail::binder1<Handler, Arg1>, Executor>
856
- : detail::associated_executor_forwarding_base<Handler, Executor>
975
+ template <template <typename, typename> class Associator,
976
+ typename Handler, typename Arg1, typename Arg2,
977
+ typename DefaultCandidate>
978
+ struct associator<Associator,
979
+ detail::binder2<Handler, Arg1, Arg2>, DefaultCandidate>
980
+ : Associator<Handler, DefaultCandidate>
857
981
  {
858
- typedef typename associated_executor<Handler, Executor>::type type;
859
-
860
- static type get(const detail::binder1<Handler, Arg1>& h,
861
- const Executor& ex = Executor()) BOOST_ASIO_NOEXCEPT
982
+ static typename Associator<Handler, DefaultCandidate>::type get(
983
+ const detail::binder2<Handler, Arg1, Arg2>& h,
984
+ const DefaultCandidate& c = DefaultCandidate()) BOOST_ASIO_NOEXCEPT
862
985
  {
863
- return associated_executor<Handler, Executor>::get(h.handler_, ex);
986
+ return Associator<Handler, DefaultCandidate>::get(h.handler_, c);
864
987
  }
865
988
  };
866
989
 
867
- template <typename Handler, typename Arg1, typename Arg2, typename Executor>
868
- struct associated_executor<detail::binder2<Handler, Arg1, Arg2>, Executor>
869
- : detail::associated_executor_forwarding_base<Handler, Executor>
990
+ template <template <typename, typename> class Associator,
991
+ typename Handler, typename Arg1, typename Arg2, typename Arg3,
992
+ typename DefaultCandidate>
993
+ struct associator<Associator,
994
+ detail::binder3<Handler, Arg1, Arg2, Arg3>, DefaultCandidate>
995
+ : Associator<Handler, DefaultCandidate>
870
996
  {
871
- typedef typename associated_executor<Handler, Executor>::type type;
872
-
873
- static type get(const detail::binder2<Handler, Arg1, Arg2>& h,
874
- const Executor& ex = Executor()) BOOST_ASIO_NOEXCEPT
997
+ static typename Associator<Handler, DefaultCandidate>::type get(
998
+ const detail::binder3<Handler, Arg1, Arg2, Arg3>& h,
999
+ const DefaultCandidate& c = DefaultCandidate()) BOOST_ASIO_NOEXCEPT
875
1000
  {
876
- return associated_executor<Handler, Executor>::get(h.handler_, ex);
1001
+ return Associator<Handler, DefaultCandidate>::get(h.handler_, c);
877
1002
  }
878
1003
  };
879
1004
 
880
- #if defined(BOOST_ASIO_HAS_MOVE)
881
-
882
- template <typename Handler, typename Arg1, typename Allocator>
883
- struct associated_allocator<detail::move_binder1<Handler, Arg1>, Allocator>
1005
+ template <template <typename, typename> class Associator,
1006
+ typename Handler, typename Arg1, typename Arg2, typename Arg3,
1007
+ typename Arg4, typename DefaultCandidate>
1008
+ struct associator<Associator,
1009
+ detail::binder4<Handler, Arg1, Arg2, Arg3, Arg4>, DefaultCandidate>
1010
+ : Associator<Handler, DefaultCandidate>
884
1011
  {
885
- typedef typename associated_allocator<Handler, Allocator>::type type;
886
-
887
- static type get(const detail::move_binder1<Handler, Arg1>& h,
888
- const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
1012
+ static typename Associator<Handler, DefaultCandidate>::type get(
1013
+ const detail::binder4<Handler, Arg1, Arg2, Arg3, Arg4>& h,
1014
+ const DefaultCandidate& c = DefaultCandidate()) BOOST_ASIO_NOEXCEPT
889
1015
  {
890
- return associated_allocator<Handler, Allocator>::get(h.handler_, a);
1016
+ return Associator<Handler, DefaultCandidate>::get(h.handler_, c);
891
1017
  }
892
1018
  };
893
1019
 
894
- template <typename Handler, typename Arg1, typename Arg2, typename Allocator>
895
- struct associated_allocator<
896
- detail::move_binder2<Handler, Arg1, Arg2>, Allocator>
1020
+ template <template <typename, typename> class Associator,
1021
+ typename Handler, typename Arg1, typename Arg2, typename Arg3,
1022
+ typename Arg4, typename Arg5, typename DefaultCandidate>
1023
+ struct associator<Associator,
1024
+ detail::binder5<Handler, Arg1, Arg2, Arg3, Arg4, Arg5>, DefaultCandidate>
1025
+ : Associator<Handler, DefaultCandidate>
897
1026
  {
898
- typedef typename associated_allocator<Handler, Allocator>::type type;
899
-
900
- static type get(const detail::move_binder2<Handler, Arg1, Arg2>& h,
901
- const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
1027
+ static typename Associator<Handler, DefaultCandidate>::type get(
1028
+ const detail::binder5<Handler, Arg1, Arg2, Arg3, Arg4, Arg5>& h,
1029
+ const DefaultCandidate& c = DefaultCandidate()) BOOST_ASIO_NOEXCEPT
902
1030
  {
903
- return associated_allocator<Handler, Allocator>::get(h.handler_, a);
1031
+ return Associator<Handler, DefaultCandidate>::get(h.handler_, c);
904
1032
  }
905
1033
  };
906
1034
 
907
- template <typename Handler, typename Arg1, typename Executor>
908
- struct associated_executor<detail::move_binder1<Handler, Arg1>, Executor>
909
- : detail::associated_executor_forwarding_base<Handler, Executor>
910
- {
911
- typedef typename associated_executor<Handler, Executor>::type type;
1035
+ #if defined(BOOST_ASIO_HAS_MOVE)
912
1036
 
913
- static type get(const detail::move_binder1<Handler, Arg1>& h,
914
- const Executor& ex = Executor()) BOOST_ASIO_NOEXCEPT
1037
+ template <template <typename, typename> class Associator,
1038
+ typename Handler, typename Arg1, typename DefaultCandidate>
1039
+ struct associator<Associator,
1040
+ detail::move_binder1<Handler, Arg1>, DefaultCandidate>
1041
+ : Associator<Handler, DefaultCandidate>
1042
+ {
1043
+ static typename Associator<Handler, DefaultCandidate>::type get(
1044
+ const detail::move_binder1<Handler, Arg1>& h,
1045
+ const DefaultCandidate& c = DefaultCandidate()) BOOST_ASIO_NOEXCEPT
915
1046
  {
916
- return associated_executor<Handler, Executor>::get(h.handler_, ex);
1047
+ return Associator<Handler, DefaultCandidate>::get(h.handler_, c);
917
1048
  }
918
1049
  };
919
1050
 
920
- template <typename Handler, typename Arg1, typename Arg2, typename Executor>
921
- struct associated_executor<detail::move_binder2<Handler, Arg1, Arg2>, Executor>
922
- : detail::associated_executor_forwarding_base<Handler, Executor>
1051
+ template <template <typename, typename> class Associator,
1052
+ typename Handler, typename Arg1, typename Arg2,
1053
+ typename DefaultCandidate>
1054
+ struct associator<Associator,
1055
+ detail::move_binder2<Handler, Arg1, Arg2>, DefaultCandidate>
1056
+ : Associator<Handler, DefaultCandidate>
923
1057
  {
924
- typedef typename associated_executor<Handler, Executor>::type type;
925
-
926
- static type get(const detail::move_binder2<Handler, Arg1, Arg2>& h,
927
- const Executor& ex = Executor()) BOOST_ASIO_NOEXCEPT
1058
+ static typename Associator<Handler, DefaultCandidate>::type get(
1059
+ const detail::move_binder2<Handler, Arg1, Arg2>& h,
1060
+ const DefaultCandidate& c = DefaultCandidate()) BOOST_ASIO_NOEXCEPT
928
1061
  {
929
- return associated_executor<Handler, Executor>::get(h.handler_, ex);
1062
+ return Associator<Handler, DefaultCandidate>::get(h.handler_, c);
930
1063
  }
931
1064
  };
932
1065