passenger 4.0.20 → 4.0.21
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- checksums.yaml +8 -8
- checksums.yaml.gz.asc +7 -7
- data.tar.gz.asc +7 -7
- data/.gitignore +1 -0
- data/.travis.yml +1 -1
- data/NEWS +15 -0
- data/README.md +5 -3
- data/Rakefile +1 -0
- data/bin/passenger-config +1 -5
- data/bin/passenger-install-apache2-module +53 -5
- data/bin/passenger-install-nginx-module +19 -6
- data/bin/passenger-memory-stats +3 -3
- data/build/agents.rb +11 -8
- data/build/apache2.rb +9 -5
- data/build/basics.rb +15 -21
- data/build/common_library.rb +16 -6
- data/build/cplusplus_support.rb +5 -5
- data/build/cxx_tests.rb +3 -3
- data/build/documentation.rb +1 -1
- data/build/misc.rb +4 -37
- data/build/node_tests.rb +29 -0
- data/build/oxt_tests.rb +1 -1
- data/build/packaging.rb +29 -10
- data/build/preprocessor.rb +2 -1
- data/build/test_basics.rb +15 -6
- data/debian.template/locations.ini.template +1 -0
- data/debian.template/passenger.install.template +1 -0
- data/dev/copy_boost_headers.rb +7 -3
- data/dev/run_travis.sh +32 -16
- data/doc/Users guide Apache.idmap.txt +22 -34
- data/doc/Users guide Apache.txt +20 -234
- data/doc/Users guide Nginx.idmap.txt +84 -66
- data/doc/Users guide Nginx.txt +50 -1
- data/doc/Users guide Standalone.idmap.txt +74 -0
- data/doc/Users guide Standalone.txt +22 -9
- data/doc/Users guide.txt +51 -0
- data/doc/users_guide_snippets/environment_variables.txt +0 -3
- data/doc/users_guide_snippets/installation.txt +337 -380
- data/doc/users_guide_snippets/installation/run_installer.txt +58 -0
- data/doc/users_guide_snippets/installation/verify_running_epilogue.txt +6 -0
- data/doc/users_guide_snippets/support_information.txt +2 -9
- data/doc/users_guide_snippets/troubleshooting/default.txt +112 -0
- data/doc/users_guide_snippets/troubleshooting/rails.txt +56 -0
- data/doc/users_guide_snippets/where_to_get_support.txt +9 -0
- data/ext/apache2/Bucket.h +1 -1
- data/ext/apache2/Configuration.hpp +0 -44
- data/ext/apache2/CreateDirConfig.cpp +1 -1
- data/ext/apache2/CreateDirConfig.cpp.erb +1 -1
- data/ext/apache2/Hooks.cpp +28 -21
- data/ext/apache2/MergeDirConfig.cpp +1 -0
- data/ext/apache2/MergeDirConfig.cpp.erb +1 -1
- data/ext/apache2/SetHeaders.cpp +73 -0
- data/ext/apache2/SetHeaders.cpp.erb +88 -0
- data/ext/boost/algorithm/string/detail/find_format.hpp +5 -5
- data/ext/boost/algorithm/string/detail/find_format_all.hpp +5 -5
- data/ext/boost/algorithm/string/detail/finder.hpp +1 -1
- data/ext/boost/algorithm/string/formatter.hpp +2 -2
- data/ext/boost/assert.hpp +6 -1
- data/ext/boost/atomic.hpp +18 -0
- data/ext/boost/atomic/atomic.hpp +241 -0
- data/ext/boost/atomic/detail/base.hpp +585 -0
- data/ext/boost/atomic/detail/cas32strong.hpp +885 -0
- data/ext/boost/atomic/detail/cas32weak.hpp +947 -0
- data/ext/boost/atomic/detail/cas64strong.hpp +443 -0
- data/ext/boost/atomic/detail/config.hpp +54 -0
- data/ext/boost/atomic/detail/gcc-alpha.hpp +368 -0
- data/ext/boost/atomic/detail/gcc-armv6plus.hpp +252 -0
- data/ext/boost/atomic/detail/gcc-cas.hpp +157 -0
- data/ext/boost/atomic/detail/gcc-ppc.hpp +2850 -0
- data/ext/boost/atomic/detail/gcc-sparcv9.hpp +1259 -0
- data/ext/boost/atomic/detail/gcc-x86.hpp +1766 -0
- data/ext/boost/atomic/detail/generic-cas.hpp +206 -0
- data/ext/boost/atomic/detail/interlocked.hpp +200 -0
- data/ext/boost/atomic/detail/linux-arm.hpp +189 -0
- data/ext/boost/atomic/detail/lockpool.hpp +97 -0
- data/ext/boost/atomic/detail/platform.hpp +62 -0
- data/ext/boost/atomic/detail/type-classification.hpp +45 -0
- data/ext/boost/chrono/config.hpp +8 -3
- data/ext/boost/chrono/duration.hpp +9 -10
- data/ext/boost/chrono/system_clocks.hpp +1 -1
- data/ext/boost/chrono/time_point.hpp +4 -3
- data/ext/boost/config/auto_link.hpp +53 -52
- data/ext/boost/config/compiler/borland.hpp +1 -0
- data/ext/boost/config/compiler/clang.hpp +24 -1
- data/ext/boost/config/compiler/codegear.hpp +1 -0
- data/ext/boost/config/compiler/common_edg.hpp +1 -0
- data/ext/boost/config/compiler/cray.hpp +1 -0
- data/ext/boost/config/compiler/digitalmars.hpp +1 -0
- data/ext/boost/config/compiler/gcc.hpp +29 -3
- data/ext/boost/config/compiler/gcc_xml.hpp +2 -1
- data/ext/boost/config/compiler/hp_acc.hpp +1 -0
- data/ext/boost/config/compiler/intel.hpp +1 -1
- data/ext/boost/config/compiler/metrowerks.hpp +1 -0
- data/ext/boost/config/compiler/mpw.hpp +1 -0
- data/ext/boost/config/compiler/pathscale.hpp +1 -0
- data/ext/boost/config/compiler/pgi.hpp +1 -0
- data/ext/boost/config/compiler/sunpro_cc.hpp +1 -0
- data/ext/boost/config/compiler/vacpp.hpp +3 -2
- data/ext/boost/config/compiler/visualc.hpp +25 -11
- data/ext/boost/config/platform/vxworks.hpp +353 -15
- data/ext/boost/config/select_compiler_config.hpp +4 -4
- data/ext/boost/config/stdlib/dinkumware.hpp +10 -3
- data/ext/boost/config/stdlib/libstdcpp3.hpp +2 -1
- data/ext/boost/config/suffix.hpp +45 -19
- data/ext/boost/date_time/format_date_parser.hpp +1 -11
- data/ext/boost/date_time/strings_from_facet.hpp +5 -3
- data/ext/boost/detail/atomic_redef_macros.hpp +19 -0
- data/ext/boost/detail/atomic_undef_macros.hpp +39 -0
- data/ext/boost/detail/endian.hpp +52 -4
- data/ext/boost/detail/scoped_enum_emulation.hpp +10 -10
- data/ext/boost/detail/select_type.hpp +36 -0
- data/ext/boost/exception/current_exception_cast.hpp +1 -1
- data/ext/boost/exception/detail/error_info_impl.hpp +3 -5
- data/ext/boost/exception/detail/exception_ptr.hpp +3 -3
- data/ext/boost/exception/detail/is_output_streamable.hpp +1 -1
- data/ext/boost/exception/detail/object_hex_dump.hpp +1 -1
- data/ext/boost/exception/detail/type_info.hpp +1 -1
- data/ext/boost/exception/diagnostic_information.hpp +15 -14
- data/ext/boost/exception/exception.hpp +1 -1
- data/ext/boost/exception/get_error_info.hpp +1 -1
- data/ext/boost/exception/info.hpp +12 -13
- data/ext/boost/exception/to_string.hpp +6 -1
- data/ext/boost/exception/to_string_stub.hpp +9 -1
- data/ext/boost/foreach.hpp +5 -5
- data/ext/boost/function/function_template.hpp +6 -6
- data/ext/boost/functional/hash/detail/float_functions.hpp +90 -0
- data/ext/boost/functional/hash/detail/hash_float.hpp +11 -2
- data/ext/boost/functional/hash/extensions.hpp +14 -2
- data/ext/boost/functional/hash/hash.hpp +26 -5
- data/ext/boost/get_pointer.hpp +17 -2
- data/ext/boost/integer_traits.hpp +1 -1
- data/ext/boost/lexical_cast.hpp +615 -395
- data/ext/boost/libs/atomic/lockpool.cpp +24 -0
- data/ext/boost/libs/system/src/error_code.cpp +25 -18
- data/ext/boost/libs/thread/src/future.cpp +7 -5
- data/ext/boost/libs/thread/src/pthread/once.cpp +9 -3
- data/ext/boost/libs/thread/src/pthread/once_atomic.cpp +90 -0
- data/ext/boost/libs/thread/src/pthread/thread.cpp +129 -95
- data/ext/boost/libs/thread/src/pthread/timeconv.inl +20 -1
- data/ext/boost/limits.hpp +1 -1
- data/ext/boost/math/policies/policy.hpp +10 -0
- data/ext/boost/math/special_functions/detail/round_fwd.hpp +17 -4
- data/ext/boost/math/special_functions/fpclassify.hpp +114 -45
- data/ext/boost/math/special_functions/math_fwd.hpp +195 -83
- data/ext/boost/math/special_functions/sign.hpp +13 -8
- data/ext/boost/math/tools/config.hpp +38 -16
- data/ext/boost/move/algorithm.hpp +275 -0
- data/ext/boost/move/core.hpp +332 -0
- data/ext/boost/move/detail/config_begin.hpp +23 -0
- data/ext/boost/move/detail/config_end.hpp +20 -0
- data/ext/boost/move/detail/meta_utils.hpp +158 -0
- data/ext/boost/move/iterator.hpp +298 -0
- data/ext/boost/move/move.hpp +10 -1256
- data/ext/boost/move/traits.hpp +142 -0
- data/ext/boost/move/utility.hpp +194 -0
- data/ext/boost/mpl/assert.hpp +72 -4
- data/ext/boost/noncopyable.hpp +15 -3
- data/ext/boost/pointer_to_other.hpp +55 -0
- data/ext/boost/range/concepts.hpp +4 -4
- data/ext/boost/range/detail/extract_optional_type.hpp +1 -1
- data/ext/boost/range/empty.hpp +1 -1
- data/ext/boost/range/iterator_range_core.hpp +4 -1
- data/ext/boost/range/iterator_range_io.hpp +2 -2
- data/ext/boost/ratio/config.hpp +6 -0
- data/ext/boost/ratio/detail/overflow_helpers.hpp +2 -2
- data/ext/boost/smart_ptr/allocate_shared_array.hpp +250 -0
- data/ext/boost/smart_ptr/detail/allocate_array_helper.hpp +169 -0
- data/ext/boost/smart_ptr/detail/array_deleter.hpp +124 -0
- data/ext/boost/smart_ptr/detail/array_traits.hpp +53 -0
- data/ext/boost/smart_ptr/detail/array_utility.hpp +178 -0
- data/ext/boost/smart_ptr/detail/make_array_helper.hpp +157 -0
- data/ext/boost/smart_ptr/detail/operator_bool.hpp +16 -9
- data/ext/boost/smart_ptr/detail/shared_count.hpp +78 -7
- data/ext/boost/smart_ptr/detail/sp_convertible.hpp +15 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base.hpp +12 -6
- data/ext/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_aix.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_nt.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_pt.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +162 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_spin.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_sync.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +1 -0
- data/ext/boost/smart_ptr/detail/sp_counted_impl.hpp +15 -0
- data/ext/boost/smart_ptr/detail/sp_forward.hpp +39 -0
- data/ext/boost/smart_ptr/detail/sp_has_sync.hpp +19 -3
- data/ext/boost/smart_ptr/detail/sp_if_array.hpp +31 -0
- data/ext/boost/smart_ptr/detail/sp_nullptr_t.hpp +45 -0
- data/ext/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +5 -12
- data/ext/boost/smart_ptr/enable_shared_from_this.hpp +4 -4
- data/ext/boost/smart_ptr/make_shared.hpp +5 -1060
- data/ext/boost/smart_ptr/make_shared_array.hpp +247 -0
- data/ext/boost/smart_ptr/make_shared_object.hpp +1128 -0
- data/ext/boost/smart_ptr/scoped_array.hpp +32 -7
- data/ext/boost/smart_ptr/scoped_ptr.hpp +31 -5
- data/ext/boost/smart_ptr/shared_array.hpp +135 -20
- data/ext/boost/smart_ptr/shared_ptr.hpp +444 -126
- data/ext/boost/smart_ptr/weak_ptr.hpp +39 -28
- data/ext/boost/static_assert.hpp +74 -17
- data/ext/boost/system/error_code.hpp +76 -68
- data/ext/boost/system/system_error.hpp +5 -1
- data/ext/boost/thread/barrier.hpp +6 -2
- data/ext/boost/thread/completion_latch.hpp +233 -0
- data/ext/boost/thread/condition.hpp +6 -1
- data/ext/boost/thread/detail/async_func.hpp +571 -0
- data/ext/boost/thread/detail/config.hpp +248 -40
- data/ext/boost/thread/detail/counter.hpp +93 -0
- data/ext/boost/thread/detail/delete.hpp +12 -0
- data/ext/boost/thread/detail/invoke.hpp +1351 -0
- data/ext/boost/thread/detail/is_convertible.hpp +48 -0
- data/ext/boost/thread/detail/lockable_wrapper.hpp +45 -0
- data/ext/boost/thread/detail/log.hpp +83 -0
- data/ext/boost/thread/detail/make_tuple_indices.hpp +224 -0
- data/ext/boost/thread/detail/move.hpp +32 -16
- data/ext/boost/thread/detail/thread.hpp +236 -41
- data/ext/boost/thread/detail/thread_group.hpp +55 -9
- data/ext/boost/thread/detail/thread_interruption.hpp +4 -1
- data/ext/boost/thread/exceptions.hpp +2 -0
- data/ext/boost/thread/externally_locked.hpp +351 -0
- data/ext/boost/thread/externally_locked_stream.hpp +170 -0
- data/ext/boost/thread/future.hpp +2517 -455
- data/ext/boost/thread/future_error_code.hpp +61 -0
- data/ext/boost/thread/is_locked_by_this_thread.hpp +39 -0
- data/ext/boost/thread/latch.hpp +142 -0
- data/ext/boost/thread/lock_algorithms.hpp +468 -0
- data/ext/boost/thread/lock_concepts.hpp +197 -0
- data/ext/boost/thread/lock_factories.hpp +78 -0
- data/ext/boost/thread/lock_guard.hpp +88 -0
- data/ext/boost/thread/lock_options.hpp +31 -0
- data/ext/boost/thread/lock_traits.hpp +45 -0
- data/ext/boost/thread/lock_types.hpp +1226 -0
- data/ext/boost/thread/lockable_adapter.hpp +226 -0
- data/ext/boost/thread/lockable_concepts.hpp +157 -0
- data/ext/boost/thread/lockable_traits.hpp +207 -0
- data/ext/boost/thread/locks.hpp +5 -1816
- data/ext/boost/thread/mutex.hpp +33 -1
- data/ext/boost/thread/null_mutex.hpp +243 -0
- data/ext/boost/thread/once.hpp +10 -1
- data/ext/boost/thread/poly_lockable.hpp +68 -0
- data/ext/boost/thread/poly_lockable_adapter.hpp +89 -0
- data/ext/boost/thread/poly_shared_lockable.hpp +135 -0
- data/ext/boost/thread/poly_shared_lockable_adapter.hpp +170 -0
- data/ext/boost/thread/pthread/condition_variable.hpp +74 -26
- data/ext/boost/thread/pthread/condition_variable_fwd.hpp +54 -27
- data/ext/boost/thread/pthread/mutex.hpp +101 -38
- data/ext/boost/thread/pthread/once.hpp +459 -44
- data/ext/boost/thread/pthread/once_atomic.hpp +313 -0
- data/ext/boost/thread/pthread/recursive_mutex.hpp +19 -10
- data/ext/boost/thread/pthread/shared_mutex.hpp +226 -61
- data/ext/boost/thread/pthread/shared_mutex_assert.hpp +724 -0
- data/ext/boost/thread/pthread/thread_data.hpp +53 -50
- data/ext/boost/thread/pthread/timespec.hpp +96 -12
- data/ext/boost/thread/recursive_mutex.hpp +44 -1
- data/ext/boost/thread/reverse_lock.hpp +3 -2
- data/ext/boost/thread/scoped_thread.hpp +285 -0
- data/ext/boost/thread/shared_lock_guard.hpp +2 -1
- data/ext/boost/thread/shared_mutex.hpp +23 -0
- data/ext/boost/thread/strict_lock.hpp +235 -0
- data/ext/boost/thread/sync_bounded_queue.hpp +594 -0
- data/ext/boost/thread/sync_queue.hpp +516 -0
- data/ext/boost/thread/synchronized_value.hpp +1001 -0
- data/ext/boost/thread/testable_mutex.hpp +148 -0
- data/ext/boost/thread/thread.hpp +1 -13
- data/ext/boost/thread/thread_functors.hpp +57 -0
- data/ext/boost/thread/thread_guard.hpp +46 -0
- data/ext/boost/thread/thread_only.hpp +29 -0
- data/ext/boost/thread/v2/shared_mutex.hpp +1062 -0
- data/ext/boost/thread/v2/thread.hpp +37 -10
- data/ext/boost/thread/xtime.hpp +2 -1
- data/ext/boost/token_functions.hpp +16 -16
- data/ext/boost/type_traits/add_lvalue_reference.hpp +26 -0
- data/ext/boost/type_traits/add_reference.hpp +1 -1
- data/ext/boost/type_traits/add_rvalue_reference.hpp +4 -4
- data/ext/boost/type_traits/aligned_storage.hpp +13 -0
- data/ext/boost/type_traits/common_type.hpp +11 -12
- data/ext/boost/type_traits/config.hpp +1 -1
- data/ext/boost/type_traits/detail/common_type_imp.hpp +1 -1
- data/ext/boost/type_traits/detail/has_binary_operator.hpp +1 -1
- data/ext/boost/type_traits/detail/is_function_ptr_tester.hpp +1 -1
- data/ext/boost/type_traits/has_left_shift.hpp +49 -0
- data/ext/boost/type_traits/has_right_shift.hpp +49 -0
- data/ext/boost/type_traits/has_trivial_move_assign.hpp +57 -0
- data/ext/boost/type_traits/has_trivial_move_constructor.hpp +57 -0
- data/ext/boost/type_traits/intrinsics.hpp +18 -2
- data/ext/boost/type_traits/is_abstract.hpp +1 -1
- data/ext/boost/type_traits/is_array.hpp +1 -1
- data/ext/boost/type_traits/is_const.hpp +1 -1
- data/ext/boost/type_traits/is_convertible.hpp +78 -17
- data/ext/boost/type_traits/is_function.hpp +6 -1
- data/ext/boost/type_traits/is_integral.hpp +6 -1
- data/ext/boost/type_traits/is_nothrow_move_assignable.hpp +84 -0
- data/ext/boost/type_traits/is_nothrow_move_constructible.hpp +84 -0
- data/ext/boost/type_traits/is_pod.hpp +3 -1
- data/ext/boost/type_traits/is_rvalue_reference.hpp +1 -1
- data/ext/boost/type_traits/is_volatile.hpp +1 -1
- data/ext/boost/type_traits/make_signed.hpp +153 -0
- data/ext/boost/type_traits/make_unsigned.hpp +16 -0
- data/ext/boost/type_traits/remove_const.hpp +1 -1
- data/ext/boost/type_traits/remove_cv.hpp +1 -1
- data/ext/boost/type_traits/remove_reference.hpp +1 -1
- data/ext/boost/type_traits/remove_volatile.hpp +1 -1
- data/ext/boost/unordered/detail/allocate.hpp +1120 -0
- data/ext/boost/unordered/detail/buckets.hpp +876 -0
- data/ext/boost/unordered/detail/equivalent.hpp +680 -0
- data/ext/boost/unordered/detail/extract_key.hpp +183 -0
- data/ext/boost/unordered/detail/fwd.hpp +23 -0
- data/ext/boost/unordered/detail/table.hpp +861 -0
- data/ext/boost/unordered/detail/unique.hpp +622 -0
- data/ext/boost/unordered/detail/util.hpp +260 -0
- data/ext/boost/unordered/unordered_map.hpp +1652 -0
- data/ext/boost/unordered/unordered_map_fwd.hpp +65 -0
- data/ext/boost/unordered/unordered_set.hpp +1549 -0
- data/ext/boost/unordered/unordered_set_fwd.hpp +63 -0
- data/ext/boost/unordered_map.hpp +18 -0
- data/ext/boost/unordered_set.hpp +18 -0
- data/ext/boost/utility/addressof.hpp +2 -2
- data/ext/boost/utility/result_of.hpp +8 -1
- data/ext/boost/version.hpp +2 -2
- data/ext/common/Account.h +1 -1
- data/ext/common/AccountsDatabase.h +1 -1
- data/ext/common/AgentsStarter.cpp +3 -1
- data/ext/common/AgentsStarter.h +2 -2
- data/ext/common/ApplicationPool2/AppTypes.cpp +24 -6
- data/ext/common/ApplicationPool2/AppTypes.h +17 -8
- data/ext/common/ApplicationPool2/Common.h +12 -12
- data/ext/common/ApplicationPool2/DirectSpawner.h +2 -2
- data/ext/common/ApplicationPool2/DummySpawner.h +3 -3
- data/ext/common/ApplicationPool2/Group.h +6 -6
- data/ext/common/ApplicationPool2/Implementation.cpp +19 -19
- data/ext/common/ApplicationPool2/PipeWatcher.h +5 -5
- data/ext/common/ApplicationPool2/Pool.h +21 -21
- data/ext/common/ApplicationPool2/Process.h +6 -6
- data/ext/common/ApplicationPool2/Session.h +1 -1
- data/ext/common/ApplicationPool2/SmartSpawner.h +24 -12
- data/ext/common/ApplicationPool2/Socket.h +2 -2
- data/ext/common/ApplicationPool2/Spawner.h +64 -14
- data/ext/common/ApplicationPool2/SpawnerFactory.h +7 -7
- data/ext/common/ApplicationPool2/SuperGroup.h +5 -5
- data/ext/common/BackgroundEventLoop.cpp +4 -4
- data/ext/common/BackgroundEventLoop.h +1 -1
- data/ext/common/Constants.h +13 -1
- data/ext/common/EventedBufferedInput.h +8 -8
- data/ext/common/Exceptions.cpp +71 -0
- data/ext/common/Exceptions.h +60 -7
- data/ext/common/FileDescriptor.h +4 -4
- data/ext/common/MessageClient.h +1 -1
- data/ext/common/MessageServer.h +5 -5
- data/ext/common/MultiLibeio.cpp +3 -3
- data/ext/common/MultiLibeio.h +2 -2
- data/ext/common/RandomGenerator.h +11 -11
- data/ext/common/ResourceLocator.h +8 -1
- data/ext/common/SafeLibev.h +12 -12
- data/ext/common/ServerInstanceDir.h +11 -3
- data/ext/common/UnionStation.h +10 -10
- data/ext/common/Utils.cpp +11 -13
- data/ext/common/Utils.h +9 -9
- data/ext/common/Utils/BlockingQueue.h +10 -10
- data/ext/common/Utils/BufferedIO.h +1 -1
- data/ext/common/Utils/CachedFileStat.hpp +2 -2
- data/ext/common/Utils/FileChangeChecker.h +1 -1
- data/ext/common/Utils/HashMap.h +13 -4
- data/ext/common/Utils/IOUtils.cpp +33 -10
- data/ext/common/Utils/IniFile.h +3 -3
- data/ext/common/Utils/Lock.h +2 -2
- data/ext/common/Utils/MessagePassing.h +10 -10
- data/ext/common/Utils/ProcessMetricsCollector.h +24 -6
- data/ext/common/Utils/ScopeGuard.h +5 -5
- data/ext/common/Utils/jsoncpp.cpp +2 -0
- data/ext/common/agents/HelperAgent/FileBackedPipe.h +26 -26
- data/ext/common/agents/HelperAgent/Main.cpp +18 -18
- data/ext/common/agents/HelperAgent/RequestHandler.cpp +4 -4
- data/ext/common/agents/HelperAgent/RequestHandler.h +30 -21
- data/ext/common/agents/LoggingAgent/AdminController.h +1 -1
- data/ext/common/agents/LoggingAgent/FilterSupport.h +13 -11
- data/ext/common/agents/LoggingAgent/LoggingServer.h +11 -11
- data/ext/common/agents/LoggingAgent/Main.cpp +9 -9
- data/ext/common/agents/LoggingAgent/RemoteSender.h +3 -3
- data/ext/common/agents/SpawnPreparer.cpp +1 -0
- data/ext/common/agents/Watchdog/AgentWatcher.cpp +8 -7
- data/ext/common/agents/Watchdog/Main.cpp +81 -73
- data/ext/common/agents/Watchdog/ServerInstanceDirToucher.cpp +1 -1
- data/ext/libev/Changes +57 -0
- data/ext/libev/LICENSE +2 -1
- data/ext/libev/Makefile.in +110 -50
- data/ext/libev/README +8 -8
- data/ext/libev/aclocal.m4 +1503 -861
- data/ext/libev/config.guess +290 -304
- data/ext/libev/config.sub +77 -198
- data/ext/libev/configure +1735 -890
- data/ext/libev/configure.ac +3 -2
- data/ext/libev/ev++.h +6 -6
- data/ext/libev/ev.c +541 -214
- data/ext/libev/ev.h +106 -100
- data/ext/libev/ev_epoll.c +1 -1
- data/ext/libev/ev_kqueue.c +20 -4
- data/ext/libev/ev_vars.h +15 -16
- data/ext/libev/ev_win32.c +12 -2
- data/ext/libev/ev_wrap.h +162 -160
- data/ext/libev/event.c +29 -6
- data/ext/libev/event.h +9 -2
- data/ext/libev/ltmain.sh +2632 -1384
- data/ext/nginx/ConfigurationCommands.c +1 -1
- data/ext/nginx/ConfigurationCommands.c.erb +3 -1
- data/ext/nginx/ContentHandler.c +25 -2
- data/ext/nginx/CreateLocationConfig.c +1 -0
- data/ext/nginx/CreateLocationConfig.c.erb +1 -1
- data/ext/nginx/MergeLocationConfig.c +1 -0
- data/ext/nginx/MergeLocationConfig.c.erb +1 -1
- data/ext/nginx/config +12 -0
- data/ext/oxt/dynamic_thread_group.hpp +7 -4
- data/ext/oxt/system_calls.cpp +5 -1
- data/ext/oxt/system_calls.hpp +3 -0
- data/helper-scripts/node-loader.js +117 -249
- data/lib/phusion_passenger.rb +27 -5
- data/lib/phusion_passenger/abstract_installer.rb +104 -9
- data/lib/phusion_passenger/admin_tools/memory_stats.rb +10 -9
- data/lib/phusion_passenger/apache2/config_options.rb +6 -3
- data/lib/phusion_passenger/common_library.rb +7 -1
- data/lib/phusion_passenger/constants.rb +6 -0
- data/lib/phusion_passenger/loader_shared_helpers.rb +7 -4
- data/lib/phusion_passenger/nginx/config_options.rb +2 -1
- data/lib/phusion_passenger/packaging.rb +3 -0
- data/lib/phusion_passenger/platform_info/apache.rb +43 -6
- data/lib/phusion_passenger/platform_info/apache_detector.rb +15 -5
- data/lib/phusion_passenger/platform_info/compiler.rb +167 -32
- data/lib/phusion_passenger/platform_info/cxx_portability.rb +133 -77
- data/lib/phusion_passenger/platform_info/depcheck.rb +17 -7
- data/lib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +3 -3
- data/lib/phusion_passenger/platform_info/depcheck_specs/compiler_toolchain.rb +4 -4
- data/lib/phusion_passenger/platform_info/depcheck_specs/ruby.rb +5 -6
- data/lib/phusion_passenger/platform_info/linux.rb +2 -1
- data/lib/phusion_passenger/platform_info/operating_system.rb +1 -1
- data/lib/phusion_passenger/platform_info/ruby.rb +18 -3
- data/lib/phusion_passenger/standalone/runtime_installer.rb +6 -2
- data/lib/phusion_passenger/standalone/start_command.rb +8 -2
- data/lib/phusion_passenger/utils/ansi_colors.rb +9 -0
- data/lib/phusion_passenger/utils/hosts_file_parser.rb +4 -2
- data/node_lib/phusion_passenger/httplib_emulation.js +141 -0
- data/node_lib/phusion_passenger/line_reader.js +154 -0
- data/node_lib/phusion_passenger/request_handler.js +65 -0
- data/node_lib/phusion_passenger/session_protocol_parser.js +113 -0
- data/resources/templates/apache2/deployment_example.txt.erb +2 -1
- data/resources/templates/apache2/installing_against_a_different_apache.txt.erb +14 -0
- data/resources/templates/apache2/multiple_apache_installations_detected.txt.erb +15 -0
- data/resources/templates/apache2/possible_solutions_for_compilation_and_installation_problems.txt.erb +4 -5
- data/resources/templates/general_error_with_html.html.template +1 -1
- data/resources/templates/installer_common/gem_install_permission_problems.txt.erb +17 -0
- data/resources/templates/installer_common/low_amount_of_memory_warning.txt.erb +6 -4
- data/resources/templates/installer_common/world_inaccessible_directories.txt.erb +16 -0
- data/resources/templates/nginx/deployment_example.txt.erb +2 -1
- data/resources/templates/nginx/possible_solutions_for_compilation_and_installation_problems.txt.erb +4 -5
- data/resources/templates/standalone/config.erb +1 -0
- data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +3 -3
- data/test/cxx/ApplicationPool2/PoolTest.cpp +4 -4
- data/test/cxx/ApplicationPool2/ProcessTest.cpp +5 -5
- data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +5 -5
- data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +1 -1
- data/test/cxx/EventedBufferedInputTest.cpp +6 -6
- data/test/cxx/FileBackedPipeTest.cpp +1 -1
- data/test/cxx/MessagePassingTest.cpp +1 -1
- data/test/cxx/MessageServerTest.cpp +4 -4
- data/test/cxx/RequestHandlerTest.cpp +7 -7
- data/test/cxx/UnionStationTest.cpp +2 -2
- data/test/node/line_reader_spec.js +338 -0
- data/test/node/spec_helper.js +27 -0
- data/test/ruby/standalone/runtime_installer_spec.rb +2 -1
- metadata +131 -22
- metadata.gz.asc +7 -7
- data/ext/boost/functional/hash/detail/container_fwd_0x.hpp +0 -29
- data/ext/boost/lambda/core.hpp +0 -79
- data/ext/boost/lambda/detail/actions.hpp +0 -174
- data/ext/boost/lambda/detail/arity_code.hpp +0 -110
- data/ext/boost/lambda/detail/function_adaptors.hpp +0 -789
- data/ext/boost/lambda/detail/is_instance_of.hpp +0 -104
- data/ext/boost/lambda/detail/lambda_config.hpp +0 -48
- data/ext/boost/lambda/detail/lambda_functor_base.hpp +0 -615
- data/ext/boost/lambda/detail/lambda_functors.hpp +0 -324
- data/ext/boost/lambda/detail/lambda_fwd.hpp +0 -74
- data/ext/boost/lambda/detail/lambda_traits.hpp +0 -578
- data/ext/boost/lambda/detail/member_ptr.hpp +0 -737
- data/ext/boost/lambda/detail/operator_actions.hpp +0 -139
- data/ext/boost/lambda/detail/operator_lambda_func_base.hpp +0 -271
- data/ext/boost/lambda/detail/operator_return_type_traits.hpp +0 -917
- data/ext/boost/lambda/detail/operators.hpp +0 -370
- data/ext/boost/lambda/detail/ret.hpp +0 -325
- data/ext/boost/lambda/detail/return_type_traits.hpp +0 -282
- data/ext/boost/lambda/detail/select_functions.hpp +0 -74
- data/ext/boost/lambda/lambda.hpp +0 -34
@@ -11,7 +11,7 @@
|
|
11
11
|
[section:scoped_enums Scoped Enums]
|
12
12
|
|
13
13
|
Generates C++0x scoped enums if the feature is present, otherwise emulates C++0x
|
14
|
-
scoped enums with C++03 namespaces and enums. The Boost.Config
|
14
|
+
scoped enums with C++03 namespaces and enums. The Boost.Config BOOST_NO_CXX11_SCOPED_ENUMS
|
15
15
|
macro is used to detect feature support.
|
16
16
|
|
17
17
|
See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf for a
|
@@ -71,14 +71,14 @@ use
|
|
71
71
|
|
72
72
|
And instead of
|
73
73
|
|
74
|
-
#ifdef
|
74
|
+
#ifdef BOOST_NO_CXX11_SCOPED_ENUMS
|
75
75
|
template <>
|
76
76
|
struct BOOST_SYMBOL_VISIBLE is_error_code_enum<future_errc> : public true_type { };
|
77
77
|
#endif
|
78
78
|
|
79
79
|
use
|
80
80
|
|
81
|
-
#ifdef
|
81
|
+
#ifdef BOOST_NO_CXX11_SCOPED_ENUMS
|
82
82
|
template <>
|
83
83
|
struct BOOST_SYMBOL_VISIBLE is_error_code_enum<future_errc::enum_type > : public true_type { };
|
84
84
|
#endif
|
@@ -130,7 +130,7 @@ Sample usage:
|
|
130
130
|
namespace boost
|
131
131
|
{
|
132
132
|
|
133
|
-
#ifdef
|
133
|
+
#ifdef BOOST_NO_CXX11_SCOPED_ENUMS
|
134
134
|
/**
|
135
135
|
* Meta-function to get the underlying type of a scoped enum.
|
136
136
|
*
|
@@ -193,7 +193,7 @@ namespace boost
|
|
193
193
|
return e.native_value_();
|
194
194
|
}
|
195
195
|
|
196
|
-
#else //
|
196
|
+
#else // BOOST_NO_CXX11_SCOPED_ENUMS
|
197
197
|
|
198
198
|
template <typename EnumType>
|
199
199
|
struct underlying_type
|
@@ -224,9 +224,9 @@ namespace boost
|
|
224
224
|
}
|
225
225
|
|
226
226
|
|
227
|
-
#ifdef
|
227
|
+
#ifdef BOOST_NO_CXX11_SCOPED_ENUMS
|
228
228
|
|
229
|
-
#ifndef
|
229
|
+
#ifndef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
230
230
|
|
231
231
|
#define BOOST_SCOPED_ENUM_UT_DECLARE_CONVERSION_OPERATOR \
|
232
232
|
explicit operator underlying_type() const { return get_underlying_value_(); }
|
@@ -305,7 +305,7 @@ namespace boost
|
|
305
305
|
*/
|
306
306
|
#define BOOST_SCOPED_ENUM_FORWARD_DECLARE(EnumType) struct EnumType
|
307
307
|
|
308
|
-
#else //
|
308
|
+
#else // BOOST_NO_CXX11_SCOPED_ENUMS
|
309
309
|
|
310
310
|
#define BOOST_SCOPED_ENUM_UT_DECLARE_BEGIN(EnumType,UnderlyingType) enum class EnumType:UnderlyingType
|
311
311
|
#define BOOST_SCOPED_ENUM_DECLARE_BEGIN(EnumType) enum class EnumType
|
@@ -315,13 +315,13 @@ namespace boost
|
|
315
315
|
#define BOOST_SCOPED_ENUM_NATIVE(EnumType) EnumType
|
316
316
|
#define BOOST_SCOPED_ENUM_FORWARD_DECLARE(EnumType) enum class EnumType
|
317
317
|
|
318
|
-
#endif //
|
318
|
+
#endif // BOOST_NO_CXX11_SCOPED_ENUMS
|
319
319
|
|
320
320
|
#define BOOST_SCOPED_ENUM_START(name) BOOST_SCOPED_ENUM_DECLARE_BEGIN(name)
|
321
321
|
#define BOOST_SCOPED_ENUM_END BOOST_SCOPED_ENUM_DECLARE_END2()
|
322
322
|
#define BOOST_SCOPED_ENUM(name) BOOST_SCOPED_ENUM_NATIVE(name)
|
323
323
|
|
324
|
-
//#ifdef
|
324
|
+
//#ifdef BOOST_NO_CXX11_SCOPED_ENUMS
|
325
325
|
//
|
326
326
|
//# define BOOST_SCOPED_ENUM_START(name) struct name { enum enum_type
|
327
327
|
//# define BOOST_SCOPED_ENUM_END };
|
@@ -0,0 +1,36 @@
|
|
1
|
+
// (C) Copyright David Abrahams 2001.
|
2
|
+
// Distributed under the Boost Software License, Version 1.0. (See
|
3
|
+
// 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 for most recent version including documentation.
|
7
|
+
|
8
|
+
// Revision History
|
9
|
+
// 09 Feb 01 Applied John Maddock's Borland patch Moving <true>
|
10
|
+
// specialization to unspecialized template (David Abrahams)
|
11
|
+
// 06 Feb 01 Created (David Abrahams)
|
12
|
+
|
13
|
+
#ifndef SELECT_TYPE_DWA20010206_HPP
|
14
|
+
# define SELECT_TYPE_DWA20010206_HPP
|
15
|
+
|
16
|
+
namespace boost { namespace detail {
|
17
|
+
|
18
|
+
// Template class if_true -- select among 2 types based on a bool constant expression
|
19
|
+
// Usage:
|
20
|
+
// typename if_true<(bool_const_expression)>::template then<true_type, false_type>::type
|
21
|
+
|
22
|
+
// HP aCC cannot deal with missing names for template value parameters
|
23
|
+
template <bool b> struct if_true
|
24
|
+
{
|
25
|
+
template <class T, class F>
|
26
|
+
struct then { typedef T type; };
|
27
|
+
};
|
28
|
+
|
29
|
+
template <>
|
30
|
+
struct if_true<false>
|
31
|
+
{
|
32
|
+
template <class T, class F>
|
33
|
+
struct then { typedef F type; };
|
34
|
+
};
|
35
|
+
}}
|
36
|
+
#endif // SELECT_TYPE_DWA20010206_HPP
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
#ifndef UUID_7E83C166200811DE885E826156D89593
|
7
7
|
#define UUID_7E83C166200811DE885E826156D89593
|
8
|
-
#if
|
8
|
+
#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
9
9
|
#pragma GCC system_header
|
10
10
|
#endif
|
11
11
|
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
#ifndef UUID_CE6983AC753411DDA764247956D89593
|
7
7
|
#define UUID_CE6983AC753411DDA764247956D89593
|
8
|
-
#if
|
8
|
+
#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
9
9
|
#pragma GCC system_header
|
10
10
|
#endif
|
11
11
|
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
@@ -25,8 +25,7 @@ boost
|
|
25
25
|
{
|
26
26
|
public:
|
27
27
|
|
28
|
-
virtual std::string
|
29
|
-
virtual std::string value_as_string() const = 0;
|
28
|
+
virtual std::string name_value_string() const = 0;
|
30
29
|
|
31
30
|
protected:
|
32
31
|
|
@@ -63,8 +62,7 @@ boost
|
|
63
62
|
|
64
63
|
private:
|
65
64
|
|
66
|
-
std::string
|
67
|
-
std::string value_as_string() const;
|
65
|
+
std::string name_value_string() const;
|
68
66
|
|
69
67
|
value_type value_;
|
70
68
|
};
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
#ifndef UUID_618474C2DE1511DEB74A388C56D89593
|
7
7
|
#define UUID_618474C2DE1511DEB74A388C56D89593
|
8
|
-
#if
|
8
|
+
#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
9
9
|
#pragma GCC system_header
|
10
10
|
#endif
|
11
11
|
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
@@ -467,7 +467,7 @@ boost
|
|
467
467
|
|
468
468
|
inline
|
469
469
|
std::string
|
470
|
-
diagnostic_information( exception_ptr const & p )
|
470
|
+
diagnostic_information( exception_ptr const & p, bool verbose=true )
|
471
471
|
{
|
472
472
|
if( p )
|
473
473
|
try
|
@@ -477,7 +477,7 @@ boost
|
|
477
477
|
catch(
|
478
478
|
... )
|
479
479
|
{
|
480
|
-
return current_exception_diagnostic_information();
|
480
|
+
return current_exception_diagnostic_information(verbose);
|
481
481
|
}
|
482
482
|
return "<empty>";
|
483
483
|
}
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
#ifndef UUID_898984B4076411DD973EDFA055D89593
|
7
7
|
#define UUID_898984B4076411DD973EDFA055D89593
|
8
|
-
#if
|
8
|
+
#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
9
9
|
#pragma GCC system_header
|
10
10
|
#endif
|
11
11
|
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
#ifndef UUID_6F463AC838DF11DDA3E6909F56D89593
|
7
7
|
#define UUID_6F463AC838DF11DDA3E6909F56D89593
|
8
|
-
#if
|
8
|
+
#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
9
9
|
#pragma GCC system_header
|
10
10
|
#endif
|
11
11
|
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
#ifndef UUID_C3E1741C754311DDB2834CCA55D89593
|
7
7
|
#define UUID_C3E1741C754311DDB2834CCA55D89593
|
8
|
-
#if
|
8
|
+
#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
9
9
|
#pragma GCC system_header
|
10
10
|
#endif
|
11
11
|
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
#ifndef UUID_0552D49838DD11DD90146B8956D89593
|
7
7
|
#define UUID_0552D49838DD11DD90146B8956D89593
|
8
|
-
#if
|
8
|
+
#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
9
9
|
#pragma GCC system_header
|
10
10
|
#endif
|
11
11
|
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
@@ -31,17 +31,17 @@ boost
|
|
31
31
|
namespace
|
32
32
|
exception_detail
|
33
33
|
{
|
34
|
-
std::string diagnostic_information_impl( boost::exception const *, std::exception const *, bool );
|
34
|
+
std::string diagnostic_information_impl( boost::exception const *, std::exception const *, bool, bool );
|
35
35
|
}
|
36
36
|
|
37
37
|
inline
|
38
38
|
std::string
|
39
|
-
current_exception_diagnostic_information()
|
39
|
+
current_exception_diagnostic_information( bool verbose=true)
|
40
40
|
{
|
41
41
|
boost::exception const * be=current_exception_cast<boost::exception const>();
|
42
42
|
std::exception const * se=current_exception_cast<std::exception const>();
|
43
43
|
if( be || se )
|
44
|
-
return exception_detail::diagnostic_information_impl(be,se,true);
|
44
|
+
return exception_detail::diagnostic_information_impl(be,se,true,verbose);
|
45
45
|
else
|
46
46
|
return "No diagnostic information available.";
|
47
47
|
}
|
@@ -107,7 +107,7 @@ boost
|
|
107
107
|
|
108
108
|
inline
|
109
109
|
std::string
|
110
|
-
diagnostic_information_impl( boost::exception const * be, std::exception const * se, bool with_what )
|
110
|
+
diagnostic_information_impl( boost::exception const * be, std::exception const * se, bool with_what, bool verbose )
|
111
111
|
{
|
112
112
|
if( !be && !se )
|
113
113
|
return "Unknown exception.";
|
@@ -125,7 +125,7 @@ boost
|
|
125
125
|
return wh;
|
126
126
|
}
|
127
127
|
std::ostringstream tmp;
|
128
|
-
if( be )
|
128
|
+
if( be && verbose )
|
129
129
|
{
|
130
130
|
char const * const * f=get_error_info<throw_file>(*be);
|
131
131
|
int const * l=get_error_info<throw_line>(*be);
|
@@ -149,36 +149,37 @@ boost
|
|
149
149
|
}
|
150
150
|
}
|
151
151
|
#ifndef BOOST_NO_RTTI
|
152
|
-
|
153
|
-
|
152
|
+
if ( verbose )
|
153
|
+
tmp << std::string("Dynamic exception type: ") <<
|
154
|
+
units::detail::demangle((be?(BOOST_EXCEPTION_DYNAMIC_TYPEID(*be)):(BOOST_EXCEPTION_DYNAMIC_TYPEID(*se))).type_->name()) << '\n';
|
154
155
|
#endif
|
155
|
-
if( with_what && se )
|
156
|
+
if( with_what && se && verbose )
|
156
157
|
tmp << "std::exception::what: " << wh << '\n';
|
157
158
|
if( be )
|
158
159
|
if( char const * s=exception_detail::get_diagnostic_information(*be,tmp.str().c_str()) )
|
159
160
|
if( *s )
|
160
|
-
return s;
|
161
|
+
return std::string(s);
|
161
162
|
return tmp.str();
|
162
163
|
}
|
163
164
|
}
|
164
165
|
|
165
166
|
template <class T>
|
166
167
|
std::string
|
167
|
-
diagnostic_information( T const & e )
|
168
|
+
diagnostic_information( T const & e, bool verbose=true )
|
168
169
|
{
|
169
|
-
return exception_detail::diagnostic_information_impl(exception_detail::get_boost_exception(&e),exception_detail::get_std_exception(&e),true);
|
170
|
+
return exception_detail::diagnostic_information_impl(exception_detail::get_boost_exception(&e),exception_detail::get_std_exception(&e),true,verbose);
|
170
171
|
}
|
171
172
|
|
172
173
|
inline
|
173
174
|
char const *
|
174
|
-
diagnostic_information_what( exception const & e ) throw()
|
175
|
+
diagnostic_information_what( exception const & e, bool verbose=true ) throw()
|
175
176
|
{
|
176
177
|
char const * w=0;
|
177
178
|
#ifndef BOOST_NO_EXCEPTIONS
|
178
179
|
try
|
179
180
|
{
|
180
181
|
#endif
|
181
|
-
(void) exception_detail::diagnostic_information_impl(&e,0,false);
|
182
|
+
(void) exception_detail::diagnostic_information_impl(&e,0,false,verbose);
|
182
183
|
if( char const * di=exception_detail::get_diagnostic_information(e,0) )
|
183
184
|
return di;
|
184
185
|
else
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
#ifndef UUID_274DA366004E11DCB1DDFE2E56D89593
|
7
7
|
#define UUID_274DA366004E11DCB1DDFE2E56D89593
|
8
|
-
#if
|
8
|
+
#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
9
9
|
#pragma GCC system_header
|
10
10
|
#endif
|
11
11
|
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
#ifndef UUID_1A590226753311DD9E4CCF6156D89593
|
7
7
|
#define UUID_1A590226753311DD9E4CCF6156D89593
|
8
|
-
#if
|
8
|
+
#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
9
9
|
#pragma GCC system_header
|
10
10
|
#endif
|
11
11
|
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
#ifndef UUID_8D22C4CA9CC811DCAA9133D256D89593
|
7
7
|
#define UUID_8D22C4CA9CC811DCAA9133D256D89593
|
8
|
-
#if
|
8
|
+
#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
9
9
|
#pragma GCC system_header
|
10
10
|
#endif
|
11
11
|
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
@@ -24,41 +24,40 @@ boost
|
|
24
24
|
{
|
25
25
|
template <class Tag,class T>
|
26
26
|
inline
|
27
|
-
|
28
|
-
|
27
|
+
std::string
|
28
|
+
error_info_name( error_info<Tag,T> const & x )
|
29
29
|
{
|
30
|
-
return
|
30
|
+
return tag_type_name<Tag>();
|
31
31
|
}
|
32
32
|
|
33
33
|
template <class Tag,class T>
|
34
34
|
inline
|
35
|
-
|
36
|
-
|
37
|
-
value_(value)
|
35
|
+
std::string
|
36
|
+
to_string( error_info<Tag,T> const & x )
|
38
37
|
{
|
38
|
+
return '[' + error_info_name(x) + "] = " + to_string_stub(x.value()) + '\n';
|
39
39
|
}
|
40
40
|
|
41
41
|
template <class Tag,class T>
|
42
42
|
inline
|
43
43
|
error_info<Tag,T>::
|
44
|
-
|
44
|
+
error_info( value_type const & value ):
|
45
|
+
value_(value)
|
45
46
|
{
|
46
47
|
}
|
47
48
|
|
48
49
|
template <class Tag,class T>
|
49
50
|
inline
|
50
|
-
std::string
|
51
51
|
error_info<Tag,T>::
|
52
|
-
|
52
|
+
~error_info() throw()
|
53
53
|
{
|
54
|
-
return tag_type_name<Tag>();
|
55
54
|
}
|
56
55
|
|
57
56
|
template <class Tag,class T>
|
58
57
|
inline
|
59
58
|
std::string
|
60
59
|
error_info<Tag,T>::
|
61
|
-
|
60
|
+
name_value_string() const
|
62
61
|
{
|
63
62
|
return to_string_stub(*this);
|
64
63
|
}
|
@@ -114,7 +113,7 @@ boost
|
|
114
113
|
for( error_info_map::const_iterator i=info_.begin(),end=info_.end(); i!=end; ++i )
|
115
114
|
{
|
116
115
|
error_info_base const & x = *i->second;
|
117
|
-
tmp <<
|
116
|
+
tmp << x.name_value_string();
|
118
117
|
}
|
119
118
|
tmp.str().swap(diagnostic_info_str_);
|
120
119
|
}
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
#ifndef UUID_7E48761AD92811DC9011477D56D89593
|
7
7
|
#define UUID_7E48761AD92811DC9011477D56D89593
|
8
|
-
#if
|
8
|
+
#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
9
9
|
#pragma GCC system_header
|
10
10
|
#endif
|
11
11
|
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
@@ -19,11 +19,16 @@
|
|
19
19
|
namespace
|
20
20
|
boost
|
21
21
|
{
|
22
|
+
template <class T,class U>
|
23
|
+
std::string to_string( std::pair<T,U> const & );
|
24
|
+
std::string to_string( std::exception const & );
|
25
|
+
|
22
26
|
namespace
|
23
27
|
to_string_detail
|
24
28
|
{
|
25
29
|
template <class T>
|
26
30
|
typename disable_if<is_output_streamable<T>,char>::type to_string( T const & );
|
31
|
+
using boost::to_string;
|
27
32
|
|
28
33
|
template <class,bool IsOutputStreamable>
|
29
34
|
struct has_to_string_impl;
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
#ifndef UUID_E788439ED9F011DCB181F25B55D89593
|
7
7
|
#define UUID_E788439ED9F011DCB181F25B55D89593
|
8
|
-
#if
|
8
|
+
#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
9
9
|
#pragma GCC system_header
|
10
10
|
#endif
|
11
11
|
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
@@ -101,6 +101,14 @@ boost
|
|
101
101
|
{
|
102
102
|
return exception_detail::to_string_dispatch::dispatch(x,s);
|
103
103
|
}
|
104
|
+
|
105
|
+
template <class T,class U,class Stub>
|
106
|
+
inline
|
107
|
+
std::string
|
108
|
+
to_string_stub( std::pair<T,U> const & x, Stub s )
|
109
|
+
{
|
110
|
+
return std::string("(") + to_string_stub(x.first,s) + ',' + to_string_stub(x.second,s) + ')';
|
111
|
+
}
|
104
112
|
}
|
105
113
|
|
106
114
|
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
data/ext/boost/foreach.hpp
CHANGED
@@ -31,7 +31,7 @@
|
|
31
31
|
#include <boost/detail/workaround.hpp>
|
32
32
|
|
33
33
|
// Some compilers let us detect even const-qualified rvalues at compile-time
|
34
|
-
#if !defined(
|
34
|
+
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) \
|
35
35
|
|| BOOST_WORKAROUND(BOOST_MSVC, >= 1310) && !defined(_PREFAST_) \
|
36
36
|
|| (BOOST_WORKAROUND(__GNUC__, == 4) && (__GNUC_MINOR__ <= 5) && !defined(BOOST_INTEL) && \
|
37
37
|
!defined(BOOST_CLANG)) \
|
@@ -228,7 +228,7 @@ template<typename T>
|
|
228
228
|
inline boost::mpl::true_ *is_const_(T const &) { return 0; }
|
229
229
|
#endif
|
230
230
|
|
231
|
-
#ifdef
|
231
|
+
#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
|
232
232
|
template<typename T>
|
233
233
|
inline boost::mpl::false_ *is_rvalue_(T &, int) { return 0; }
|
234
234
|
|
@@ -459,7 +459,7 @@ inline T &derefof(T *t)
|
|
459
459
|
#endif
|
460
460
|
|
461
461
|
#if defined(BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION) \
|
462
|
-
&& !defined(
|
462
|
+
&& !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
463
463
|
///////////////////////////////////////////////////////////////////////////////
|
464
464
|
// Rvalue references makes it drop-dead simple to detect at compile time
|
465
465
|
// whether an expression is an rvalue.
|
@@ -469,7 +469,7 @@ inline T &derefof(T *t)
|
|
469
469
|
boost::foreach_detail_::is_rvalue_((COL), 0)
|
470
470
|
|
471
471
|
#elif defined(BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION) \
|
472
|
-
&& defined(
|
472
|
+
&& defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
473
473
|
///////////////////////////////////////////////////////////////////////////////
|
474
474
|
// Detect at compile-time whether an expression yields an rvalue or
|
475
475
|
// an lvalue. This is rather non-standard, but some popular compilers
|
@@ -959,7 +959,7 @@ rderef(auto_any_t cur, type2type<T, C> *)
|
|
959
959
|
(true ? boost::foreach_detail_::make_probe((COL), BOOST_FOREACH_ID(_foreach_is_rvalue)) : (COL))
|
960
960
|
|
961
961
|
// The rvalue/lvalue-ness of the collection expression is determined dynamically, unless
|
962
|
-
//
|
962
|
+
// the type is an array or is noncopyable or is non-const, in which case we know it's an lvalue.
|
963
963
|
// If the type happens to be a lightweight proxy, always make a copy.
|
964
964
|
# define BOOST_FOREACH_SHOULD_COPY(COL) \
|
965
965
|
(boost::foreach_detail_::should_copy_impl( \
|