passenger 6.0.11 → 6.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +24 -1
- data/CONTRIBUTORS +3 -0
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller/CheckoutSession.cpp +24 -13
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Core/Controller/InternalUtils.cpp +32 -6
- data/src/agent/Core/Controller.h +4 -1
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/IOTools/IOUtils.cpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +47 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +28 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +53 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +179 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +57 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +789 -106
- data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +80 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +723 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +191 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +361 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +237 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +176 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +30 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +165 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +209 -76
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +149 -60
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +40 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +14 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +21 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +30 -19
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +29 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +15 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +60 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +77 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +111 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +90 -24
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +30 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +10 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +133 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +538 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +157 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +1057 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +607 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/completion_handler_erasure.hpp +160 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +120 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_traits.hpp +185 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +181 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/append.hpp +219 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +14 -28
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_tuple.hpp +248 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/deferred.hpp +106 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +434 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/prepend.hpp +219 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +100 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +217 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +608 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +284 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +344 -20
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +23 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +23 -54
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +66 -18
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/compose.hpp +55 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +68 -80
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +8 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +98 -113
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +71 -82
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +210 -266
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +248 -30
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +11 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +15 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +71 -87
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +46 -68
- data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +2 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +10 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +23 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +88 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +36 -27
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +14 -7
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +73 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +235 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +88 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +17 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +14 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +31 -11
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +20 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_platform_config.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +81 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/bsd.hpp +5 -8
- data/src/cxx_supportlib/vendor-modified/boost/config/platform/wasm.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +46 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +45 -38
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +24 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ignore_unused.hpp +32 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/uncaught_exceptions.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +0 -24
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_parsers.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/any_hook.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +83 -83
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +43 -43
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +31 -31
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +85 -85
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +68 -68
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +72 -62
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +19 -20
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +2 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +2 -50
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +71 -70
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +15 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +84 -82
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list_hook.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/parent_from_member.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +43 -43
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +26 -26
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +85 -85
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/set_hook.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +93 -93
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +51 -51
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +104 -104
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist_hook.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +91 -91
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +46 -46
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +31 -31
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +51 -51
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +18 -18
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +97 -97
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/trivial_value_traits.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +63 -63
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_traits.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +112 -31
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +22 -2
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +59 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +9 -11
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +27 -21
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +34 -3
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +378 -36
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +97 -21
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/interop_category.hpp +107 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_same.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/snprintf.hpp +70 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/{to_std_category.hpp → std_category.hpp} +5 -55
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +2 -12
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +0 -33
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_variadic.hpp +190 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/result_of.hpp +20 -9
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +8 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +6 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +12 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +5 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +21 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +13 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +3 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +4 -0
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +8 -1
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +6 -0
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +8 -0
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +4 -1
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- metadata +39 -4
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_generic_value.hpp +0 -125
@@ -0,0 +1,190 @@
|
|
1
|
+
// Boost result_of library
|
2
|
+
|
3
|
+
// Copyright Douglas Gregor 2004. Use, modification and
|
4
|
+
// distribution is subject to the Boost Software License, Version
|
5
|
+
// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
6
|
+
// http://www.boost.org/LICENSE_1_0.txt)
|
7
|
+
|
8
|
+
// Copyright Daniel Walker, Eric Niebler, Michel Morin 2008-2012.
|
9
|
+
// Use, modification and distribution is subject to the Boost Software
|
10
|
+
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or
|
11
|
+
// copy at http://www.boost.org/LICENSE_1_0.txt)
|
12
|
+
|
13
|
+
// For more information, see http://www.boost.org/libs/utility
|
14
|
+
|
15
|
+
#ifndef BOOST_RESULT_OF_HPP
|
16
|
+
# error Boost result_of - do not include this file!
|
17
|
+
#endif
|
18
|
+
|
19
|
+
template<typename F, typename... Args>
|
20
|
+
struct tr1_result_of<F(Args...)>
|
21
|
+
: conditional<
|
22
|
+
is_pointer<F>::value || is_member_function_pointer<F>::value
|
23
|
+
, boost::detail::tr1_result_of_impl<
|
24
|
+
typename remove_cv<F>::type,
|
25
|
+
typename remove_cv<F>::type(Args...),
|
26
|
+
(boost::detail::result_of_has_result_type<F>::value)>
|
27
|
+
, boost::detail::tr1_result_of_impl<
|
28
|
+
F,
|
29
|
+
F(Args...),
|
30
|
+
(boost::detail::result_of_has_result_type<F>::value)> >::type { };
|
31
|
+
|
32
|
+
#ifdef BOOST_RESULT_OF_USE_DECLTYPE
|
33
|
+
template<typename F, typename... Args>
|
34
|
+
struct result_of<F(Args...)>
|
35
|
+
: detail::cpp0x_result_of<F(Args...)> { };
|
36
|
+
#endif // BOOST_RESULT_OF_USE_DECLTYPE
|
37
|
+
|
38
|
+
#ifdef BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK
|
39
|
+
template<typename F, typename... Args>
|
40
|
+
struct result_of<F(Args...)>
|
41
|
+
: conditional<detail::result_of_has_result_type<F>::value || detail::result_of_has_result<F>::value,
|
42
|
+
tr1_result_of<F(Args...)>,
|
43
|
+
detail::cpp0x_result_of<F(Args...)> >::type { };
|
44
|
+
#endif // BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK
|
45
|
+
|
46
|
+
#if defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK)
|
47
|
+
|
48
|
+
namespace detail {
|
49
|
+
|
50
|
+
template<typename F, typename... Args>
|
51
|
+
struct cpp0x_result_of<F(Args...)>
|
52
|
+
: conditional<
|
53
|
+
is_member_function_pointer<F>::value
|
54
|
+
, detail::tr1_result_of_impl<
|
55
|
+
typename remove_cv<F>::type,
|
56
|
+
typename remove_cv<F>::type(Args...), false
|
57
|
+
>
|
58
|
+
, detail::cpp0x_result_of_impl<
|
59
|
+
F(Args...)
|
60
|
+
>
|
61
|
+
>::type
|
62
|
+
{};
|
63
|
+
|
64
|
+
#ifdef BOOST_NO_SFINAE_EXPR
|
65
|
+
|
66
|
+
template<typename F>
|
67
|
+
struct result_of_callable_fun_2;
|
68
|
+
|
69
|
+
template<typename R, typename... Args>
|
70
|
+
struct result_of_callable_fun_2<R(Args...)> {
|
71
|
+
R operator()(Args...) const;
|
72
|
+
typedef result_of_private_type const &(*pfn_t)(...);
|
73
|
+
operator pfn_t() const volatile;
|
74
|
+
};
|
75
|
+
|
76
|
+
template<typename F>
|
77
|
+
struct result_of_callable_fun
|
78
|
+
: result_of_callable_fun_2<F>
|
79
|
+
{};
|
80
|
+
|
81
|
+
template<typename F>
|
82
|
+
struct result_of_callable_fun<F *>
|
83
|
+
: result_of_callable_fun_2<F>
|
84
|
+
{};
|
85
|
+
|
86
|
+
template<typename F>
|
87
|
+
struct result_of_select_call_wrapper_type
|
88
|
+
: conditional<
|
89
|
+
is_class<typename remove_reference<F>::type>::value,
|
90
|
+
result_of_wrap_callable_class<F>,
|
91
|
+
type_identity<result_of_callable_fun<typename remove_cv<typename remove_reference<F>::type>::type> >
|
92
|
+
>::type
|
93
|
+
{};
|
94
|
+
|
95
|
+
template<typename F, typename... Args>
|
96
|
+
struct result_of_is_callable {
|
97
|
+
typedef typename result_of_select_call_wrapper_type<F>::type wrapper_t;
|
98
|
+
static const bool value = (
|
99
|
+
sizeof(result_of_no_type) == sizeof(detail::result_of_is_private_type(
|
100
|
+
(boost::declval<wrapper_t>()(boost::declval<Args>()...), result_of_weird_type())
|
101
|
+
))
|
102
|
+
);
|
103
|
+
typedef integral_constant<bool, value> type;
|
104
|
+
};
|
105
|
+
|
106
|
+
template<typename F, typename... Args>
|
107
|
+
struct cpp0x_result_of_impl<F(Args...), true>
|
108
|
+
: lazy_enable_if<
|
109
|
+
result_of_is_callable<F, Args...>
|
110
|
+
, cpp0x_result_of_impl<F(Args...), false>
|
111
|
+
>
|
112
|
+
{};
|
113
|
+
|
114
|
+
template<typename F, typename... Args>
|
115
|
+
struct cpp0x_result_of_impl<F(Args...), false>
|
116
|
+
{
|
117
|
+
typedef decltype(
|
118
|
+
boost::declval<F>()(
|
119
|
+
boost::declval<Args>()...
|
120
|
+
)
|
121
|
+
) type;
|
122
|
+
};
|
123
|
+
|
124
|
+
#else // BOOST_NO_SFINAE_EXPR
|
125
|
+
|
126
|
+
template<typename F, typename... Args>
|
127
|
+
struct cpp0x_result_of_impl<F(Args...),
|
128
|
+
typename result_of_always_void<decltype(
|
129
|
+
boost::declval<F>()(
|
130
|
+
boost::declval<Args>()...
|
131
|
+
)
|
132
|
+
)>::type> {
|
133
|
+
typedef decltype(
|
134
|
+
boost::declval<F>()(
|
135
|
+
boost::declval<Args>()...
|
136
|
+
)
|
137
|
+
) type;
|
138
|
+
};
|
139
|
+
|
140
|
+
#endif // BOOST_NO_SFINAE_EXPR
|
141
|
+
|
142
|
+
} // namespace detail
|
143
|
+
|
144
|
+
#else // defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK)
|
145
|
+
|
146
|
+
template<typename F, typename... Args>
|
147
|
+
struct result_of<F(Args...)>
|
148
|
+
: tr1_result_of<F(Args...)> { };
|
149
|
+
|
150
|
+
#endif // defined(BOOST_RESULT_OF_USE_DECLTYPE)
|
151
|
+
|
152
|
+
namespace detail {
|
153
|
+
|
154
|
+
template<typename R, typename FArgs, typename... Args>
|
155
|
+
struct tr1_result_of_impl<R (*)(Args...), FArgs, false>
|
156
|
+
{
|
157
|
+
typedef R type;
|
158
|
+
};
|
159
|
+
|
160
|
+
template<typename R, typename FArgs, typename... Args>
|
161
|
+
struct tr1_result_of_impl<R (&)(Args...), FArgs, false>
|
162
|
+
{
|
163
|
+
typedef R type;
|
164
|
+
};
|
165
|
+
|
166
|
+
template<typename R, typename FArgs, typename C, typename... Args>
|
167
|
+
struct tr1_result_of_impl<R (C::*)(Args...), FArgs, false>
|
168
|
+
{
|
169
|
+
typedef R type;
|
170
|
+
};
|
171
|
+
|
172
|
+
template<typename R, typename FArgs, typename C, typename... Args>
|
173
|
+
struct tr1_result_of_impl<R (C::*)(Args...) const, FArgs, false>
|
174
|
+
{
|
175
|
+
typedef R type;
|
176
|
+
};
|
177
|
+
|
178
|
+
template<typename R, typename FArgs, typename C, typename... Args>
|
179
|
+
struct tr1_result_of_impl<R (C::*)(Args...) volatile, FArgs, false>
|
180
|
+
{
|
181
|
+
typedef R type;
|
182
|
+
};
|
183
|
+
|
184
|
+
template<typename R, typename FArgs, typename C, typename... Args>
|
185
|
+
struct tr1_result_of_impl<R (C::*)(Args...) const volatile, FArgs, false>
|
186
|
+
{
|
187
|
+
typedef R type;
|
188
|
+
};
|
189
|
+
|
190
|
+
}
|
@@ -10,13 +10,6 @@
|
|
10
10
|
#define BOOST_RESULT_OF_HPP
|
11
11
|
|
12
12
|
#include <boost/config.hpp>
|
13
|
-
#include <boost/preprocessor/cat.hpp>
|
14
|
-
#include <boost/preprocessor/iteration/iterate.hpp>
|
15
|
-
#include <boost/preprocessor/repetition/enum_params.hpp>
|
16
|
-
#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
|
17
|
-
#include <boost/preprocessor/repetition/enum_binary_params.hpp>
|
18
|
-
#include <boost/preprocessor/repetition/enum_shifted_params.hpp>
|
19
|
-
#include <boost/preprocessor/facilities/intercept.hpp>
|
20
13
|
#include <boost/detail/workaround.hpp>
|
21
14
|
#include <boost/type_traits/is_class.hpp>
|
22
15
|
#include <boost/type_traits/is_pointer.hpp>
|
@@ -29,6 +22,20 @@
|
|
29
22
|
#include <boost/type_traits/integral_constant.hpp>
|
30
23
|
#include <boost/core/enable_if.hpp>
|
31
24
|
|
25
|
+
#ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
26
|
+
# undef BOOST_RESULT_OF_NO_VARIADIC_TEMPLATES
|
27
|
+
# define BOOST_RESULT_OF_NO_VARIADIC_TEMPLATES
|
28
|
+
#endif
|
29
|
+
#ifdef BOOST_RESULT_OF_NO_VARIADIC_TEMPLATES
|
30
|
+
# include <boost/preprocessor/cat.hpp>
|
31
|
+
# include <boost/preprocessor/iteration/iterate.hpp>
|
32
|
+
# include <boost/preprocessor/repetition/enum_params.hpp>
|
33
|
+
# include <boost/preprocessor/repetition/enum_trailing_params.hpp>
|
34
|
+
# include <boost/preprocessor/repetition/enum_binary_params.hpp>
|
35
|
+
# include <boost/preprocessor/repetition/enum_shifted_params.hpp>
|
36
|
+
# include <boost/preprocessor/facilities/intercept.hpp>
|
37
|
+
#endif
|
38
|
+
|
32
39
|
#ifndef BOOST_RESULT_OF_NUM_ARGS
|
33
40
|
# define BOOST_RESULT_OF_NUM_ARGS 16
|
34
41
|
#endif
|
@@ -217,8 +224,12 @@ struct tr1_result_of_impl<F, FArgs, false>
|
|
217
224
|
|
218
225
|
} // end namespace detail
|
219
226
|
|
220
|
-
#
|
221
|
-
#include
|
227
|
+
#ifndef BOOST_RESULT_OF_NO_VARIADIC_TEMPLATES
|
228
|
+
# include <boost/utility/detail/result_of_variadic.hpp>
|
229
|
+
#else
|
230
|
+
# define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_RESULT_OF_NUM_ARGS,<boost/utility/detail/result_of_iterate.hpp>))
|
231
|
+
# include BOOST_PP_ITERATE()
|
232
|
+
#endif
|
222
233
|
|
223
234
|
#if 0
|
224
235
|
// inform dependency trackers, as they can't see through macro includes
|
@@ -23,7 +23,6 @@
|
|
23
23
|
#include <boost/io/ostream_put.hpp>
|
24
24
|
#include <boost/utility/string_view_fwd.hpp>
|
25
25
|
#include <boost/throw_exception.hpp>
|
26
|
-
#include <boost/container_hash/hash_fwd.hpp>
|
27
26
|
|
28
27
|
#include <cstddef>
|
29
28
|
#include <stdexcept>
|
@@ -652,6 +651,9 @@ namespace boost {
|
|
652
651
|
}
|
653
652
|
#endif
|
654
653
|
|
654
|
+
// Forward declaration of Boost.ContainerHash function
|
655
|
+
template <class It> std::size_t hash_range(It, It);
|
656
|
+
|
655
657
|
template <class charT, class traits>
|
656
658
|
std::size_t hash_value(basic_string_view<charT, traits> s) {
|
657
659
|
return boost::hash_range(s.begin(), s.end());
|
@@ -19,7 +19,7 @@
|
|
19
19
|
// BOOST_VERSION / 100 % 1000 is the minor version
|
20
20
|
// BOOST_VERSION / 100000 is the major version
|
21
21
|
|
22
|
-
#define BOOST_VERSION
|
22
|
+
#define BOOST_VERSION 107700
|
23
23
|
|
24
24
|
//
|
25
25
|
// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
|
@@ -27,6 +27,6 @@
|
|
27
27
|
// number, y is the minor version number, and z is the patch level if not 0.
|
28
28
|
// This is used by <config/auto_link.hpp> to select which library version to link to.
|
29
29
|
|
30
|
-
#define BOOST_LIB_VERSION "
|
30
|
+
#define BOOST_LIB_VERSION "1_77"
|
31
31
|
|
32
32
|
#endif
|
@@ -670,6 +670,14 @@
|
|
670
670
|
offsetof(passenger_loc_conf_t, autogenerated.request_queue_overflow_status_code),
|
671
671
|
NULL
|
672
672
|
},
|
673
|
+
{
|
674
|
+
ngx_string("passenger_spawn_exception_status_code"),
|
675
|
+
NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF | NGX_CONF_TAKE1,
|
676
|
+
passenger_conf_set_spawn_exception_status_code,
|
677
|
+
NGX_HTTP_LOC_CONF_OFFSET,
|
678
|
+
offsetof(passenger_loc_conf_t, autogenerated.spawn_exception_status_code),
|
679
|
+
NULL
|
680
|
+
},
|
673
681
|
{
|
674
682
|
ngx_string("passenger_buffer_upload"),
|
675
683
|
NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF | NGX_CONF_FLAG,
|
@@ -418,6 +418,12 @@ set_manifest_autogenerated_loc_conf_defaults(manifest_gen_ctx_t *ctx, PsgJsonVal
|
|
418
418
|
sizeof("passenger_request_queue_overflow_status_code") - 1,
|
419
419
|
503);
|
420
420
|
|
421
|
+
add_manifest_options_container_static_default_int(ctx,
|
422
|
+
options_container,
|
423
|
+
"passenger_spawn_exception_status_code",
|
424
|
+
sizeof("passenger_spawn_exception_status_code") - 1,
|
425
|
+
500);
|
426
|
+
|
421
427
|
add_manifest_options_container_static_default_bool(ctx,
|
422
428
|
options_container,
|
423
429
|
"passenger_buffer_upload",
|
@@ -937,6 +937,18 @@ passenger_conf_set_request_queue_overflow_status_code(ngx_conf_t *cf, ngx_comman
|
|
937
937
|
return ngx_conf_set_num_slot(cf, cmd, conf);
|
938
938
|
}
|
939
939
|
|
940
|
+
static char *
|
941
|
+
passenger_conf_set_spawn_exception_status_code(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
|
942
|
+
passenger_loc_conf_t *passenger_conf = conf;
|
943
|
+
|
944
|
+
passenger_conf->autogenerated.spawn_exception_status_code_explicitly_set = 1;
|
945
|
+
record_loc_conf_source_location(cf, passenger_conf,
|
946
|
+
&passenger_conf->autogenerated.spawn_exception_status_code_source_file,
|
947
|
+
&passenger_conf->autogenerated.spawn_exception_status_code_source_line);
|
948
|
+
|
949
|
+
return ngx_conf_set_num_slot(cf, cmd, conf);
|
950
|
+
}
|
951
|
+
|
940
952
|
static char *
|
941
953
|
passenger_conf_set_buffer_upload(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
|
942
954
|
passenger_loc_conf_t *passenger_conf = conf;
|
@@ -91,6 +91,7 @@ passenger_create_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *con
|
|
91
91
|
conf->headers_hash_max_size = NGX_CONF_UNSET_UINT;
|
92
92
|
conf->headers_hash_bucket_size = NGX_CONF_UNSET_UINT;
|
93
93
|
conf->request_queue_overflow_status_code = NGX_CONF_UNSET;
|
94
|
+
conf->spawn_exception_status_code = NGX_CONF_UNSET;
|
94
95
|
conf->buffer_upload = NGX_CONF_UNSET;
|
95
96
|
conf->sticky_sessions = NGX_CONF_UNSET;
|
96
97
|
conf->sticky_sessions_cookie_name.data = NULL;
|
@@ -286,6 +287,10 @@ passenger_create_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *con
|
|
286
287
|
conf->request_queue_overflow_status_code_source_file.len = 0;
|
287
288
|
conf->request_queue_overflow_status_code_source_line = 0;
|
288
289
|
conf->request_queue_overflow_status_code_explicitly_set = 0;
|
290
|
+
conf->spawn_exception_status_code_source_file.data = NULL;
|
291
|
+
conf->spawn_exception_status_code_source_file.len = 0;
|
292
|
+
conf->spawn_exception_status_code_source_line = 0;
|
293
|
+
conf->spawn_exception_status_code_explicitly_set = 0;
|
289
294
|
conf->buffer_upload_source_file.data = NULL;
|
290
295
|
conf->buffer_upload_source_file.len = 0;
|
291
296
|
conf->buffer_upload_source_line = 0;
|
@@ -231,6 +231,16 @@ passenger_serialize_autogenerated_loc_conf_to_headers(ngx_conf_t *cf, passenger_
|
|
231
231
|
len += sizeof("\r\n") - 1;
|
232
232
|
}
|
233
233
|
|
234
|
+
if (conf->autogenerated.spawn_exception_status_code != NGX_CONF_UNSET) {
|
235
|
+
end = ngx_snprintf(int_buf,
|
236
|
+
sizeof(int_buf) - 1,
|
237
|
+
"%d",
|
238
|
+
conf->autogenerated.spawn_exception_status_code);
|
239
|
+
len += sizeof("!~PASSENGER_SPAWN_EXCEPTION_STATUS_CODE: ") - 1;
|
240
|
+
len += end - int_buf;
|
241
|
+
len += sizeof("\r\n") - 1;
|
242
|
+
}
|
243
|
+
|
234
244
|
if (conf->autogenerated.sticky_sessions != NGX_CONF_UNSET) {
|
235
245
|
len += sizeof("!~PASSENGER_STICKY_SESSIONS: ") - 1;
|
236
246
|
len += conf->autogenerated.sticky_sessions
|
@@ -516,6 +526,17 @@ passenger_serialize_autogenerated_loc_conf_to_headers(ngx_conf_t *cf, passenger_
|
|
516
526
|
pos = ngx_copy(pos, int_buf, end - int_buf);
|
517
527
|
pos = ngx_copy(pos, (const u_char *) "\r\n", sizeof("\r\n") - 1);
|
518
528
|
}
|
529
|
+
if (conf->autogenerated.spawn_exception_status_code != NGX_CONF_UNSET) {
|
530
|
+
pos = ngx_copy(pos,
|
531
|
+
"!~PASSENGER_SPAWN_EXCEPTION_STATUS_CODE: ",
|
532
|
+
sizeof("!~PASSENGER_SPAWN_EXCEPTION_STATUS_CODE: ") - 1);
|
533
|
+
end = ngx_snprintf(int_buf,
|
534
|
+
sizeof(int_buf) - 1,
|
535
|
+
"%d",
|
536
|
+
conf->autogenerated.spawn_exception_status_code);
|
537
|
+
pos = ngx_copy(pos, int_buf, end - int_buf);
|
538
|
+
pos = ngx_copy(pos, (const u_char *) "\r\n", sizeof("\r\n") - 1);
|
539
|
+
}
|
519
540
|
if (conf->autogenerated.sticky_sessions != NGX_CONF_UNSET) {
|
520
541
|
pos = ngx_copy(pos,
|
521
542
|
"!~PASSENGER_STICKY_SESSIONS: ",
|
@@ -596,6 +596,19 @@ generate_config_manifest_for_autogenerated_loc_conf(manifest_gen_ctx_t *ctx, pas
|
|
596
596
|
psg_json_value_set_int(hierarchy_member, "value",
|
597
597
|
plcf->autogenerated.request_queue_overflow_status_code);
|
598
598
|
}
|
599
|
+
if (plcf->autogenerated.spawn_exception_status_code_explicitly_set) {
|
600
|
+
find_or_create_manifest_app_and_loc_options_containers(ctx,
|
601
|
+
plcf, cscf, clcf, &app_options_container, &loc_options_container);
|
602
|
+
option_container = find_or_create_manifest_option_container(ctx,
|
603
|
+
loc_options_container,
|
604
|
+
"passenger_spawn_exception_status_code",
|
605
|
+
sizeof("passenger_spawn_exception_status_code") - 1);
|
606
|
+
hierarchy_member = add_manifest_option_container_hierarchy_member(option_container,
|
607
|
+
&plcf->autogenerated.spawn_exception_status_code_source_file,
|
608
|
+
plcf->autogenerated.spawn_exception_status_code_source_line);
|
609
|
+
psg_json_value_set_int(hierarchy_member, "value",
|
610
|
+
plcf->autogenerated.spawn_exception_status_code);
|
611
|
+
}
|
599
612
|
if (plcf->autogenerated.buffer_upload_explicitly_set) {
|
600
613
|
find_or_create_manifest_app_and_loc_options_containers(ctx,
|
601
614
|
plcf, cscf, clcf, &app_options_container, &loc_options_container);
|
@@ -151,6 +151,9 @@ passenger_merge_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *conf,
|
|
151
151
|
ngx_conf_merge_value(conf->request_queue_overflow_status_code,
|
152
152
|
prev->request_queue_overflow_status_code,
|
153
153
|
503);
|
154
|
+
ngx_conf_merge_value(conf->spawn_exception_status_code,
|
155
|
+
prev->spawn_exception_status_code,
|
156
|
+
500);
|
154
157
|
ngx_conf_merge_value(conf->buffer_upload,
|
155
158
|
prev->buffer_upload,
|
156
159
|
0);
|
@@ -57,6 +57,7 @@ typedef struct {
|
|
57
57
|
ngx_uint_t min_instances;
|
58
58
|
ngx_array_t *monitor_log_file;
|
59
59
|
ngx_int_t request_queue_overflow_status_code;
|
60
|
+
ngx_int_t spawn_exception_status_code;
|
60
61
|
ngx_uint_t start_timeout;
|
61
62
|
ngx_flag_t sticky_sessions;
|
62
63
|
ngx_str_t app_group_name;
|
@@ -114,6 +115,7 @@ typedef struct {
|
|
114
115
|
ngx_str_t request_queue_overflow_status_code_source_file;
|
115
116
|
ngx_str_t restart_dir_source_file;
|
116
117
|
ngx_str_t ruby_source_file;
|
118
|
+
ngx_str_t spawn_exception_status_code_source_file;
|
117
119
|
ngx_str_t spawn_method_source_file;
|
118
120
|
ngx_str_t start_timeout_source_file;
|
119
121
|
ngx_str_t startup_file_source_file;
|
@@ -167,6 +169,7 @@ typedef struct {
|
|
167
169
|
ngx_uint_t request_queue_overflow_status_code_source_line;
|
168
170
|
ngx_uint_t restart_dir_source_line;
|
169
171
|
ngx_uint_t ruby_source_line;
|
172
|
+
ngx_uint_t spawn_exception_status_code_source_line;
|
170
173
|
ngx_uint_t spawn_method_source_line;
|
171
174
|
ngx_uint_t start_timeout_source_line;
|
172
175
|
ngx_uint_t startup_file_source_line;
|
@@ -220,6 +223,7 @@ typedef struct {
|
|
220
223
|
ngx_int_t request_queue_overflow_status_code_explicitly_set;
|
221
224
|
ngx_int_t restart_dir_explicitly_set;
|
222
225
|
ngx_int_t ruby_explicitly_set;
|
226
|
+
ngx_int_t spawn_exception_status_code_explicitly_set;
|
223
227
|
ngx_int_t spawn_method_explicitly_set;
|
224
228
|
ngx_int_t start_timeout_explicitly_set;
|
225
229
|
ngx_int_t startup_file_explicitly_set;
|
@@ -104,8 +104,9 @@ module PhusionPassenger
|
|
104
104
|
# as the instance registry dir. See https://github.com/phusion/passenger/issues/1475
|
105
105
|
#
|
106
106
|
# systemd's PrivateTmp feature works like an inverted OSX, apache gets its own
|
107
|
-
# TMPDIR and users use /tmp
|
108
|
-
|
107
|
+
# TMPDIR and users use /tmp, however the path is often too long because socket paths can
|
108
|
+
# only be up to 108 characters long.
|
109
|
+
[string_env("TMPDIR"), "/tmp", "/var/run/passenger-instreg",*Dir['/tmp/systemd-private-*-{httpd,nginx,apache2}.service-*/tmp']].compact
|
109
110
|
end
|
110
111
|
|
111
112
|
def string_env(name)
|
@@ -310,7 +310,7 @@ module PhusionPassenger
|
|
310
310
|
end
|
311
311
|
|
312
312
|
# If we were forked from a preloader process then clear or
|
313
|
-
# re-establish ActiveRecord database connections. This prevents
|
313
|
+
# re-establish ActiveRecord/Mongoid database connections. This prevents
|
314
314
|
# child processes from concurrently accessing the same
|
315
315
|
# database connection handles.
|
316
316
|
if forked
|
@@ -327,6 +327,13 @@ module PhusionPassenger
|
|
327
327
|
end
|
328
328
|
end
|
329
329
|
|
330
|
+
if defined?(Mongoid::Clients)
|
331
|
+
Mongoid::Clients.clients.each do |name, client|
|
332
|
+
client.close
|
333
|
+
client.reconnect
|
334
|
+
end
|
335
|
+
end
|
336
|
+
|
330
337
|
if defined?(Sequel)
|
331
338
|
Sequel::DATABASES.each(&:disconnect)
|
332
339
|
end
|
@@ -676,6 +676,12 @@ NGINX_CONFIGURATION_OPTIONS = [
|
|
676
676
|
:type => :integer,
|
677
677
|
:default => 503
|
678
678
|
},
|
679
|
+
{
|
680
|
+
:name => 'passenger_spawn_exception_status_code',
|
681
|
+
:scope => :location,
|
682
|
+
:type => :integer,
|
683
|
+
:default => 500
|
684
|
+
},
|
679
685
|
{
|
680
686
|
:name => 'passenger_buffer_upload',
|
681
687
|
:type => :flag,
|
@@ -57,7 +57,7 @@ module PhusionPassenger
|
|
57
57
|
elsif File.exist?("/usr/local/opt/openssl/include")
|
58
58
|
"-L/usr/local/opt/openssl/lib"
|
59
59
|
elsif File.exist?("/opt/homebrew/opt/openssl/include")
|
60
|
-
"-L/opt/homebrew/opt/openssl/
|
60
|
+
"-L/opt/homebrew/opt/openssl/lib"
|
61
61
|
else
|
62
62
|
"-L/opt/local/lib"
|
63
63
|
end
|
@@ -250,6 +250,14 @@ module PhusionPassenger
|
|
250
250
|
return File.exists?("/proc/xen/capabilities") && cpu_architectures[0] == "x86"
|
251
251
|
end
|
252
252
|
memoize :requires_no_tls_direct_seg_refs?, true
|
253
|
+
|
254
|
+
# Returns true if the current os is running in Windows Subsystem for Linux
|
255
|
+
def self.windows_subsystem?
|
256
|
+
uname = uname_command
|
257
|
+
raise "The 'uname' command cannot be found" if !uname
|
258
|
+
`#{uname} -r`.include?("Microsoft")
|
259
|
+
end
|
260
|
+
memoize :windows_subsystem?, true
|
253
261
|
end
|
254
262
|
|
255
263
|
end # module PhusionPassenger
|
@@ -279,7 +279,10 @@ module PhusionPassenger
|
|
279
279
|
# is still bugged as of version 1.7.0. They can
|
280
280
|
# cause unexplicable freezes when used in combination
|
281
281
|
# with threading.
|
282
|
-
|
282
|
+
# It's also bugged in Windows Subsystem for Linux
|
283
|
+
# as of Windows 10, version 1803 (Fall Creators Update)
|
284
|
+
# You will get "Address In Use" errors even if the port is unused.
|
285
|
+
return !@force_http_session && ruby_engine != "jruby" && !PlatformInfo.windows_subsystem?
|
283
286
|
end
|
284
287
|
|
285
288
|
def create_unix_socket_on_filesystem(options)
|
@@ -31,7 +31,7 @@ module PhusionPassenger
|
|
31
31
|
|
32
32
|
PACKAGE_NAME = 'passenger'
|
33
33
|
# Run 'rake src/cxx_supportlib/Constants.h configkit_schemas_inline_comments' after changing this number.
|
34
|
-
VERSION_STRING = '6.0.
|
34
|
+
VERSION_STRING = '6.0.12'
|
35
35
|
|
36
36
|
# Tip: find the SHA-256 with ./dev/nginx_version_sha2 <VERSION>
|
37
37
|
PREFERRED_NGINX_VERSION = '1.20.1'
|