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
@@ -0,0 +1,97 @@
|
|
1
|
+
#ifndef BOOST_ATOMIC_DETAIL_LOCKPOOL_HPP
|
2
|
+
#define BOOST_ATOMIC_DETAIL_LOCKPOOL_HPP
|
3
|
+
|
4
|
+
// Copyright (c) 2011 Helge Bahmann
|
5
|
+
//
|
6
|
+
// Distributed under the Boost Software License, Version 1.0.
|
7
|
+
// See accompanying file LICENSE_1_0.txt or copy at
|
8
|
+
// http://www.boost.org/LICENSE_1_0.txt)
|
9
|
+
|
10
|
+
#include <boost/atomic/detail/config.hpp>
|
11
|
+
#ifndef BOOST_ATOMIC_FLAG_LOCK_FREE
|
12
|
+
#include <boost/thread/mutex.hpp>
|
13
|
+
#endif
|
14
|
+
|
15
|
+
#ifdef BOOST_ATOMIC_HAS_PRAGMA_ONCE
|
16
|
+
#pragma once
|
17
|
+
#endif
|
18
|
+
|
19
|
+
namespace boost {
|
20
|
+
namespace atomics {
|
21
|
+
namespace detail {
|
22
|
+
|
23
|
+
#ifndef BOOST_ATOMIC_FLAG_LOCK_FREE
|
24
|
+
|
25
|
+
class lockpool
|
26
|
+
{
|
27
|
+
public:
|
28
|
+
typedef mutex lock_type;
|
29
|
+
class scoped_lock
|
30
|
+
{
|
31
|
+
private:
|
32
|
+
lock_type& mtx_;
|
33
|
+
|
34
|
+
scoped_lock(scoped_lock const&) /* = delete */;
|
35
|
+
scoped_lock& operator=(scoped_lock const&) /* = delete */;
|
36
|
+
|
37
|
+
public:
|
38
|
+
explicit
|
39
|
+
scoped_lock(const volatile void * addr) : mtx_(get_lock_for(addr))
|
40
|
+
{
|
41
|
+
mtx_.lock();
|
42
|
+
}
|
43
|
+
~scoped_lock()
|
44
|
+
{
|
45
|
+
mtx_.unlock();
|
46
|
+
}
|
47
|
+
};
|
48
|
+
|
49
|
+
private:
|
50
|
+
static BOOST_ATOMIC_DECL lock_type& get_lock_for(const volatile void * addr);
|
51
|
+
};
|
52
|
+
|
53
|
+
#else
|
54
|
+
|
55
|
+
class lockpool
|
56
|
+
{
|
57
|
+
public:
|
58
|
+
typedef atomic_flag lock_type;
|
59
|
+
|
60
|
+
class scoped_lock
|
61
|
+
{
|
62
|
+
private:
|
63
|
+
atomic_flag& flag_;
|
64
|
+
uint8_t padding[128 - sizeof(atomic_flag)];
|
65
|
+
|
66
|
+
scoped_lock(const scoped_lock &) /* = delete */;
|
67
|
+
scoped_lock& operator=(const scoped_lock &) /* = delete */;
|
68
|
+
|
69
|
+
public:
|
70
|
+
explicit
|
71
|
+
scoped_lock(const volatile void * addr) : flag_(get_lock_for(addr))
|
72
|
+
{
|
73
|
+
for (; flag_.test_and_set(memory_order_acquire);)
|
74
|
+
{
|
75
|
+
#if defined(BOOST_ATOMIC_X86_PAUSE)
|
76
|
+
BOOST_ATOMIC_X86_PAUSE();
|
77
|
+
#endif
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
~scoped_lock(void)
|
82
|
+
{
|
83
|
+
flag_.clear(memory_order_release);
|
84
|
+
}
|
85
|
+
};
|
86
|
+
|
87
|
+
private:
|
88
|
+
static BOOST_ATOMIC_DECL lock_type& get_lock_for(const volatile void * addr);
|
89
|
+
};
|
90
|
+
|
91
|
+
#endif
|
92
|
+
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
#endif
|
@@ -0,0 +1,62 @@
|
|
1
|
+
#ifndef BOOST_ATOMIC_DETAIL_PLATFORM_HPP
|
2
|
+
#define BOOST_ATOMIC_DETAIL_PLATFORM_HPP
|
3
|
+
|
4
|
+
// Copyright (c) 2009 Helge Bahmann
|
5
|
+
//
|
6
|
+
// Distributed under the Boost Software License, Version 1.0.
|
7
|
+
// See accompanying file LICENSE_1_0.txt or copy at
|
8
|
+
// http://www.boost.org/LICENSE_1_0.txt)
|
9
|
+
|
10
|
+
// Platform selection file
|
11
|
+
|
12
|
+
#include <boost/atomic/detail/config.hpp>
|
13
|
+
|
14
|
+
#ifdef BOOST_ATOMIC_HAS_PRAGMA_ONCE
|
15
|
+
#pragma once
|
16
|
+
#endif
|
17
|
+
|
18
|
+
#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
|
19
|
+
|
20
|
+
#include <boost/atomic/detail/gcc-x86.hpp>
|
21
|
+
|
22
|
+
#elif 0 && defined(__GNUC__) && defined(__alpha__) /* currently does not work correctly */
|
23
|
+
|
24
|
+
#include <boost/atomic/detail/base.hpp>
|
25
|
+
#include <boost/atomic/detail/gcc-alpha.hpp>
|
26
|
+
|
27
|
+
#elif defined(__GNUC__) && (defined(__POWERPC__) || defined(__PPC__))
|
28
|
+
|
29
|
+
#include <boost/atomic/detail/gcc-ppc.hpp>
|
30
|
+
|
31
|
+
// This list of ARM architecture versions comes from Apple's arm/arch.h header.
|
32
|
+
// I don't know how complete it is.
|
33
|
+
#elif defined(__GNUC__) && (defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \
|
34
|
+
|| defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) \
|
35
|
+
|| defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_7A__))
|
36
|
+
|
37
|
+
#include <boost/atomic/detail/gcc-armv6plus.hpp>
|
38
|
+
|
39
|
+
#elif defined(__linux__) && defined(__arm__)
|
40
|
+
|
41
|
+
#include <boost/atomic/detail/linux-arm.hpp>
|
42
|
+
|
43
|
+
#elif defined(__GNUC__) && defined(__sparc_v9__)
|
44
|
+
|
45
|
+
#include <boost/atomic/detail/gcc-sparcv9.hpp>
|
46
|
+
|
47
|
+
#elif defined(BOOST_WINDOWS) || defined(_WIN32_CE)
|
48
|
+
|
49
|
+
#include <boost/atomic/detail/windows.hpp>
|
50
|
+
|
51
|
+
#elif 0 && defined(__GNUC__) /* currently does not work correctly */
|
52
|
+
|
53
|
+
#include <boost/atomic/detail/base.hpp>
|
54
|
+
#include <boost/atomic/detail/gcc-cas.hpp>
|
55
|
+
|
56
|
+
#else
|
57
|
+
|
58
|
+
#include <boost/atomic/detail/base.hpp>
|
59
|
+
|
60
|
+
#endif
|
61
|
+
|
62
|
+
#endif
|
@@ -0,0 +1,45 @@
|
|
1
|
+
#ifndef BOOST_ATOMIC_DETAIL_TYPE_CLASSIFICATION_HPP
|
2
|
+
#define BOOST_ATOMIC_DETAIL_TYPE_CLASSIFICATION_HPP
|
3
|
+
|
4
|
+
// Copyright (c) 2011 Helge Bahmann
|
5
|
+
//
|
6
|
+
// Distributed under the Boost Software License, Version 1.0.
|
7
|
+
// See accompanying file LICENSE_1_0.txt or copy at
|
8
|
+
// http://www.boost.org/LICENSE_1_0.txt)
|
9
|
+
|
10
|
+
#include <boost/atomic/detail/config.hpp>
|
11
|
+
#include <boost/type_traits/is_integral.hpp>
|
12
|
+
|
13
|
+
#ifdef BOOST_ATOMIC_HAS_PRAGMA_ONCE
|
14
|
+
#pragma once
|
15
|
+
#endif
|
16
|
+
|
17
|
+
namespace boost {
|
18
|
+
namespace atomics {
|
19
|
+
namespace detail {
|
20
|
+
|
21
|
+
template<typename T, bool IsInt = boost::is_integral<T>::value>
|
22
|
+
struct classify
|
23
|
+
{
|
24
|
+
typedef void type;
|
25
|
+
};
|
26
|
+
|
27
|
+
template<typename T>
|
28
|
+
struct classify<T, true> {typedef int type;};
|
29
|
+
|
30
|
+
template<typename T>
|
31
|
+
struct classify<T*, false> {typedef void* type;};
|
32
|
+
|
33
|
+
template<typename T>
|
34
|
+
struct storage_size_of
|
35
|
+
{
|
36
|
+
enum _
|
37
|
+
{
|
38
|
+
size = sizeof(T),
|
39
|
+
value = (size == 3 ? 4 : (size == 5 || size == 6 || size == 7 ? 8 : size))
|
40
|
+
};
|
41
|
+
};
|
42
|
+
|
43
|
+
}}}
|
44
|
+
|
45
|
+
#endif
|
data/ext/boost/chrono/config.hpp
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
#if ! defined BOOST_CHRONO_PROVIDES_DATE_IO_FOR_SYSTEM_CLOCK_TIME_POINT \
|
29
29
|
&& ! defined BOOST_CHRONO_DONT_PROVIDE_DATE_IO_FOR_SYSTEM_CLOCK_TIME_POINT
|
30
30
|
|
31
|
-
# define
|
31
|
+
# define BOOST_CHRONO_PROVIDES_DATE_IO_FOR_SYSTEM_CLOCK_TIME_POINT
|
32
32
|
|
33
33
|
#endif
|
34
34
|
|
@@ -96,6 +96,9 @@
|
|
96
96
|
# undef BOOST_CHRONO_HAS_THREAD_CLOCK
|
97
97
|
# undef BOOST_CHRONO_THREAD_CLOCK_IS_STEADY
|
98
98
|
# endif
|
99
|
+
# if defined(__VXWORKS__)
|
100
|
+
# undef BOOST_CHRONO_HAS_PROCESS_CLOCKS
|
101
|
+
# endif
|
99
102
|
# endif
|
100
103
|
|
101
104
|
#if defined(BOOST_CHRONO_THREAD_DISABLED) && defined(BOOST_CHRONO_HAS_THREAD_CLOCK)
|
@@ -123,14 +126,16 @@
|
|
123
126
|
|
124
127
|
#if defined( BOOST_NO_CXX11_NUMERIC_LIMITS )
|
125
128
|
#define BOOST_CHRONO_LIB_CONSTEXPR
|
129
|
+
#elif defined(_LIBCPP_VERSION) && !defined(_LIBCPP_CONSTEXPR)
|
130
|
+
#define BOOST_CHRONO_LIB_CONSTEXPR
|
126
131
|
#else
|
127
|
-
#define BOOST_CHRONO_LIB_CONSTEXPR BOOST_CONSTEXPR
|
132
|
+
#define BOOST_CHRONO_LIB_CONSTEXPR BOOST_CONSTEXPR
|
128
133
|
#endif
|
129
134
|
|
130
135
|
#if defined( BOOST_NO_CXX11_NUMERIC_LIMITS )
|
131
136
|
# define BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW throw()
|
132
137
|
#else
|
133
|
-
#ifdef
|
138
|
+
#ifdef BOOST_NO_CXX11_NOEXCEPT
|
134
139
|
# define BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW throw()
|
135
140
|
#else
|
136
141
|
# define BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW noexcept
|
@@ -417,7 +417,7 @@ struct common_type<chrono::duration<Rep1, Period1>,
|
|
417
417
|
namespace chrono {
|
418
418
|
|
419
419
|
template <class Rep, class Period>
|
420
|
-
class duration
|
420
|
+
class BOOST_SYMBOL_VISIBLE duration
|
421
421
|
{
|
422
422
|
//BOOST_CHRONO_STATIC_ASSERT(boost::is_integral<Rep>::value, BOOST_CHRONO_A_DURATION_REPRESENTATION_MUST_BE_INTEGRAL, ());
|
423
423
|
BOOST_CHRONO_STATIC_ASSERT(!boost::chrono::detail::is_duration<Rep>::value,
|
@@ -433,10 +433,10 @@ namespace chrono {
|
|
433
433
|
rep rep_;
|
434
434
|
public:
|
435
435
|
|
436
|
-
BOOST_CONSTEXPR
|
436
|
+
BOOST_FORCEINLINE BOOST_CONSTEXPR
|
437
437
|
duration() : rep_(duration_values<rep>::zero()) { }
|
438
438
|
template <class Rep2>
|
439
|
-
BOOST_CONSTEXPR
|
439
|
+
BOOST_SYMBOL_VISIBLE BOOST_FORCEINLINE BOOST_CONSTEXPR
|
440
440
|
explicit duration(const Rep2& r
|
441
441
|
, typename boost::enable_if <
|
442
442
|
mpl::and_ <
|
@@ -452,8 +452,7 @@ namespace chrono {
|
|
452
452
|
>::type* = 0
|
453
453
|
) : rep_(r) { }
|
454
454
|
//~duration() {} //= default;
|
455
|
-
//
|
456
|
-
//duration(const duration& rhs) : rep_(rhs.rep_) {} // = default;
|
455
|
+
// BOOST_CONSTEXPR duration(const duration& rhs) : rep_(rhs.rep_) {} // = default;
|
457
456
|
duration& operator=(const duration& rhs) // = default;
|
458
457
|
{
|
459
458
|
if (&rhs != this) rep_= rhs.rep_;
|
@@ -462,7 +461,7 @@ namespace chrono {
|
|
462
461
|
|
463
462
|
// conversions
|
464
463
|
template <class Rep2, class Period2>
|
465
|
-
BOOST_CONSTEXPR
|
464
|
+
BOOST_FORCEINLINE BOOST_CONSTEXPR
|
466
465
|
duration(const duration<Rep2, Period2>& d
|
467
466
|
, typename boost::enable_if <
|
468
467
|
mpl::or_ <
|
@@ -664,7 +663,7 @@ namespace detail
|
|
664
663
|
template <class LhsDuration, class RhsDuration>
|
665
664
|
struct duration_eq
|
666
665
|
{
|
667
|
-
BOOST_CONSTEXPR bool operator()(const LhsDuration& lhs, const RhsDuration& rhs)
|
666
|
+
BOOST_CONSTEXPR bool operator()(const LhsDuration& lhs, const RhsDuration& rhs) const
|
668
667
|
{
|
669
668
|
typedef typename common_type<LhsDuration, RhsDuration>::type CD;
|
670
669
|
return CD(lhs).count() == CD(rhs).count();
|
@@ -674,7 +673,7 @@ namespace detail
|
|
674
673
|
template <class LhsDuration>
|
675
674
|
struct duration_eq<LhsDuration, LhsDuration>
|
676
675
|
{
|
677
|
-
BOOST_CONSTEXPR bool operator()(const LhsDuration& lhs, const LhsDuration& rhs)
|
676
|
+
BOOST_CONSTEXPR bool operator()(const LhsDuration& lhs, const LhsDuration& rhs) const
|
678
677
|
{
|
679
678
|
return lhs.count() == rhs.count();
|
680
679
|
}
|
@@ -683,7 +682,7 @@ namespace detail
|
|
683
682
|
template <class LhsDuration, class RhsDuration>
|
684
683
|
struct duration_lt
|
685
684
|
{
|
686
|
-
BOOST_CONSTEXPR bool operator()(const LhsDuration& lhs, const RhsDuration& rhs)
|
685
|
+
BOOST_CONSTEXPR bool operator()(const LhsDuration& lhs, const RhsDuration& rhs) const
|
687
686
|
{
|
688
687
|
typedef typename common_type<LhsDuration, RhsDuration>::type CD;
|
689
688
|
return CD(lhs).count() < CD(rhs).count();
|
@@ -693,7 +692,7 @@ namespace detail
|
|
693
692
|
template <class LhsDuration>
|
694
693
|
struct duration_lt<LhsDuration, LhsDuration>
|
695
694
|
{
|
696
|
-
BOOST_CONSTEXPR bool operator()(const LhsDuration& lhs, const LhsDuration& rhs)
|
695
|
+
BOOST_CONSTEXPR bool operator()(const LhsDuration& lhs, const LhsDuration& rhs) const
|
697
696
|
{
|
698
697
|
return lhs.count() < rhs.count();
|
699
698
|
}
|
@@ -168,16 +168,17 @@ namespace chrono {
|
|
168
168
|
duration d_;
|
169
169
|
|
170
170
|
public:
|
171
|
-
BOOST_CONSTEXPR
|
171
|
+
BOOST_FORCEINLINE BOOST_CONSTEXPR
|
172
172
|
time_point() : d_(duration::zero())
|
173
173
|
{}
|
174
|
-
BOOST_CONSTEXPR
|
174
|
+
BOOST_FORCEINLINE BOOST_CONSTEXPR
|
175
|
+
explicit time_point(const duration& d)
|
175
176
|
: d_(d)
|
176
177
|
{}
|
177
178
|
|
178
179
|
// conversions
|
179
180
|
template <class Duration2>
|
180
|
-
BOOST_CONSTEXPR
|
181
|
+
BOOST_FORCEINLINE BOOST_CONSTEXPR
|
181
182
|
time_point(const time_point<clock, Duration2>& t
|
182
183
|
, typename boost::enable_if
|
183
184
|
<
|
@@ -60,14 +60,14 @@ BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing.
|
|
60
60
|
|
61
61
|
BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used,
|
62
62
|
contains one or more of the following letters after
|
63
|
-
a
|
63
|
+
a hyphen:
|
64
64
|
|
65
65
|
s static runtime (dynamic if not present).
|
66
66
|
g debug/diagnostic runtime (release if not present).
|
67
67
|
y Python debug/diagnostic runtime (release if not present).
|
68
68
|
d debug build (release if not present).
|
69
|
-
|
70
|
-
|
69
|
+
p STLport build.
|
70
|
+
n STLport build without its IOStreams.
|
71
71
|
|
72
72
|
BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
73
73
|
|
@@ -114,68 +114,69 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
|
114
114
|
// select toolset if not defined already:
|
115
115
|
//
|
116
116
|
#ifndef BOOST_LIB_TOOLSET
|
117
|
-
|
118
|
-
|
117
|
+
# if defined(BOOST_MSVC) && (BOOST_MSVC < 1200)
|
118
|
+
// Note: no compilers before 1200 are supported
|
119
|
+
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
|
119
120
|
|
120
|
-
#
|
121
|
-
|
122
|
-
#
|
123
|
-
#
|
124
|
-
|
125
|
-
#
|
126
|
-
#
|
121
|
+
# ifdef UNDER_CE
|
122
|
+
// eVC4:
|
123
|
+
# define BOOST_LIB_TOOLSET "evc4"
|
124
|
+
# else
|
125
|
+
// vc6:
|
126
|
+
# define BOOST_LIB_TOOLSET "vc6"
|
127
|
+
# endif
|
127
128
|
|
128
|
-
#elif defined(BOOST_MSVC) && (BOOST_MSVC
|
129
|
+
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1310)
|
129
130
|
|
130
|
-
|
131
|
-
#
|
131
|
+
// vc7:
|
132
|
+
# define BOOST_LIB_TOOLSET "vc7"
|
132
133
|
|
133
|
-
#elif defined(BOOST_MSVC) && (BOOST_MSVC
|
134
|
+
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1400)
|
134
135
|
|
135
|
-
|
136
|
-
#
|
136
|
+
// vc71:
|
137
|
+
# define BOOST_LIB_TOOLSET "vc71"
|
137
138
|
|
138
|
-
#elif defined(BOOST_MSVC) && (BOOST_MSVC
|
139
|
+
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1500)
|
139
140
|
|
140
|
-
|
141
|
-
#
|
141
|
+
// vc80:
|
142
|
+
# define BOOST_LIB_TOOLSET "vc80"
|
142
143
|
|
143
|
-
#elif defined(BOOST_MSVC) && (BOOST_MSVC
|
144
|
+
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1600)
|
144
145
|
|
145
|
-
|
146
|
-
#
|
146
|
+
// vc90:
|
147
|
+
# define BOOST_LIB_TOOLSET "vc90"
|
147
148
|
|
148
|
-
#elif defined(BOOST_MSVC) && (BOOST_MSVC
|
149
|
+
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1700)
|
149
150
|
|
150
|
-
|
151
|
-
#
|
151
|
+
// vc10:
|
152
|
+
# define BOOST_LIB_TOOLSET "vc100"
|
152
153
|
|
153
|
-
#elif defined(BOOST_MSVC)
|
154
|
+
# elif defined(BOOST_MSVC)
|
154
155
|
|
155
|
-
|
156
|
-
#
|
156
|
+
// vc11:
|
157
|
+
# define BOOST_LIB_TOOLSET "vc110"
|
157
158
|
|
158
|
-
#elif defined(__BORLANDC__)
|
159
|
+
# elif defined(__BORLANDC__)
|
159
160
|
|
160
|
-
|
161
|
-
#
|
161
|
+
// CBuilder 6:
|
162
|
+
# define BOOST_LIB_TOOLSET "bcb"
|
162
163
|
|
163
|
-
#elif defined(__ICL)
|
164
|
+
# elif defined(__ICL)
|
164
165
|
|
165
|
-
|
166
|
-
#
|
166
|
+
// Intel C++, no version number:
|
167
|
+
# define BOOST_LIB_TOOLSET "iw"
|
167
168
|
|
168
|
-
#elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )
|
169
|
+
# elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )
|
169
170
|
|
170
|
-
|
171
|
-
#
|
171
|
+
// Metrowerks CodeWarrior 8.x
|
172
|
+
# define BOOST_LIB_TOOLSET "cw8"
|
172
173
|
|
173
|
-
#elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )
|
174
|
+
# elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )
|
174
175
|
|
175
|
-
|
176
|
-
#
|
176
|
+
// Metrowerks CodeWarrior 9.x
|
177
|
+
# define BOOST_LIB_TOOLSET "cw9"
|
177
178
|
|
178
|
-
#endif
|
179
|
+
# endif
|
179
180
|
#endif // BOOST_LIB_TOOLSET
|
180
181
|
|
181
182
|
//
|
@@ -201,11 +202,11 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
|
201
202
|
# elif defined(_DEBUG)\
|
202
203
|
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
203
204
|
# define BOOST_LIB_RT_OPT "-gydp"
|
204
|
-
# pragma message("warning:
|
205
|
+
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
205
206
|
# error "Build options aren't compatible with pre-built libraries"
|
206
207
|
# elif defined(_DEBUG)
|
207
208
|
# define BOOST_LIB_RT_OPT "-gdp"
|
208
|
-
# pragma message("warning:
|
209
|
+
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
209
210
|
# error "Build options aren't compatible with pre-built libraries"
|
210
211
|
# else
|
211
212
|
# define BOOST_LIB_RT_OPT "-p"
|
@@ -221,11 +222,11 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
|
221
222
|
# elif defined(_DEBUG)\
|
222
223
|
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
223
224
|
# define BOOST_LIB_RT_OPT "-gydpn"
|
224
|
-
# pragma message("warning:
|
225
|
+
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
225
226
|
# error "Build options aren't compatible with pre-built libraries"
|
226
227
|
# elif defined(_DEBUG)
|
227
228
|
# define BOOST_LIB_RT_OPT "-gdpn"
|
228
|
-
# pragma message("warning:
|
229
|
+
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
229
230
|
# error "Build options aren't compatible with pre-built libraries"
|
230
231
|
# else
|
231
232
|
# define BOOST_LIB_RT_OPT "-pn"
|
@@ -255,11 +256,11 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
|
255
256
|
# elif defined(_DEBUG)\
|
256
257
|
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
257
258
|
# define BOOST_LIB_RT_OPT "-sgydp"
|
258
|
-
# pragma message("warning:
|
259
|
+
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
259
260
|
# error "Build options aren't compatible with pre-built libraries"
|
260
261
|
# elif defined(_DEBUG)
|
261
262
|
# define BOOST_LIB_RT_OPT "-sgdp"
|
262
|
-
# pragma message("warning:
|
263
|
+
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
263
264
|
# error "Build options aren't compatible with pre-built libraries"
|
264
265
|
# else
|
265
266
|
# define BOOST_LIB_RT_OPT "-sp"
|
@@ -275,11 +276,11 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
|
275
276
|
# elif defined(_DEBUG)\
|
276
277
|
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
277
278
|
# define BOOST_LIB_RT_OPT "-sgydpn"
|
278
|
-
# pragma message("warning:
|
279
|
+
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
279
280
|
# error "Build options aren't compatible with pre-built libraries"
|
280
281
|
# elif defined(_DEBUG)
|
281
282
|
# define BOOST_LIB_RT_OPT "-sgdpn"
|
282
|
-
# pragma message("warning:
|
283
|
+
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
283
284
|
# error "Build options aren't compatible with pre-built libraries"
|
284
285
|
# else
|
285
286
|
# define BOOST_LIB_RT_OPT "-spn"
|
@@ -312,7 +313,7 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
|
312
313
|
// sanity check:
|
313
314
|
//
|
314
315
|
#if defined(__STL_DEBUG) || defined(_STLP_DEBUG)
|
315
|
-
#error "Pre-built versions of the Boost libraries are not provided in
|
316
|
+
#error "Pre-built versions of the Boost libraries are not provided in STLport-debug form"
|
316
317
|
#endif
|
317
318
|
|
318
319
|
# ifdef _RTLDLL
|