passenger 6.0.1 → 6.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +145 -18
  3. data/CONTRIBUTORS +6 -0
  4. data/bin/passenger-install-nginx-module +1 -1
  5. data/bin/passenger-status +15 -0
  6. data/build/misc.rb +3 -1
  7. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +56 -3
  8. data/dev/copy_boost_headers +1 -0
  9. data/package.json +1 -1
  10. data/passenger.gemspec +9 -1
  11. data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.css +0 -0
  12. data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.js +0 -0
  13. data/resources/templates/error_renderer/with_details/src/bootstrap/config.json +0 -0
  14. data/resources/templates/standalone/http.erb +2 -0
  15. data/resources/templates/standalone/server.erb +1 -0
  16. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
  17. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +1 -0
  18. data/src/agent/Core/ApplicationPool/Options.h +10 -0
  19. data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
  20. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
  21. data/src/agent/Core/Config.h +14 -1
  22. data/src/agent/Core/Controller.h +1 -0
  23. data/src/agent/Core/Controller/Config.h +5 -1
  24. data/src/agent/Core/Controller/ForwardResponse.cpp +13 -0
  25. data/src/agent/Core/Controller/InitRequest.cpp +3 -0
  26. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -0
  27. data/src/agent/Core/CoreMain.cpp +2 -1
  28. data/src/agent/Core/OptionParser.h +3 -0
  29. data/src/agent/Core/SpawningKit/Context.h +1 -0
  30. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
  31. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
  32. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +2 -0
  33. data/src/agent/Watchdog/Config.h +15 -1
  34. data/src/agent/Watchdog/WatchdogMain.cpp +7 -0
  35. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +10 -0
  36. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +10 -0
  37. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +30 -0
  38. data/src/apache2_module/Hooks.cpp +6 -0
  39. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +20 -0
  40. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +24 -0
  41. data/src/cxx_supportlib/Constants.h +2 -1
  42. data/src/cxx_supportlib/LoggingKit/Config.h +2 -0
  43. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +15 -9
  44. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
  45. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +20 -19
  46. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +11 -7
  47. data/src/cxx_supportlib/oxt/system_calls.cpp +10 -10
  48. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +0 -4
  49. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +46 -37
  50. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +16 -15
  51. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +45 -26
  52. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +33 -0
  53. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +1 -1
  54. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +38 -14
  55. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +2 -0
  56. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +1 -1
  57. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +3 -1
  58. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -1
  59. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +6 -1
  60. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -4
  61. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +4 -4
  62. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +3 -3
  63. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +4 -4
  64. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +4 -4
  65. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +8 -6
  66. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +17 -0
  67. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +50 -5
  68. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +2 -1
  69. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +1 -1
  70. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +3 -2
  71. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
  72. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +4 -3
  73. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +5 -3
  74. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +13 -12
  75. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +10 -10
  76. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +34 -34
  77. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/thread_clock.hpp +4 -4
  78. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +8 -8
  79. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +27 -27
  80. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/thread_clock.hpp +4 -4
  81. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +5 -4
  82. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +1 -1
  83. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +3 -3
  84. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +89 -0
  85. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +83 -74
  86. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -33
  87. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +5 -5
  88. data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
  89. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -3
  90. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/has_constraints.hpp +3 -3
  91. data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +1 -1
  92. data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +19 -19
  93. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -0
  94. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +5 -2
  95. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +5 -1
  96. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +6 -2
  97. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/comeau.hpp +1 -1
  98. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -0
  99. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +368 -52
  100. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -1
  101. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +6 -3
  102. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -0
  103. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/greenhills.hpp +1 -1
  104. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +1 -1
  105. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +6 -1
  106. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
  107. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -1
  108. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -1
  109. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -3
  110. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
  111. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
  112. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -1
  113. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +9 -4
  114. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
  115. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
  116. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -2
  117. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +13 -0
  118. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +2 -2
  119. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +14 -4
  120. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -4
  121. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +262 -2
  122. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +4 -3
  123. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +1 -1
  124. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +7 -0
  125. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +22 -19
  126. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +833 -459
  127. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +24 -6
  128. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +2 -1
  129. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +61 -5
  130. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +33 -8
  131. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +132 -41
  132. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +16 -0
  133. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +54 -0
  134. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +58 -0
  135. data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +28 -23
  136. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +167 -115
  137. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +55 -0
  138. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
  139. data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +181 -0
  140. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +167 -29
  141. data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -0
  142. data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +1 -1
  143. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +18 -0
  144. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +389 -3
  145. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +262 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +52 -8
  147. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +364 -0
  148. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +4 -2
  149. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
  150. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +3 -2
  151. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +286 -6
  152. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +56 -8
  153. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +43 -6
  154. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +100 -31
  155. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +2 -1
  156. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +126 -69
  157. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +75 -51
  158. data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +136 -0
  159. data/src/cxx_supportlib/vendor-modified/boost/core/exchange.hpp +49 -0
  160. data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +9 -0
  161. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +101 -130
  162. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +2 -2
  163. data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +16 -1
  164. data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +59 -0
  165. data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -1
  166. data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +9 -2
  167. data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +26 -10
  168. data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +5 -0
  169. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +3 -3
  170. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +1 -1
  171. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -1
  172. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +38 -47
  173. data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +5 -5
  174. data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +7 -7
  175. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +62 -58
  176. data/src/cxx_supportlib/vendor-modified/boost/function.hpp +1 -1
  177. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +29 -29
  178. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +38 -40
  179. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +4 -4
  180. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +44 -44
  181. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +39 -39
  182. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +15 -15
  183. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +7 -7
  184. data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
  185. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +14 -14
  186. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +9 -9
  187. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
  188. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +1 -1
  189. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +2 -2
  190. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +2 -2
  191. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +6 -6
  192. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
  193. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +1 -1
  194. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +1 -1
  195. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +1 -1
  196. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +3 -3
  197. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +33 -14
  198. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +12 -12
  199. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +4 -4
  200. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +3 -0
  201. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +39 -39
  202. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +61 -61
  203. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +4 -4
  204. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +66 -66
  205. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +54 -54
  206. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +6 -2
  207. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +3 -3
  208. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +1 -1
  209. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +65 -0
  210. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
  211. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
  212. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +23 -23
  213. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +4 -4
  214. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +13 -13
  215. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  216. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +5 -4
  217. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  218. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +5 -5
  219. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +5 -2
  220. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +18 -13
  221. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +4 -4
  222. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +16 -5
  223. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +1 -1
  224. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +14 -8
  225. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/tss_null.cpp +2 -2
  226. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +13 -13
  227. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +27 -0
  228. data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +1 -1
  229. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +29 -6
  230. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +12 -3
  231. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +1 -1
  232. data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +1 -1
  233. data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -1
  234. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +8 -8
  235. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -0
  236. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +3 -3
  237. data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +23 -3
  238. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +9 -3
  239. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -11
  240. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +20 -1
  241. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
  242. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +211 -101
  243. data/src/cxx_supportlib/vendor-modified/boost/parameter/python.hpp +5 -6
  244. data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +119 -25
  245. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
  246. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +5 -0
  247. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +44 -0
  248. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +1 -0
  249. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +1 -1
  250. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +73 -0
  251. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +3 -1
  252. data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +1 -0
  253. data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +52 -0
  254. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
  255. data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +6 -1
  256. data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +1 -2
  257. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  258. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +17 -8
  259. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +4 -0
  260. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +4 -0
  261. data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +166 -0
  262. data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +513 -0
  263. data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +291 -0
  264. data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +4106 -0
  265. data/src/cxx_supportlib/vendor-modified/boost/random/faure.hpp +367 -0
  266. data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +360 -0
  267. data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +237 -0
  268. data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +43 -0
  269. data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +13 -5
  270. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
  271. data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +1 -3
  272. data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +2 -2
  273. data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +11 -5
  274. data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +14 -6
  275. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +3 -3
  276. data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +6 -2
  277. data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +55 -37
  278. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +3 -2
  279. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -1
  280. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +7 -1
  281. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +3 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +5 -2
  283. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -3
  284. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +15 -4
  285. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -2
  286. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +12 -3
  287. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
  288. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +7 -3
  289. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +6 -2
  290. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -5
  291. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -8
  292. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +3 -3
  293. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +3 -1
  294. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -8
  295. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +12 -11
  296. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -4
  297. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +1 -9
  298. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +2 -10
  299. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -0
  300. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +60 -115
  301. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +3 -3
  302. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +2 -1
  303. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +2 -1
  304. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +2 -1
  305. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +2 -1
  306. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +2 -1
  307. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +2 -1
  308. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +2 -1
  309. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +2 -1
  310. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +2 -1
  311. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +2 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +2 -1
  313. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +2 -1
  314. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +2 -1
  315. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +2 -1
  316. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +2 -1
  317. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +2 -1
  318. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +2 -1
  319. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +2 -1
  320. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +3 -3
  321. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -8
  322. data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +4 -24
  323. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +57 -0
  324. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +101 -0
  325. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +141 -0
  326. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_posix.hpp +132 -0
  327. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +775 -588
  328. data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
  329. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +6 -0
  330. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +13 -6
  331. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +8 -3
  332. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +3 -1
  333. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_safety.hpp +160 -0
  334. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/tss_hooks.hpp +2 -2
  335. data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +3 -3
  336. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +24 -1
  337. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +10 -1
  338. data/src/cxx_supportlib/vendor-modified/boost/thread/lock_guard.hpp +4 -4
  339. data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_traits.hpp +31 -0
  340. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +2 -2
  341. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +2 -2
  342. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +8 -53
  343. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +73 -4
  344. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +6 -6
  345. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +14 -9
  346. data/src/cxx_supportlib/vendor-modified/boost/thread/xtime.hpp +6 -6
  347. data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +9 -8
  348. data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +1 -0
  349. data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +21 -19
  350. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +3 -1
  351. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +9 -0
  352. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +1 -1
  353. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +55 -0
  354. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +72 -0
  355. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +108 -0
  356. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +501 -0
  357. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_msvc10_fix.hpp +30 -0
  358. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -2
  359. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +117 -0
  360. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +557 -0
  361. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +43 -0
  362. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +1 -1
  363. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +1 -1
  364. data/src/cxx_supportlib/vendor-modified/boost/type_traits/enable_if.hpp +37 -0
  365. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +344 -0
  366. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +5 -0
  367. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +5 -0
  368. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +5 -0
  369. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +21 -0
  370. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +21 -0
  371. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +21 -0
  372. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +22 -0
  373. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -1
  374. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +2 -1
  375. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +5 -15
  376. data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +16 -6
  377. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +3 -1
  378. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +3 -4
  379. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +4 -6
  380. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +1 -1
  381. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +1 -1
  382. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +1 -1
  383. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +1 -1
  384. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +4 -79
  385. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +3 -97
  386. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_noncopyable.hpp +39 -0
  387. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +2 -2
  388. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -2
  389. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -0
  390. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +104 -63
  391. data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +1 -1
  392. data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +1 -1
  393. data/src/cxx_supportlib/vendor-modified/boost/typeof/constant.hpp +26 -0
  394. data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +4 -4
  395. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -3
  396. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +1 -1
  397. data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +4 -5
  398. data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +5 -5
  399. data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +9 -9
  400. data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +3 -3
  401. data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +2 -2
  402. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +6 -6
  403. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +1 -1
  404. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +4 -4
  405. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +2 -2
  406. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +2 -2
  407. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +16 -16
  408. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +5 -5
  409. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +201 -201
  410. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +301 -301
  411. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +401 -401
  412. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +101 -101
  413. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +3 -0
  414. data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +2 -0
  415. data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +26 -6
  416. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  417. data/src/helper-scripts/prespawn +1 -0
  418. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +40 -0
  419. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +26 -0
  420. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +48 -0
  421. data/src/nginx_module/Configuration.c +6 -2
  422. data/src/nginx_module/ContentHandler.c +5 -1
  423. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +15 -0
  424. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +15 -0
  425. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +28 -0
  426. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +6 -0
  427. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +11 -0
  428. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +11 -0
  429. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +23 -0
  430. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +8 -0
  431. data/src/nginx_module/ngx_http_passenger_module.c +2 -0
  432. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +0 -0
  433. data/src/ruby_native_extension/extconf.rb +7 -0
  434. data/src/ruby_supportlib/phusion_passenger.rb +7 -7
  435. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +8 -0
  436. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +23 -0
  437. data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -0
  438. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +1 -3
  439. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +37 -0
  440. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +1 -1
  441. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +10 -0
  442. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +2 -2
  443. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +5 -0
  444. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +11 -0
  445. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +3 -0
  446. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +1 -1
  447. data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +6 -0
  448. data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +15 -11
  449. metadata +42 -8
  450. data/src/cxx_supportlib/vendor-modified/boost/call_traits.hpp +0 -20
  451. data/src/cxx_supportlib/vendor-modified/boost/detail/call_traits.hpp +0 -172
  452. data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +0 -17
  453. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +0 -496
