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
@@ -33,6 +33,10 @@
|
|
33
33
|
// PathScale EKOPath compiler (has to come before clang and gcc)
|
34
34
|
# define BOOST_COMPILER_CONFIG "boost/config/compiler/pathscale.hpp"
|
35
35
|
|
36
|
+
#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
|
37
|
+
// Intel
|
38
|
+
# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
|
39
|
+
|
36
40
|
#elif defined __clang__
|
37
41
|
// Clang C++ emulates GCC, so it has to appear early.
|
38
42
|
# define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp"
|
@@ -41,10 +45,6 @@
|
|
41
45
|
// Digital Mars C++
|
42
46
|
# define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp"
|
43
47
|
|
44
|
-
#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
|
45
|
-
// Intel
|
46
|
-
# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
|
47
|
-
|
48
48
|
# elif defined __GNUC__
|
49
49
|
// GNU C++:
|
50
50
|
# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp"
|
@@ -87,7 +87,7 @@
|
|
87
87
|
#endif
|
88
88
|
|
89
89
|
#include <typeinfo>
|
90
|
-
#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) )
|
90
|
+
#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) ) && !defined(__TI_COMPILER_VERSION__)
|
91
91
|
# define BOOST_NO_STD_TYPEINFO
|
92
92
|
#endif
|
93
93
|
|
@@ -113,9 +113,10 @@
|
|
113
113
|
#if (!defined(_HAS_TR1_IMPORTS) || (_HAS_TR1_IMPORTS+0 == 0)) && !defined(BOOST_NO_CXX11_HDR_TUPLE)
|
114
114
|
# define BOOST_NO_CXX11_HDR_TUPLE
|
115
115
|
#endif
|
116
|
+
|
117
|
+
// C++0x headers implemented in 540 (as shipped by Microsoft)
|
116
118
|
//
|
117
|
-
|
118
|
-
//
|
119
|
+
#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 540
|
119
120
|
# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
|
120
121
|
# define BOOST_NO_CXX11_HDR_CHRONO
|
121
122
|
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
@@ -125,6 +126,12 @@
|
|
125
126
|
# define BOOST_NO_CXX11_HDR_THREAD
|
126
127
|
# define BOOST_NO_CXX11_ALLOCATOR
|
127
128
|
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
129
|
+
#endif
|
130
|
+
|
131
|
+
//
|
132
|
+
// C++0x headers not yet (fully) implemented:
|
133
|
+
//
|
134
|
+
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
128
135
|
|
129
136
|
#ifdef _CPPLIB_VER
|
130
137
|
# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
|
@@ -35,7 +35,8 @@
|
|
35
35
|
# if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
|
36
36
|
|| defined(_GLIBCXX__PTHREADS) \
|
37
37
|
|| defined(_GLIBCXX_HAS_GTHREADS) \
|
38
|
-
|| defined(_WIN32)
|
38
|
+
|| defined(_WIN32) \
|
39
|
+
|| defined(_AIX)
|
39
40
|
//
|
40
41
|
// If the std lib has thread support turned on, then turn it on in Boost
|
41
42
|
// as well. We do this because some gcc-3.4 std lib headers define _REENTANT
|
data/ext/boost/config/suffix.hpp
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
// Boost config.hpp configuration header file ------------------------------//
|
2
|
+
// boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file
|
2
3
|
|
3
4
|
// Copyright (c) 2001-2003 John Maddock
|
4
5
|
// Copyright (c) 2001 Darin Adler
|
@@ -488,6 +489,18 @@ namespace boost{
|
|
488
489
|
# endif
|
489
490
|
}
|
490
491
|
#endif
|
492
|
+
// same again for __int128:
|
493
|
+
#if defined(BOOST_HAS_INT128) && defined(__cplusplus)
|
494
|
+
namespace boost{
|
495
|
+
# ifdef __GNUC__
|
496
|
+
__extension__ typedef __int128 int128_type;
|
497
|
+
__extension__ typedef unsigned __int128 uint128_type;
|
498
|
+
# else
|
499
|
+
typedef __int128 int128_type;
|
500
|
+
typedef unsigned __int128 uint128_type;
|
501
|
+
# endif
|
502
|
+
}
|
503
|
+
#endif
|
491
504
|
|
492
505
|
// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------//
|
493
506
|
//
|
@@ -628,7 +641,8 @@ namespace std{ using ::type_info; }
|
|
628
641
|
# if defined(_MSC_VER)
|
629
642
|
# define BOOST_FORCEINLINE __forceinline
|
630
643
|
# elif defined(__GNUC__) && __GNUC__ > 3
|
631
|
-
|
644
|
+
// Clang also defines __GNUC__ (as 4)
|
645
|
+
# define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__))
|
632
646
|
# else
|
633
647
|
# define BOOST_FORCEINLINE inline
|
634
648
|
# endif
|
@@ -647,8 +661,8 @@ namespace std{ using ::type_info; }
|
|
647
661
|
// Use BOOST_NO_CXX11_HDR_UNORDERED_SET or BOOST_NO_CXX11_HDR_UNORDERED_MAP
|
648
662
|
// instead of BOOST_NO_STD_UNORDERED
|
649
663
|
#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) || defined (BOOST_NO_CXX11_HDR_UNORDERED_SET)
|
650
|
-
# ifndef
|
651
|
-
# define
|
664
|
+
# ifndef BOOST_NO_CXX11_STD_UNORDERED
|
665
|
+
# define BOOST_NO_CXX11_STD_UNORDERED
|
652
666
|
# endif
|
653
667
|
#endif
|
654
668
|
|
@@ -658,7 +672,7 @@ namespace std{ using ::type_info; }
|
|
658
672
|
#endif
|
659
673
|
|
660
674
|
// Use BOOST_NO_CXX11_HDR_ARRAY instead of BOOST_NO_0X_HDR_ARRAY
|
661
|
-
#if defined(BOOST_NO_CXX11_HDR_ARRAY) && !defined(
|
675
|
+
#if defined(BOOST_NO_CXX11_HDR_ARRAY) && !defined(BOOST_NO_0X_HDR_ARRAY)
|
662
676
|
# define BOOST_NO_0X_HDR_ARRAY
|
663
677
|
#endif
|
664
678
|
// Use BOOST_NO_CXX11_HDR_CHRONO instead of BOOST_NO_0X_HDR_CHRONO
|
@@ -827,9 +841,9 @@ namespace std{ using ::type_info; }
|
|
827
841
|
#if defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_NO_STATIC_ASSERT)
|
828
842
|
# define BOOST_NO_STATIC_ASSERT
|
829
843
|
#endif
|
830
|
-
// Use
|
831
|
-
#if defined(
|
832
|
-
# define
|
844
|
+
// Use BOOST_NO_CXX11_STD_UNORDERED instead of BOOST_NO_STD_UNORDERED
|
845
|
+
#if defined(BOOST_NO_CXX11_STD_UNORDERED) && !defined(BOOST_NO_STD_UNORDERED)
|
846
|
+
# define BOOST_NO_STD_UNORDERED
|
833
847
|
#endif
|
834
848
|
// Use BOOST_NO_CXX11_UNICODE_LITERALS instead of BOOST_NO_UNICODE_LITERALS
|
835
849
|
#if defined(BOOST_NO_CXX11_UNICODE_LITERALS) && !defined(BOOST_NO_UNICODE_LITERALS)
|
@@ -859,27 +873,32 @@ namespace std{ using ::type_info; }
|
|
859
873
|
// Helper macros BOOST_NOEXCEPT, BOOST_NOEXCEPT_IF, BOOST_NOEXCEPT_EXPR
|
860
874
|
// These aid the transition to C++11 while still supporting C++03 compilers
|
861
875
|
//
|
862
|
-
#ifdef
|
876
|
+
#ifdef BOOST_NO_CXX11_NOEXCEPT
|
863
877
|
# define BOOST_NOEXCEPT
|
878
|
+
# define BOOST_NOEXCEPT_OR_NOTHROW throw()
|
864
879
|
# define BOOST_NOEXCEPT_IF(Predicate)
|
865
880
|
# define BOOST_NOEXCEPT_EXPR(Expression) false
|
866
881
|
#else
|
867
882
|
# define BOOST_NOEXCEPT noexcept
|
883
|
+
# define BOOST_NOEXCEPT_OR_NOTHROW noexcept
|
868
884
|
# define BOOST_NOEXCEPT_IF(Predicate) noexcept((Predicate))
|
869
885
|
# define BOOST_NOEXCEPT_EXPR(Expression) noexcept((Expression))
|
870
886
|
#endif
|
871
|
-
|
872
887
|
//
|
873
|
-
//
|
874
|
-
//
|
875
|
-
|
876
|
-
|
877
|
-
|
888
|
+
// Helper macro BOOST_FALLTHROUGH
|
889
|
+
// Fallback definition of BOOST_FALLTHROUGH macro used to mark intended
|
890
|
+
// fall-through between case labels in a switch statement. We use a definition
|
891
|
+
// that requires a semicolon after it to avoid at least one type of misuse even
|
892
|
+
// on unsupported compilers.
|
893
|
+
//
|
894
|
+
#ifndef BOOST_FALLTHROUGH
|
895
|
+
# define BOOST_FALLTHROUGH ((void)0)
|
896
|
+
#endif
|
878
897
|
|
879
898
|
//
|
880
899
|
// constexpr workarounds
|
881
900
|
//
|
882
|
-
#if defined(
|
901
|
+
#if defined(BOOST_NO_CXX11_CONSTEXPR)
|
883
902
|
#define BOOST_CONSTEXPR
|
884
903
|
#define BOOST_CONSTEXPR_OR_CONST const
|
885
904
|
#else
|
@@ -890,16 +909,23 @@ namespace std{ using ::type_info; }
|
|
890
909
|
#define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST
|
891
910
|
|
892
911
|
//
|
893
|
-
// Set
|
912
|
+
// Set BOOST_HAS_STATIC_ASSERT when BOOST_NO_CXX11_STATIC_ASSERT is not defined
|
913
|
+
//
|
914
|
+
#if !defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_HAS_STATIC_ASSERT)
|
915
|
+
# define BOOST_HAS_STATIC_ASSERT
|
916
|
+
#endif
|
917
|
+
|
918
|
+
//
|
919
|
+
// Set BOOST_HAS_RVALUE_REFS when BOOST_NO_CXX11_RVALUE_REFERENCES is not defined
|
894
920
|
//
|
895
|
-
#if !defined(
|
921
|
+
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_HAS_RVALUE_REFS)
|
896
922
|
#define BOOST_HAS_RVALUE_REFS
|
897
923
|
#endif
|
898
924
|
|
899
925
|
//
|
900
|
-
// Set BOOST_HAS_VARIADIC_TMPL when
|
926
|
+
// Set BOOST_HAS_VARIADIC_TMPL when BOOST_NO_CXX11_VARIADIC_TEMPLATES is not defined
|
901
927
|
//
|
902
|
-
#if !defined(
|
928
|
+
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL)
|
903
929
|
#define BOOST_HAS_VARIADIC_TMPL
|
904
930
|
#endif
|
905
931
|
|
@@ -7,7 +7,7 @@
|
|
7
7
|
* Boost Software License, Version 1.0. (See accompanying
|
8
8
|
* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
9
9
|
* Author: Jeff Garland, Bart Garst
|
10
|
-
* $Date:
|
10
|
+
* $Date: 2013-06-21 08:04:12 -0700 (Fri, 21 Jun 2013) $
|
11
11
|
*/
|
12
12
|
|
13
13
|
|
@@ -470,7 +470,6 @@ class format_date_parser
|
|
470
470
|
|
471
471
|
// skip leading whitespace
|
472
472
|
while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
|
473
|
-
charT current_char = *sitr;
|
474
473
|
|
475
474
|
short month(0);
|
476
475
|
|
@@ -485,7 +484,6 @@ class format_date_parser
|
|
485
484
|
mr = m_month_short_names.match(sitr, stream_end);
|
486
485
|
month = mr.current_match;
|
487
486
|
if (mr.has_remaining()) {
|
488
|
-
current_char = mr.last_char();
|
489
487
|
use_current_char = true;
|
490
488
|
}
|
491
489
|
break;
|
@@ -495,7 +493,6 @@ class format_date_parser
|
|
495
493
|
mr = m_month_long_names.match(sitr, stream_end);
|
496
494
|
month = mr.current_match;
|
497
495
|
if (mr.has_remaining()) {
|
498
|
-
current_char = mr.last_char();
|
499
496
|
use_current_char = true;
|
500
497
|
}
|
501
498
|
break;
|
@@ -523,7 +520,6 @@ class format_date_parser
|
|
523
520
|
itr++;
|
524
521
|
if (use_current_char) {
|
525
522
|
use_current_char = false;
|
526
|
-
current_char = *sitr;
|
527
523
|
}
|
528
524
|
else {
|
529
525
|
sitr++;
|
@@ -575,7 +571,6 @@ class format_date_parser
|
|
575
571
|
|
576
572
|
// skip leading whitespace
|
577
573
|
while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
|
578
|
-
charT current_char = *sitr;
|
579
574
|
|
580
575
|
short wkday(0);
|
581
576
|
|
@@ -594,7 +589,6 @@ class format_date_parser
|
|
594
589
|
mr = m_weekday_short_names.match(sitr, stream_end);
|
595
590
|
wkday = mr.current_match;
|
596
591
|
if (mr.has_remaining()) {
|
597
|
-
current_char = mr.last_char();
|
598
592
|
use_current_char = true;
|
599
593
|
}
|
600
594
|
break;
|
@@ -608,7 +602,6 @@ class format_date_parser
|
|
608
602
|
mr = m_weekday_long_names.match(sitr, stream_end);
|
609
603
|
wkday = mr.current_match;
|
610
604
|
if (mr.has_remaining()) {
|
611
|
-
current_char = mr.last_char();
|
612
605
|
use_current_char = true;
|
613
606
|
}
|
614
607
|
break;
|
@@ -635,7 +628,6 @@ class format_date_parser
|
|
635
628
|
itr++;
|
636
629
|
if (use_current_char) {
|
637
630
|
use_current_char = false;
|
638
|
-
current_char = *sitr;
|
639
631
|
}
|
640
632
|
else {
|
641
633
|
sitr++;
|
@@ -668,7 +660,6 @@ class format_date_parser
|
|
668
660
|
|
669
661
|
// skip leading whitespace
|
670
662
|
while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
|
671
|
-
charT current_char = *sitr;
|
672
663
|
|
673
664
|
unsigned short year(0);
|
674
665
|
|
@@ -708,7 +699,6 @@ class format_date_parser
|
|
708
699
|
itr++;
|
709
700
|
if (use_current_char) {
|
710
701
|
use_current_char = false;
|
711
|
-
current_char = *sitr;
|
712
702
|
}
|
713
703
|
else {
|
714
704
|
sitr++;
|
@@ -6,7 +6,7 @@
|
|
6
6
|
* Boost Software License, Version 1.0. (See accompanying
|
7
7
|
* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
8
8
|
* Author: Jeff Garland
|
9
|
-
* $Date:
|
9
|
+
* $Date: 2013-06-21 08:04:12 -0700 (Fri, 21 Jun 2013) $
|
10
10
|
*/
|
11
11
|
|
12
12
|
#include <sstream>
|
@@ -50,7 +50,8 @@ gather_month_strings(const std::locale& locale, bool short_strings=true)
|
|
50
50
|
//grab the needed strings by using the locale to
|
51
51
|
//output each month
|
52
52
|
const charT* p_outfmt = outfmt.c_str(), *p_outfmt_end = p_outfmt + outfmt.size();
|
53
|
-
tm tm_value
|
53
|
+
tm tm_value;
|
54
|
+
memset(&tm_value, 0, sizeof(tm_value));
|
54
55
|
for (int m=0; m < 12; m++) {
|
55
56
|
tm_value.tm_mon = m;
|
56
57
|
stringstream_type ss;
|
@@ -103,7 +104,8 @@ gather_weekday_strings(const std::locale& locale, bool short_strings=true)
|
|
103
104
|
//grab the needed strings by using the locale to
|
104
105
|
//output each month / weekday
|
105
106
|
const charT* p_outfmt = outfmt.c_str(), *p_outfmt_end = p_outfmt + outfmt.size();
|
106
|
-
tm tm_value
|
107
|
+
tm tm_value;
|
108
|
+
memset(&tm_value, 0, sizeof(tm_value));
|
107
109
|
for (int i=0; i < 7; i++) {
|
108
110
|
tm_value.tm_wday = i;
|
109
111
|
stringstream_type ss;
|
@@ -0,0 +1,19 @@
|
|
1
|
+
// Copyright (C) 2013 Vicente J. Botet Escriba
|
2
|
+
//
|
3
|
+
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
4
|
+
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
5
|
+
|
6
|
+
|
7
|
+
#if defined(BOOST_INTEL)
|
8
|
+
|
9
|
+
#pragma pop_macro("atomic_compare_exchange")
|
10
|
+
#pragma pop_macro("atomic_compare_exchange_explicit")
|
11
|
+
#pragma pop_macro("atomic_exchange")
|
12
|
+
#pragma pop_macro("atomic_exchange_explicit")
|
13
|
+
#pragma pop_macro("atomic_is_lock_free")
|
14
|
+
#pragma pop_macro("atomic_load")
|
15
|
+
#pragma pop_macro("atomic_load_explicit")
|
16
|
+
#pragma pop_macro("atomic_store")
|
17
|
+
#pragma pop_macro("atomic_store_explicit")
|
18
|
+
|
19
|
+
#endif // #if defined(BOOST_INTEL)
|
@@ -0,0 +1,39 @@
|
|
1
|
+
// Copyright (C) 2013 Vicente J. Botet Escriba
|
2
|
+
//
|
3
|
+
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
4
|
+
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
5
|
+
|
6
|
+
|
7
|
+
#if defined(BOOST_INTEL)
|
8
|
+
|
9
|
+
#pragma push_macro("atomic_compare_exchange")
|
10
|
+
#undef atomic_compare_exchange
|
11
|
+
|
12
|
+
#pragma push_macro("atomic_compare_exchange_explicit")
|
13
|
+
#undef atomic_compare_exchange_explicit
|
14
|
+
|
15
|
+
#pragma push_macro("atomic_exchange")
|
16
|
+
#undef atomic_exchange
|
17
|
+
|
18
|
+
#pragma push_macro("atomic_exchange_explicit")
|
19
|
+
#undef atomic_exchange_explicit
|
20
|
+
|
21
|
+
#pragma push_macro("atomic_is_lock_free")
|
22
|
+
#undef atomic_is_lock_free
|
23
|
+
|
24
|
+
#pragma push_macro("atomic_load")
|
25
|
+
#undef atomic_load
|
26
|
+
|
27
|
+
#pragma push_macro("atomic_load_explicit")
|
28
|
+
#undef atomic_load_explicit
|
29
|
+
|
30
|
+
#pragma push_macro("atomic_store")
|
31
|
+
#undef atomic_store
|
32
|
+
|
33
|
+
#pragma push_macro("atomic_store_explicit")
|
34
|
+
#undef atomic_store_explicit
|
35
|
+
|
36
|
+
|
37
|
+
#endif // #if defined(BOOST_INTEL)
|
38
|
+
|
39
|
+
|
data/ext/boost/detail/endian.hpp
CHANGED
@@ -28,10 +28,12 @@
|
|
28
28
|
#ifndef BOOST_DETAIL_ENDIAN_HPP
|
29
29
|
#define BOOST_DETAIL_ENDIAN_HPP
|
30
30
|
|
31
|
+
//
|
32
|
+
// Special cases come first:
|
33
|
+
//
|
34
|
+
#if defined (__GLIBC__)
|
31
35
|
// GNU libc offers the helpful header <endian.h> which defines
|
32
36
|
// __BYTE_ORDER
|
33
|
-
|
34
|
-
#if defined (__GLIBC__)
|
35
37
|
# include <endian.h>
|
36
38
|
# if (__BYTE_ORDER == __LITTLE_ENDIAN)
|
37
39
|
# define BOOST_LITTLE_ENDIAN
|
@@ -43,13 +45,56 @@
|
|
43
45
|
# error Unknown machine endianness detected.
|
44
46
|
# endif
|
45
47
|
# define BOOST_BYTE_ORDER __BYTE_ORDER
|
48
|
+
|
49
|
+
#elif defined(__NetBSD__) || defined(__FreeBSD__) || \
|
50
|
+
defined(__OpenBSD__) || (__DragonFly__)
|
51
|
+
//
|
52
|
+
// BSD has endian.h, see https://svn.boost.org/trac/boost/ticket/6013
|
53
|
+
# if defined(__OpenBSD__)
|
54
|
+
# include <machine/endian.h>
|
55
|
+
# else
|
56
|
+
# include <sys/endian.h>
|
57
|
+
# endif
|
58
|
+
# if (_BYTE_ORDER == _LITTLE_ENDIAN)
|
59
|
+
# define BOOST_LITTLE_ENDIAN
|
60
|
+
# elif (_BYTE_ORDER == _BIG_ENDIAN)
|
61
|
+
# define BOOST_BIG_ENDIAN
|
62
|
+
# elif (_BYTE_ORDER == _PDP_ENDIAN)
|
63
|
+
# define BOOST_PDP_ENDIAN
|
64
|
+
# else
|
65
|
+
# error Unknown machine endianness detected.
|
66
|
+
# endif
|
67
|
+
# define BOOST_BYTE_ORDER _BYTE_ORDER
|
68
|
+
|
69
|
+
#elif defined( __ANDROID__ )
|
70
|
+
// Adroid specific code, see: https://svn.boost.org/trac/boost/ticket/7528
|
71
|
+
// Here we can use machine/_types.h, see:
|
72
|
+
// http://stackoverflow.com/questions/6212951/endianness-of-android-ndk
|
73
|
+
# include "machine/_types.h"
|
74
|
+
# ifdef __ARMEB__
|
75
|
+
# define BOOST_BIG_ENDIAN
|
76
|
+
# define BOOST_BYTE_ORDER 4321
|
77
|
+
# else
|
78
|
+
# define BOOST_LITTLE_ENDIAN
|
79
|
+
# define BOOST_BYTE_ORDER 1234
|
80
|
+
# endif // __ARMEB__
|
81
|
+
|
82
|
+
#elif defined( _XBOX )
|
83
|
+
//
|
84
|
+
// XBox is always big endian??
|
85
|
+
//
|
86
|
+
# define BOOST_BIG_ENDIAN
|
87
|
+
# define BOOST_BYTE_ORDER 4321
|
88
|
+
|
46
89
|
#elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) || \
|
47
90
|
defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) || \
|
91
|
+
defined(__BIGENDIAN__) && !defined(__LITTLEENDIAN__) || \
|
48
92
|
defined(_STLP_BIG_ENDIAN) && !defined(_STLP_LITTLE_ENDIAN)
|
49
93
|
# define BOOST_BIG_ENDIAN
|
50
94
|
# define BOOST_BYTE_ORDER 4321
|
51
95
|
#elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) || \
|
52
96
|
defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) || \
|
97
|
+
defined(__LITTLEENDIAN__) && !defined(__BIGENDIAN__) || \
|
53
98
|
defined(_STLP_LITTLE_ENDIAN) && !defined(_STLP_BIG_ENDIAN)
|
54
99
|
# define BOOST_LITTLE_ENDIAN
|
55
100
|
# define BOOST_BYTE_ORDER 1234
|
@@ -57,7 +102,7 @@
|
|
57
102
|
|| defined(_POWER) || defined(__powerpc__) \
|
58
103
|
|| defined(__ppc__) || defined(__hpux) || defined(__hppa) \
|
59
104
|
|| defined(_MIPSEB) || defined(_POWER) \
|
60
|
-
|| defined(__s390__)
|
105
|
+
|| defined(__s390__) || defined(__ARMEB__)
|
61
106
|
# define BOOST_BIG_ENDIAN
|
62
107
|
# define BOOST_BYTE_ORDER 4321
|
63
108
|
#elif defined(__i386__) || defined(__alpha__) \
|
@@ -66,7 +111,9 @@
|
|
66
111
|
|| defined(_M_ALPHA) || defined(__amd64) \
|
67
112
|
|| defined(__amd64__) || defined(_M_AMD64) \
|
68
113
|
|| defined(__x86_64) || defined(__x86_64__) \
|
69
|
-
|| defined(_M_X64) || defined(__bfin__)
|
114
|
+
|| defined(_M_X64) || defined(__bfin__) \
|
115
|
+
|| defined(__ARMEL__) \
|
116
|
+
|| (defined(_WIN32) && defined(__ARM__) && defined(_MSC_VER)) // ARM Windows CE don't define anything reasonably unique, but there are no big-endian Windows versions
|
70
117
|
|
71
118
|
# define BOOST_LITTLE_ENDIAN
|
72
119
|
# define BOOST_BYTE_ORDER 1234
|
@@ -76,3 +123,4 @@
|
|
76
123
|
|
77
124
|
|
78
125
|
#endif
|
126
|
+
|