@@ -1,20 +0,0 @@
1
- // (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
2
- // Use, modification and distribution are subject to the Boost Software License,
3
- // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4
- // http://www.boost.org/LICENSE_1_0.txt).
5
- //
6
- // See http://www.boost.org/libs/utility for most recent version including documentation.
7
-
8
- // See boost/detail/call_traits.hpp
9
- // for full copyright notices.
10
-
11
- #ifndef BOOST_CALL_TRAITS_HPP
12
- #define BOOST_CALL_TRAITS_HPP
13
-
14
- #ifndef BOOST_CONFIG_HPP
15
- #include <boost/config.hpp>
16
- #endif
17
-
18
- #include <boost/detail/call_traits.hpp>
19
-
20
- #endif // BOOST_CALL_TRAITS_HPP
@@ -1,172 +0,0 @@
1
- // (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
2
- // Use, modification and distribution are subject to the Boost Software License,
3
- // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4
- // http://www.boost.org/LICENSE_1_0.txt).
5
- //
6
- // See http://www.boost.org/libs/utility for most recent version including documentation.
7
-
8
- // call_traits: defines typedefs for function usage
9
- // (see libs/utility/call_traits.htm)
10
-
11
- /* Release notes:
12
- 23rd July 2000:
13
- Fixed array specialization. (JM)
14
- Added Borland specific fixes for reference types
15
- (issue raised by Steve Cleary).
16
- */
17
-
18
- #ifndef BOOST_DETAIL_CALL_TRAITS_HPP
19
- #define BOOST_DETAIL_CALL_TRAITS_HPP
20
-
21
- #ifndef BOOST_CONFIG_HPP
22
- #include <boost/config.hpp>
23
- #endif
24
- #include <cstddef>
25
-
26
- #include <boost/type_traits/is_arithmetic.hpp>
27
- #include <boost/type_traits/is_enum.hpp>
28
- #include <boost/type_traits/is_pointer.hpp>
29
- #include <boost/detail/workaround.hpp>
30
-
31
- namespace boost{
32
-
33
- namespace detail{
34
-
35
- template <typename T, bool small_>
36
- struct ct_imp2
37
- {
38
- typedef const T& param_type;
39
- };
40
-
41
- template <typename T>
42
- struct ct_imp2<T, true>
43
- {
44
- typedef const T param_type;
45
- };
46
-
47
- template <typename T, bool isp, bool b1, bool b2>
48
- struct ct_imp
49
- {
50
- typedef const T& param_type;
51
- };
52
-
53
- template <typename T, bool isp, bool b2>
54
- struct ct_imp<T, isp, true, b2>
55
- {
56
- typedef typename ct_imp2<T, sizeof(T) <= sizeof(void*)>::param_type param_type;
57
- };
58
-
59
- template <typename T, bool isp, bool b1>
60
- struct ct_imp<T, isp, b1, true>
61
- {
62
- typedef typename ct_imp2<T, sizeof(T) <= sizeof(void*)>::param_type param_type;
63
- };
64
-
65
- template <typename T, bool b1, bool b2>
66
- struct ct_imp<T, true, b1, b2>
67
- {
68
- typedef const T param_type;
69
- };
70
-
71
- }
72
-
73
- template <typename T>
74
- struct call_traits
75
- {
76
- public:
77
- typedef T value_type;
78
- typedef T& reference;
79
- typedef const T& const_reference;
80
- //
81
- // C++ Builder workaround: we should be able to define a compile time
82
- // constant and pass that as a single template parameter to ct_imp<T,bool>,
83
- // however compiler bugs prevent this - instead pass three bool's to
84
- // ct_imp<T,bool,bool,bool> and add an extra partial specialisation
85
- // of ct_imp to handle the logic. (JM)
86
- typedef typename boost::detail::ct_imp<
87
- T,
88
- ::boost::is_pointer<T>::value,
89
- ::boost::is_arithmetic<T>::value,
90
- ::boost::is_enum<T>::value
91
- >::param_type param_type;
92
- };
93
-
94
- template <typename T>
95
- struct call_traits<T&>
96
- {
97
- typedef T& value_type;
98
- typedef T& reference;
99
- typedef const T& const_reference;
100
- typedef T& param_type; // hh removed const
101
- };
102
-
103
- #if BOOST_WORKAROUND( __BORLANDC__, < 0x5A0 )
104
- // these are illegal specialisations; cv-qualifies applied to
105
- // references have no effect according to [8.3.2p1],
106
- // C++ Builder requires them though as it treats cv-qualified
107
- // references as distinct types...
108
- template <typename T>
109
- struct call_traits<T&const>
110
- {
111
- typedef T& value_type;
112
- typedef T& reference;
113
- typedef const T& const_reference;
114
- typedef T& param_type; // hh removed const
115
- };
116
- template <typename T>
117
- struct call_traits<T&volatile>
118
- {
119
- typedef T& value_type;
120
- typedef T& reference;
121
- typedef const T& const_reference;
122
- typedef T& param_type; // hh removed const
123
- };
124
- template <typename T>
125
- struct call_traits<T&const volatile>
126
- {
127
- typedef T& value_type;
128
- typedef T& reference;
129
- typedef const T& const_reference;
130
- typedef T& param_type; // hh removed const
131
- };
132
-
133
- template <typename T>
134
- struct call_traits< T * >
135
- {
136
- typedef T * value_type;
137
- typedef T * & reference;
138
- typedef T * const & const_reference;
139
- typedef T * const param_type; // hh removed const
140
- };
141
- #endif
142
- #if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
143
- template <typename T, std::size_t N>
144
- struct call_traits<T [N]>
145
- {
146
- private:
147
- typedef T array_type[N];
148
- public:
149
- // degrades array to pointer:
150
- typedef const T* value_type;
151
- typedef array_type& reference;
152
- typedef const array_type& const_reference;
153
- typedef const T* const param_type;
154
- };
155
-
156
- template <typename T, std::size_t N>
157
- struct call_traits<const T [N]>
158
- {
159
- private:
160
- typedef const T array_type[N];
161
- public:
162
- // degrades array to pointer:
163
- typedef const T* value_type;
164
- typedef array_type& reference;
165
- typedef const array_type& const_reference;
166
- typedef const T* const param_type;
167
- };
168
- #endif
169
-
170
- }
171
-
172
- #endif // BOOST_DETAIL_CALL_TRAITS_HPP
@@ -1,17 +0,0 @@
1
- /*
2
- * Copyright (c) 2014 Glen Fernandes
3
- *
4
- * Distributed under the Boost Software License, Version 1.0. (See
5
- * accompanying file LICENSE_1_0.txt or copy at
6
- * http://www.boost.org/LICENSE_1_0.txt)
7
- */
8
-
9
- #ifndef BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP
10
- #define BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP
11
-
12
- // The header file at this path is deprecated;
13
- // use boost/core/no_exceptions_support.hpp instead.
14
-
15
- #include <boost/core/no_exceptions_support.hpp>
16
-
17
- #endif
@@ -1,496 +0,0 @@
1
- // error_code support implementation file --------------------------------------------//
2
-
3
- // Copyright Beman Dawes 2002, 2006
4
- // Copyright (c) Microsoft Corporation 2014
5
- // Distributed under the Boost Software License, Version 1.0. (See accompanying
6
- // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7
-
8
- // See library home page at http://www.boost.org/libs/system
9
-
10
- //--------------------------------------------------------------------------------------//
11
-
12
- #include <boost/config/warning_disable.hpp>
13
-
14
- #include <boost/system/config.hpp>
15
- #include <boost/system/error_code.hpp>
16
- #include <boost/cerrno.hpp>
17
- #include <vector>
18
- #include <cstdlib>
19
- #include <cassert>
20
-
21
- #include <cstring> // for strerror/strerror_r
22
-
23
- # if defined( BOOST_WINDOWS_API )
24
- # include <boost/winapi/error_codes.hpp>
25
- # include <boost/winapi/error_handling.hpp>
26
- # include <boost/winapi/character_code_conversion.hpp>
27
- # if !BOOST_PLAT_WINDOWS_RUNTIME
28
- # include <boost/system/detail/local_free_on_destruction.hpp>
29
- # endif
30
- # ifndef ERROR_INCORRECT_SIZE
31
- # define ERROR_INCORRECT_SIZE ERROR_BAD_ARGUMENTS
32
- # endif
33
- # endif
34
-
35
- //--------------------------------------------------------------------------------------//
36
- namespace boost
37
- {
38
- namespace system
39
- {
40
-
41
- namespace detail
42
- {
43
-
44
- // standard error categories -------------------------------------------------------//
45
-
46
- class generic_error_category : public error_category
47
- {
48
- public:
49
- generic_error_category(){}
50
- const char * name() const BOOST_SYSTEM_NOEXCEPT;
51
- std::string message( int ev ) const;
52
- };
53
-
54
- class system_error_category : public error_category
55
- {
56
- public:
57
- system_error_category(){}
58
- const char * name() const BOOST_SYSTEM_NOEXCEPT;
59
- std::string message( int ev ) const;
60
- error_condition default_error_condition( int ev ) const BOOST_SYSTEM_NOEXCEPT;
61
- };
62
-
63
- #ifdef BOOST_ERROR_CODE_HEADER_ONLY
64
- # define BOOST_SYSTEM_INLINE inline
65
- #else
66
- # define BOOST_SYSTEM_INLINE
67
- #endif
68
-
69
- // generic_error_category implementation ---------------------------------//
70
-
71
- BOOST_SYSTEM_INLINE const char * generic_error_category::name() const BOOST_SYSTEM_NOEXCEPT
72
- {
73
- return "generic";
74
- }
75
-
76
- BOOST_SYSTEM_INLINE std::string generic_error_category::message( int ev ) const
77
- {
78
- using namespace boost::system::errc;
79
- #if defined(__PGI)
80
- using boost::system::errc::invalid_argument;
81
- #endif
82
-
83
- static std::string unknown_err( "Unknown error" );
84
- // strerror_r is preferred because it is always thread safe,
85
- // however, we fallback to strerror in certain cases because:
86
- // -- Windows doesn't provide strerror_r.
87
- // -- HP and Sun do provide strerror_r on newer systems, but there is
88
- // no way to tell if is available at runtime and in any case their
89
- // versions of strerror are thread safe anyhow.
90
- // -- Linux only sometimes provides strerror_r.
91
- // -- Tru64 provides strerror_r only when compiled -pthread.
92
- // -- VMS doesn't provide strerror_r, but on this platform, strerror is
93
- // thread safe.
94
- # if defined(BOOST_WINDOWS_API) || defined(__hpux) || defined(__sun)\
95
- || (defined(__linux) && (!defined(__USE_XOPEN2K)\
96
- || defined(BOOST_SYSTEM_USE_STRERROR)))\
97
- || (defined(__osf__) && !defined(_REENTRANT))\
98
- || (defined(__INTEGRITY))\
99
- || (defined(__vms))\
100
- || (defined(__QNXNTO__))
101
- const char * c_str = std::strerror( ev );
102
- return c_str
103
- ? std::string( c_str )
104
- : unknown_err;
105
- # else // use strerror_r
106
- char buf[64];
107
- char * bp = buf;
108
- std::size_t sz = sizeof(buf);
109
- # if defined(__CYGWIN__) || defined(__USE_GNU)
110
- // Oddball version of strerror_r
111
- const char * c_str = strerror_r( ev, bp, sz );
112
- return c_str
113
- ? std::string( c_str )
114
- : unknown_err;
115
- # else
116
- // POSIX version of strerror_r
117
- int result;
118
- for (;;)
119
- {
120
- // strerror_r returns 0 on success, otherwise ERANGE if buffer too small,
121
- // invalid_argument if ev not a valid error number
122
- # if defined (__sgi)
123
- const char * c_str = strerror( ev );
124
- result = 0;
125
- return c_str
126
- ? std::string( c_str )
127
- : unknown_err;
128
- # else
129
- result = strerror_r( ev, bp, sz );
130
- # endif
131
- if (result == 0 )
132
- break;
133
- else
134
- {
135
- # if defined(__linux)
136
- // Linux strerror_r returns -1 on error, with error number in errno
137
- result = errno;
138
- # endif
139
- if ( result != ERANGE ) break;
140
- if ( sz > sizeof(buf) ) std::free( bp );
141
- sz *= 2;
142
- if ( (bp = static_cast<char*>(std::malloc( sz ))) == 0 )
143
- return std::string( "ENOMEM" );
144
- }
145
- }
146
- std::string msg;
147
- # ifndef BOOST_NO_EXCEPTIONS
148
- try
149
- # endif
150
- {
151
- msg = ( ( result == invalid_argument ) ? "Unknown error" : bp );
152
- }
153
-
154
- # ifndef BOOST_NO_EXCEPTIONS
155
- // See ticket #2098
156
- catch(...)
157
- {
158
- // just eat the exception
159
- }
160
- # endif
161
-
162
- if ( sz > sizeof(buf) ) std::free( bp );
163
- return msg;
164
- # endif // else POSIX version of strerror_r
165
- # endif // else use strerror_r
166
- }
167
- // system_error_category implementation --------------------------------------------//
168
-
169
- BOOST_SYSTEM_INLINE const char * system_error_category::name() const BOOST_SYSTEM_NOEXCEPT
170
- {
171
- return "system";
172
- }
173
-
174
- BOOST_SYSTEM_INLINE error_condition system_error_category::default_error_condition( int ev ) const
175
- BOOST_SYSTEM_NOEXCEPT
176
- {
177
- using namespace boost::system::errc;
178
- #if defined(__PGI)
179
- using boost::system::errc::invalid_argument;
180
- #endif
181
-
182
- # if defined(BOOST_WINDOWS_API)
183
- # if defined(WINAPI_FAMILY) && ((WINAPI_FAMILY & WINAPI_PARTITION_APP) != 0)
184
- // When using the Windows Runtime, most system errors are reported as HRESULTs.
185
- // We want to map the common Win32 errors to their equivalent error condition,
186
- // whether or not they are reported via an HRESULT.
187
- if ( ev < 0 ) // Check for failed HRESULTs only.
188
- if ( HRESULT_FACILITY( ev ) == FACILITY_WIN32 )
189
- ev = HRESULT_CODE( ev );
190
- # endif
191
- # endif
192
-
193
- # if defined(BOOST_WINDOWS_API)
194
-
195
- using namespace boost::winapi; // for error codes
196
-
197
- # endif
198
-
199
- switch ( ev )
200
- {
201
- case 0: return make_error_condition( success );
202
- # if defined(BOOST_POSIX_API)
203
- // POSIX-like O/S -> posix_errno decode table -------------------------------------//
204
- case E2BIG: return make_error_condition( argument_list_too_long );
205
- case EACCES: return make_error_condition( permission_denied );
206
- case EADDRINUSE: return make_error_condition( address_in_use );
207
- case EADDRNOTAVAIL: return make_error_condition( address_not_available );
208
- case EAFNOSUPPORT: return make_error_condition( address_family_not_supported );
209
- case EAGAIN: return make_error_condition( resource_unavailable_try_again );
210
- # if EALREADY != EBUSY // EALREADY and EBUSY are the same on QNX Neutrino
211
- case EALREADY: return make_error_condition( connection_already_in_progress );
212
- # endif
213
- case EBADF: return make_error_condition( bad_file_descriptor );
214
- case EBADMSG: return make_error_condition( bad_message );
215
- case EBUSY: return make_error_condition( device_or_resource_busy );
216
- case ECANCELED: return make_error_condition( operation_canceled );
217
- case ECHILD: return make_error_condition( no_child_process );
218
- case ECONNABORTED: return make_error_condition( connection_aborted );
219
- case ECONNREFUSED: return make_error_condition( connection_refused );
220
- case ECONNRESET: return make_error_condition( connection_reset );
221
- case EDEADLK: return make_error_condition( resource_deadlock_would_occur );
222
- case EDESTADDRREQ: return make_error_condition( destination_address_required );
223
- case EDOM: return make_error_condition( argument_out_of_domain );
224
- case EEXIST: return make_error_condition( file_exists );
225
- case EFAULT: return make_error_condition( bad_address );
226
- case EFBIG: return make_error_condition( file_too_large );
227
- case EHOSTUNREACH: return make_error_condition( host_unreachable );
228
- case EIDRM: return make_error_condition( identifier_removed );
229
- case EILSEQ: return make_error_condition( illegal_byte_sequence );
230
- case EINPROGRESS: return make_error_condition( operation_in_progress );
231
- case EINTR: return make_error_condition( interrupted );
232
- case EINVAL: return make_error_condition( invalid_argument );
233
- case EIO: return make_error_condition( io_error );
234
- case EISCONN: return make_error_condition( already_connected );
235
- case EISDIR: return make_error_condition( is_a_directory );
236
- case ELOOP: return make_error_condition( too_many_symbolic_link_levels );
237
- case EMFILE: return make_error_condition( too_many_files_open );
238
- case EMLINK: return make_error_condition( too_many_links );
239
- case EMSGSIZE: return make_error_condition( message_size );
240
- case ENAMETOOLONG: return make_error_condition( filename_too_long );
241
- case ENETDOWN: return make_error_condition( network_down );
242
- case ENETRESET: return make_error_condition( network_reset );
243
- case ENETUNREACH: return make_error_condition( network_unreachable );
244
- case ENFILE: return make_error_condition( too_many_files_open_in_system );
245
- case ENOBUFS: return make_error_condition( no_buffer_space );
246
- case ENODATA: return make_error_condition( no_message_available );
247
- case ENODEV: return make_error_condition( no_such_device );
248
- case ENOENT: return make_error_condition( no_such_file_or_directory );
249
- case ENOEXEC: return make_error_condition( executable_format_error );
250
- case ENOLCK: return make_error_condition( no_lock_available );
251
- case ENOLINK: return make_error_condition( no_link );
252
- case ENOMEM: return make_error_condition( not_enough_memory );
253
- case ENOMSG: return make_error_condition( no_message );
254
- case ENOPROTOOPT: return make_error_condition( no_protocol_option );
255
- case ENOSPC: return make_error_condition( no_space_on_device );
256
- case ENOSR: return make_error_condition( no_stream_resources );
257
- case ENOSTR: return make_error_condition( not_a_stream );
258
- case ENOSYS: return make_error_condition( function_not_supported );
259
- case ENOTCONN: return make_error_condition( not_connected );
260
- case ENOTDIR: return make_error_condition( not_a_directory );
261
- # if ENOTEMPTY != EEXIST // AIX treats ENOTEMPTY and EEXIST as the same value
262
- case ENOTEMPTY: return make_error_condition( directory_not_empty );
263
- # endif // ENOTEMPTY != EEXIST
264
- # if ENOTRECOVERABLE != ECONNRESET // the same on some Broadcom chips
265
- case ENOTRECOVERABLE: return make_error_condition( state_not_recoverable );
266
- # endif // ENOTRECOVERABLE != ECONNRESET
267
- case ENOTSOCK: return make_error_condition( not_a_socket );
268
- case ENOTSUP: return make_error_condition( not_supported );
269
- case ENOTTY: return make_error_condition( inappropriate_io_control_operation );
270
- case ENXIO: return make_error_condition( no_such_device_or_address );
271
- # if EOPNOTSUPP != ENOTSUP
272
- case EOPNOTSUPP: return make_error_condition( operation_not_supported );
273
- # endif // EOPNOTSUPP != ENOTSUP
274
- case EOVERFLOW: return make_error_condition( value_too_large );
275
- # if EOWNERDEAD != ECONNABORTED // the same on some Broadcom chips
276
- case EOWNERDEAD: return make_error_condition( owner_dead );
277
- # endif // EOWNERDEAD != ECONNABORTED
278
- case EPERM: return make_error_condition( operation_not_permitted );
279
- case EPIPE: return make_error_condition( broken_pipe );
280
- case EPROTO: return make_error_condition( protocol_error );
281
- case EPROTONOSUPPORT: return make_error_condition( protocol_not_supported );
282
- case EPROTOTYPE: return make_error_condition( wrong_protocol_type );
283
- case ERANGE: return make_error_condition( result_out_of_range );
284
- case EROFS: return make_error_condition( read_only_file_system );
285
- case ESPIPE: return make_error_condition( invalid_seek );
286
- case ESRCH: return make_error_condition( no_such_process );
287
- case ETIME: return make_error_condition( stream_timeout );
288
- case ETIMEDOUT: return make_error_condition( timed_out );
289
- case ETXTBSY: return make_error_condition( text_file_busy );
290
- # if EAGAIN != EWOULDBLOCK
291
- case EWOULDBLOCK: return make_error_condition( operation_would_block );
292
- # endif // EAGAIN != EWOULDBLOCK
293
- case EXDEV: return make_error_condition( cross_device_link );
294
- #else
295
- // Windows system -> posix_errno decode table ---------------------------//
296
- // see WinError.h comments for descriptions of errors
297
- case ERROR_ACCESS_DENIED_: return make_error_condition( permission_denied );
298
- case ERROR_ALREADY_EXISTS_: return make_error_condition( file_exists );
299
- case ERROR_BAD_UNIT_: return make_error_condition( no_such_device );
300
- case ERROR_BUFFER_OVERFLOW_: return make_error_condition( filename_too_long );
301
- case ERROR_BUSY_: return make_error_condition( device_or_resource_busy );
302
- case ERROR_BUSY_DRIVE_: return make_error_condition( device_or_resource_busy );
303
- case ERROR_CANNOT_MAKE_: return make_error_condition( permission_denied );
304
- case ERROR_CANTOPEN_: return make_error_condition( io_error );
305
- case ERROR_CANTREAD_: return make_error_condition( io_error );
306
- case ERROR_CANTWRITE_: return make_error_condition( io_error );
307
- case ERROR_CURRENT_DIRECTORY_: return make_error_condition( permission_denied );
308
- case ERROR_DEV_NOT_EXIST_: return make_error_condition( no_such_device );
309
- case ERROR_DEVICE_IN_USE_: return make_error_condition( device_or_resource_busy );
310
- case ERROR_DIR_NOT_EMPTY_: return make_error_condition( directory_not_empty );
311
- case ERROR_DIRECTORY_: return make_error_condition( invalid_argument );\
312
- // WinError.h: "The directory name is invalid"
313
- case ERROR_DISK_FULL_: return make_error_condition( no_space_on_device );
314
- case ERROR_FILE_EXISTS_: return make_error_condition( file_exists );
315
- case ERROR_FILE_NOT_FOUND_: return make_error_condition( no_such_file_or_directory );
316
- case ERROR_HANDLE_DISK_FULL_: return make_error_condition( no_space_on_device );
317
- case ERROR_INVALID_ACCESS_: return make_error_condition( permission_denied );
318
- case ERROR_INVALID_DRIVE_: return make_error_condition( no_such_device );
319
- case ERROR_INVALID_FUNCTION_: return make_error_condition( function_not_supported );
320
- case ERROR_INVALID_HANDLE_: return make_error_condition( invalid_argument );
321
- case ERROR_INVALID_NAME_: return make_error_condition( invalid_argument );
322
- case ERROR_LOCK_VIOLATION_: return make_error_condition( no_lock_available );
323
- case ERROR_LOCKED_: return make_error_condition( no_lock_available );
324
- case ERROR_NEGATIVE_SEEK_: return make_error_condition( invalid_argument );
325
- case ERROR_NOACCESS_: return make_error_condition( permission_denied );
326
- case ERROR_NOT_ENOUGH_MEMORY_: return make_error_condition( not_enough_memory );
327
- case ERROR_NOT_READY_: return make_error_condition( resource_unavailable_try_again );
328
- case ERROR_NOT_SAME_DEVICE_: return make_error_condition( cross_device_link );
329
- case ERROR_OPEN_FAILED_: return make_error_condition( io_error );
330
- case ERROR_OPEN_FILES_: return make_error_condition( device_or_resource_busy );
331
- case ERROR_OPERATION_ABORTED_: return make_error_condition( operation_canceled );
332
- case ERROR_OUTOFMEMORY_: return make_error_condition( not_enough_memory );
333
- case ERROR_PATH_NOT_FOUND_: return make_error_condition( no_such_file_or_directory );
334
- case ERROR_READ_FAULT_: return make_error_condition( io_error );
335
- case ERROR_RETRY_: return make_error_condition( resource_unavailable_try_again );
336
- case ERROR_SEEK_: return make_error_condition( io_error );
337
- case ERROR_SHARING_VIOLATION_: return make_error_condition( permission_denied );
338
- case ERROR_TOO_MANY_OPEN_FILES_: return make_error_condition( too_many_files_open );
339
- case ERROR_WRITE_FAULT_: return make_error_condition( io_error );
340
- case ERROR_WRITE_PROTECT_: return make_error_condition( permission_denied );
341
- case WSAEACCES_: return make_error_condition( permission_denied );
342
- case WSAEADDRINUSE_: return make_error_condition( address_in_use );
343
- case WSAEADDRNOTAVAIL_: return make_error_condition( address_not_available );
344
- case WSAEAFNOSUPPORT_: return make_error_condition( address_family_not_supported );
345
- case WSAEALREADY_: return make_error_condition( connection_already_in_progress );
346
- case WSAEBADF_: return make_error_condition( bad_file_descriptor );
347
- case WSAECONNABORTED_: return make_error_condition( connection_aborted );
348
- case WSAECONNREFUSED_: return make_error_condition( connection_refused );
349
- case WSAECONNRESET_: return make_error_condition( connection_reset );
350
- case WSAEDESTADDRREQ_: return make_error_condition( destination_address_required );
351
- case WSAEFAULT_: return make_error_condition( bad_address );
352
- case WSAEHOSTUNREACH_: return make_error_condition( host_unreachable );
353
- case WSAEINPROGRESS_: return make_error_condition( operation_in_progress );
354
- case WSAEINTR_: return make_error_condition( interrupted );
355
- case WSAEINVAL_: return make_error_condition( invalid_argument );
356
- case WSAEISCONN_: return make_error_condition( already_connected );
357
- case WSAEMFILE_: return make_error_condition( too_many_files_open );
358
- case WSAEMSGSIZE_: return make_error_condition( message_size );
359
- case WSAENAMETOOLONG_: return make_error_condition( filename_too_long );
360
- case WSAENETDOWN_: return make_error_condition( network_down );
361
- case WSAENETRESET_: return make_error_condition( network_reset );
362
- case WSAENETUNREACH_: return make_error_condition( network_unreachable );
363
- case WSAENOBUFS_: return make_error_condition( no_buffer_space );
364
- case WSAENOPROTOOPT_: return make_error_condition( no_protocol_option );
365
- case WSAENOTCONN_: return make_error_condition( not_connected );
366
- case WSAENOTSOCK_: return make_error_condition( not_a_socket );
367
- case WSAEOPNOTSUPP_: return make_error_condition( operation_not_supported );
368
- case WSAEPROTONOSUPPORT_: return make_error_condition( protocol_not_supported );
369
- case WSAEPROTOTYPE_: return make_error_condition( wrong_protocol_type );
370
- case WSAETIMEDOUT_: return make_error_condition( timed_out );
371
- case WSAEWOULDBLOCK_: return make_error_condition( operation_would_block );
372
- #endif
373
- default: return error_condition( ev, system_category() );
374
- }
375
- }
376
-
377
- # if !defined( BOOST_WINDOWS_API )
378
-
379
- BOOST_SYSTEM_INLINE std::string system_error_category::message( int ev ) const
380
- {
381
- return generic_category().message( ev );
382
- }
383
- # else
384
-
385
- BOOST_SYSTEM_INLINE std::string system_error_category::message( int ev ) const
386
- {
387
- #if defined(UNDER_CE) || BOOST_PLAT_WINDOWS_RUNTIME || defined(BOOST_NO_ANSI_APIS)
388
- std::wstring buf(128, wchar_t());
389
- for (;;)
390
- {
391
- boost::winapi::DWORD_ retval = boost::winapi::FormatMessageW(
392
- boost::winapi::FORMAT_MESSAGE_FROM_SYSTEM_ |
393
- boost::winapi::FORMAT_MESSAGE_IGNORE_INSERTS_,
394
- NULL,
395
- ev,
396
- boost::winapi::MAKELANGID_(boost::winapi::LANG_NEUTRAL_,
397
- boost::winapi::SUBLANG_DEFAULT_), // Default language
398
- &buf[0],
399
- static_cast<boost::winapi::DWORD_>(buf.size()),
400
- NULL
401
- );
402
-
403
- if (retval > 0)
404
- {
405
- buf.resize(retval);
406
- break;
407
- }
408
- else if (boost::winapi::GetLastError() !=
409
- boost::winapi::ERROR_INSUFFICIENT_BUFFER_)
410
- {
411
- return std::string("Unknown error");
412
- }
413
- else
414
- {
415
- buf.resize(buf.size() + buf.size() / 2);
416
- }
417
- }
418
-
419
- int num_chars = static_cast<int>(buf.size() + 1) * 2;
420
-
421
- boost::winapi::LPSTR_ narrow_buffer =
422
- #if defined(__GNUC__)
423
- (boost::winapi::LPSTR_)__builtin_alloca(num_chars);
424
- #else
425
- (boost::winapi::LPSTR_)_alloca(num_chars);
426
- #endif
427
-
428
- if (boost::winapi::WideCharToMultiByte(boost::winapi::CP_ACP_, 0,
429
- buf.c_str(), -1, narrow_buffer, num_chars, NULL, NULL) == 0)
430
- {
431
- return std::string("Unknown error");
432
- }
433
-
434
- std::string str( narrow_buffer );
435
- #else
436
- boost::winapi::LPVOID_ lpMsgBuf = 0;
437
- boost::winapi::DWORD_ retval = boost::winapi::FormatMessageA(
438
- boost::winapi::FORMAT_MESSAGE_ALLOCATE_BUFFER_ |
439
- boost::winapi::FORMAT_MESSAGE_FROM_SYSTEM_ |
440
- boost::winapi::FORMAT_MESSAGE_IGNORE_INSERTS_,
441
- NULL,
442
- ev,
443
- boost::winapi::MAKELANGID_(boost::winapi::LANG_NEUTRAL_,
444
- boost::winapi::SUBLANG_DEFAULT_), // Default language
445
- (boost::winapi::LPSTR_) &lpMsgBuf,
446
- 0,
447
- NULL
448
- );
449
- detail::local_free_on_destruction lfod(lpMsgBuf);
450
- if (retval == 0)
451
- return std::string("Unknown error");
452
-
453
- std::string str(static_cast<boost::winapi::LPCSTR_>(lpMsgBuf));
454
- # endif
455
- while ( str.size()
456
- && (str[str.size()-1] == '\n' || str[str.size()-1] == '\r') )
457
- str.erase( str.size()-1 );
458
- if ( str.size() && str[str.size()-1] == '.' )
459
- { str.erase( str.size()-1 ); }
460
- return str;
461
- }
462
- # endif
463
-
464
- #undef BOOST_SYSTEM_INLINE
465
-
466
- } // namespace detail
467
-
468
-
469
- # ifdef BOOST_SYSTEM_ENABLE_DEPRECATED
470
- BOOST_SYSTEM_DECL error_code throws; // "throw on error" special error_code;
471
- // note that it doesn't matter if this
472
- // isn't initialized before use since
473
- // the only use is to take its
474
- // address for comparison purposes
475
- # endif
476
-
477
- # ifdef BOOST_ERROR_CODE_HEADER_ONLY
478
- # define BOOST_SYSTEM_LINKAGE inline
479
- # else
480
- # define BOOST_SYSTEM_LINKAGE BOOST_SYSTEM_DECL
481
- # endif
482
-
483
- BOOST_SYSTEM_LINKAGE const error_category & system_category() BOOST_SYSTEM_NOEXCEPT
484
- {
485
- static const detail::system_error_category system_category_const;
486
- return system_category_const;
487
- }
488
-
489
- BOOST_SYSTEM_LINKAGE const error_category & generic_category() BOOST_SYSTEM_NOEXCEPT
490
- {
491
- static const detail::generic_error_category generic_category_const;
492
- return generic_category_const;
493
- }
494
-
495
- } // namespace system
496
- } // namespace boost