passenger 3.0.0 → 3.0.1
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.
- data/DEVELOPERS.TXT +9 -6
- data/NEWS +50 -0
- data/Rakefile +2 -1
- data/bin/passenger-install-apache2-module +4 -4
- data/bin/passenger-install-nginx-module +1 -1
- data/bin/passenger-make-enterprisey +1 -1
- data/build/agents.rb +26 -19
- data/build/apache2.rb +49 -46
- data/build/basics.rb +37 -13
- data/build/common_library.rb +134 -64
- data/build/config.rb +18 -11
- data/build/cplusplus_support.rb +4 -0
- data/build/cxx_tests.rb +26 -12
- data/build/documentation.rb +18 -11
- data/build/integration_tests.rb +18 -11
- data/build/misc.rb +18 -11
- data/build/nginx.rb +27 -19
- data/build/oxt_tests.rb +18 -11
- data/build/packaging.rb +45 -37
- data/build/rpm.rb +98 -0
- data/build/ruby_extension.rb +19 -13
- data/build/ruby_tests.rb +19 -12
- data/build/test_basics.rb +23 -11
- data/debian/README.Debian +15 -0
- data/debian/changelog +185 -0
- data/debian/control +47 -19
- data/debian/copyright +20 -0
- data/debian/libapache2-mod-passenger.install +1 -0
- data/debian/libapache2-mod-passenger.postinst +36 -0
- data/debian/libapache2-mod-passenger.prerm +15 -0
- data/debian/passenger-common.install +4 -0
- data/debian/passenger.conf +4 -0
- data/debian/passenger.load +1 -0
- data/debian/rules +37 -0
- data/debian/watch +3 -0
- data/{misc → dev}/copy_boost_headers.rb +3 -0
- data/{misc → dev}/find_owner_pipe_leaks.rb +0 -0
- data/{misc → dev}/render_error_pages.rb +0 -0
- data/doc/Users guide Apache.html +39 -1
- data/doc/Users guide Apache.txt +40 -0
- data/doc/Users guide Nginx.html +1 -1
- data/doc/Users guide Standalone.html +1 -1
- data/doc/cxxapi/Constants_8h_source.html +1 -1
- data/doc/cxxapi/DirectoryMapper_8h_source.html +6 -22
- data/doc/cxxapi/EventedClient_8h_source.html +572 -468
- data/doc/cxxapi/Exceptions_8h_source.html +142 -129
- data/doc/cxxapi/FileDescriptor_8h_source.html +263 -199
- data/doc/cxxapi/MessageChannel_8h_source.html +686 -770
- data/doc/cxxapi/MessageServer_8h_source.html +1 -1
- data/doc/cxxapi/PoolOptions_8h_source.html +79 -78
- data/doc/cxxapi/ResourceLocator_8h_source.html +105 -55
- data/doc/cxxapi/SafeLibev_8h_source.html +180 -0
- data/doc/cxxapi/ServerInstanceDir_8h_source.html +114 -110
- data/doc/cxxapi/Session_8h_source.html +1 -1
- data/doc/cxxapi/SpawnManager_8h_source.html +208 -208
- data/doc/cxxapi/StaticString_8h_source.html +258 -183
- data/doc/cxxapi/Utils_8h_source.html +71 -54
- data/doc/cxxapi/annotated.html +3 -0
- data/doc/cxxapi/classAgentWatcher.html +2 -2
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +0 -1
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +0 -27
- data/doc/cxxapi/classPassenger_1_1EventedClient-members.html +5 -0
- data/doc/cxxapi/classPassenger_1_1EventedClient.html +102 -7
- data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +2 -1
- data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +34 -8
- data/doc/cxxapi/classPassenger_1_1FileDescriptorPair-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1FileDescriptorPair.html +52 -0
- data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +0 -3
- data/doc/cxxapi/classPassenger_1_1MessageChannel.html +0 -120
- data/doc/cxxapi/classPassenger_1_1SafeLibev-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1SafeLibev.html +51 -0
- data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +1 -0
- data/doc/cxxapi/classPassenger_1_1SpawnException.html +22 -0
- data/doc/cxxapi/classes.html +14 -14
- data/doc/cxxapi/files.html +2 -0
- data/doc/cxxapi/functions_0x63.html +6 -3
- data/doc/cxxapi/functions_0x64.html +9 -2
- data/doc/cxxapi/functions_0x67.html +6 -9
- data/doc/cxxapi/functions_0x69.html +3 -0
- data/doc/cxxapi/functions_0x77.html +8 -8
- data/doc/cxxapi/functions_eval.html +6 -0
- data/doc/cxxapi/functions_func.html +18 -17
- data/doc/cxxapi/functions_vars.html +8 -0
- data/doc/cxxapi/graph_legend.png +0 -0
- data/doc/cxxapi/group__Core.png +0 -0
- data/doc/cxxapi/group__Hooks.png +0 -0
- data/doc/cxxapi/hierarchy.html +3 -0
- data/doc/cxxapi/inherit__graph__14.map +1 -1
- data/doc/cxxapi/inherit__graph__14.md5 +1 -1
- data/doc/cxxapi/inherit__graph__14.png +0 -0
- data/doc/cxxapi/inherit__graph__15.map +1 -3
- data/doc/cxxapi/inherit__graph__15.md5 +1 -1
- data/doc/cxxapi/inherit__graph__15.png +0 -0
- data/doc/cxxapi/inherit__graph__16.map +3 -1
- data/doc/cxxapi/inherit__graph__16.md5 +1 -1
- data/doc/cxxapi/inherit__graph__16.png +0 -0
- data/doc/cxxapi/inherit__graph__17.map +1 -1
- data/doc/cxxapi/inherit__graph__17.md5 +1 -1
- data/doc/cxxapi/inherit__graph__17.png +0 -0
- data/doc/cxxapi/inherit__graph__18.map +1 -2
- data/doc/cxxapi/inherit__graph__18.md5 +1 -1
- data/doc/cxxapi/inherit__graph__18.png +0 -0
- data/doc/cxxapi/inherit__graph__19.map +2 -1
- data/doc/cxxapi/inherit__graph__19.md5 +1 -1
- data/doc/cxxapi/inherit__graph__19.png +0 -0
- data/doc/cxxapi/inherit__graph__20.map +1 -1
- data/doc/cxxapi/inherit__graph__20.md5 +1 -1
- data/doc/cxxapi/inherit__graph__20.png +0 -0
- data/doc/cxxapi/inherit__graph__21.map +1 -1
- data/doc/cxxapi/inherit__graph__21.md5 +1 -1
- data/doc/cxxapi/inherit__graph__21.png +0 -0
- data/doc/cxxapi/inherit__graph__22.map +1 -1
- data/doc/cxxapi/inherit__graph__22.md5 +1 -1
- data/doc/cxxapi/inherit__graph__22.png +0 -0
- data/doc/cxxapi/inherit__graph__23.map +1 -1
- data/doc/cxxapi/inherit__graph__23.md5 +1 -1
- data/doc/cxxapi/inherit__graph__23.png +0 -0
- data/doc/cxxapi/inherit__graph__24.map +1 -1
- data/doc/cxxapi/inherit__graph__24.md5 +1 -1
- data/doc/cxxapi/inherit__graph__24.png +0 -0
- data/doc/cxxapi/inherit__graph__25.map +1 -1
- data/doc/cxxapi/inherit__graph__25.md5 +1 -1
- data/doc/cxxapi/inherit__graph__25.png +0 -0
- data/doc/cxxapi/inherit__graph__26.map +1 -1
- data/doc/cxxapi/inherit__graph__26.md5 +1 -1
- data/doc/cxxapi/inherit__graph__26.png +0 -0
- data/doc/cxxapi/inherit__graph__27.map +1 -1
- data/doc/cxxapi/inherit__graph__27.md5 +1 -1
- data/doc/cxxapi/inherit__graph__27.png +0 -0
- data/doc/cxxapi/inherit__graph__28.map +1 -2
- data/doc/cxxapi/inherit__graph__28.md5 +1 -1
- data/doc/cxxapi/inherit__graph__28.png +0 -0
- data/doc/cxxapi/inherit__graph__29.map +1 -1
- data/doc/cxxapi/inherit__graph__29.md5 +1 -1
- data/doc/cxxapi/inherit__graph__29.png +0 -0
- data/doc/cxxapi/inherit__graph__30.map +1 -1
- data/doc/cxxapi/inherit__graph__30.md5 +1 -1
- data/doc/cxxapi/inherit__graph__30.png +0 -0
- data/doc/cxxapi/inherit__graph__31.map +2 -1
- data/doc/cxxapi/inherit__graph__31.md5 +1 -1
- data/doc/cxxapi/inherit__graph__31.png +0 -0
- data/doc/cxxapi/inherit__graph__32.map +1 -3
- data/doc/cxxapi/inherit__graph__32.md5 +1 -1
- data/doc/cxxapi/inherit__graph__32.png +0 -0
- data/doc/cxxapi/inherit__graph__33.map +1 -1
- data/doc/cxxapi/inherit__graph__33.md5 +1 -1
- data/doc/cxxapi/inherit__graph__33.png +0 -0
- data/doc/cxxapi/inherit__graph__34.map +1 -1
- data/doc/cxxapi/inherit__graph__34.md5 +1 -1
- data/doc/cxxapi/inherit__graph__34.png +0 -0
- data/doc/cxxapi/inherit__graph__35.map +3 -1
- data/doc/cxxapi/inherit__graph__35.md5 +1 -1
- data/doc/cxxapi/inherit__graph__35.png +0 -0
- data/doc/cxxapi/inherit__graph__36.map +1 -1
- data/doc/cxxapi/inherit__graph__36.md5 +1 -1
- data/doc/cxxapi/inherit__graph__36.png +0 -0
- data/doc/cxxapi/inherit__graph__37.map +1 -1
- data/doc/cxxapi/inherit__graph__37.md5 +1 -1
- data/doc/cxxapi/inherit__graph__37.png +0 -0
- data/doc/cxxapi/inherit__graph__38.map +3 -1
- data/doc/cxxapi/inherit__graph__38.md5 +1 -1
- data/doc/cxxapi/inherit__graph__38.png +0 -0
- data/doc/cxxapi/inherit__graph__39.map +3 -1
- data/doc/cxxapi/inherit__graph__39.md5 +1 -1
- data/doc/cxxapi/inherit__graph__39.png +0 -0
- data/doc/cxxapi/inherits.html +33 -24
- data/doc/cxxapi/namespacePassenger.html +52 -0
- data/doc/cxxapi/namespacemembers.html +6 -0
- data/doc/cxxapi/namespacemembers_func.html +6 -0
- data/doc/cxxapi/tree.html +8 -0
- data/ext/apache2/Configuration.cpp +30 -8
- data/ext/apache2/Configuration.hpp +15 -14
- data/ext/apache2/DirectoryMapper.h +0 -16
- data/ext/apache2/Hooks.cpp +30 -29
- data/ext/boost/algorithm/string/detail/case_conv.hpp +6 -6
- data/ext/boost/algorithm/string/detail/find_format.hpp +14 -4
- data/ext/boost/algorithm/string/detail/find_format_all.hpp +13 -3
- data/ext/boost/algorithm/string/detail/find_format_store.hpp +11 -0
- data/ext/boost/algorithm/string/erase.hpp +2 -2
- data/ext/boost/bind/placeholders.hpp +2 -2
- data/ext/boost/concept/detail/backward_compatibility.hpp +16 -0
- data/ext/boost/concept/detail/general.hpp +15 -6
- data/ext/boost/concept/detail/has_constraints.hpp +5 -3
- data/ext/boost/concept/usage.hpp +5 -4
- data/ext/boost/concept_check.hpp +10 -1
- data/ext/boost/config/abi/borland_prefix.hpp +1 -1
- data/ext/boost/config/auto_link.hpp +68 -21
- data/ext/boost/config/compiler/borland.hpp +11 -3
- data/ext/boost/config/compiler/clang.hpp +62 -0
- data/ext/boost/config/compiler/codegear.hpp +21 -7
- data/ext/boost/config/compiler/common_edg.hpp +4 -2
- data/ext/boost/config/compiler/digitalmars.hpp +1 -1
- data/ext/boost/config/compiler/gcc.hpp +46 -7
- data/ext/boost/config/compiler/gcc_xml.hpp +25 -0
- data/ext/boost/config/compiler/intel.hpp +23 -0
- data/ext/boost/config/compiler/kai.hpp +1 -1
- data/ext/boost/config/compiler/metrowerks.hpp +1 -1
- data/ext/boost/config/compiler/nvcc.hpp +86 -0
- data/ext/boost/config/compiler/pgi.hpp +18 -3
- data/ext/boost/config/compiler/sunpro_cc.hpp +19 -5
- data/ext/boost/config/compiler/vacpp.hpp +8 -0
- data/ext/boost/config/compiler/visualc.hpp +27 -11
- data/ext/boost/config/platform/cygwin.hpp +0 -3
- data/ext/boost/config/platform/symbian.hpp +94 -0
- data/ext/boost/config/platform/win32.hpp +8 -1
- data/ext/boost/config/select_compiler_config.hpp +10 -0
- data/ext/boost/config/select_platform_config.hpp +4 -0
- data/ext/boost/config/stdlib/dinkumware.hpp +11 -1
- data/ext/boost/config/stdlib/libcomo.hpp +1 -0
- data/ext/boost/config/stdlib/libstdcpp3.hpp +1 -0
- data/ext/boost/config/stdlib/modena.hpp +1 -0
- data/ext/boost/config/stdlib/msl.hpp +1 -0
- data/ext/boost/config/stdlib/roguewave.hpp +1 -0
- data/ext/boost/config/stdlib/sgi.hpp +1 -0
- data/ext/boost/config/stdlib/stlport.hpp +1 -0
- data/ext/boost/config/stdlib/vacpp.hpp +1 -0
- data/ext/boost/config/suffix.hpp +40 -2
- data/ext/boost/cstdint.hpp +36 -7
- data/ext/boost/date_time/gregorian/conversion.hpp +4 -2
- data/ext/boost/date_time/microsec_time_clock.hpp +7 -7
- data/ext/boost/date_time/posix_time/conversion.hpp +4 -2
- data/ext/boost/date_time/time_facet.hpp +43 -4
- data/ext/boost/detail/endian.hpp +5 -2
- data/ext/boost/detail/lcast_precision.hpp +2 -2
- data/ext/boost/detail/sp_typeinfo.hpp +1 -1
- data/ext/boost/detail/workaround.hpp +5 -0
- data/ext/boost/exception/detail/error_info_impl.hpp +3 -3
- data/ext/boost/exception/detail/exception_ptr.hpp +76 -135
- data/ext/boost/exception/detail/is_output_streamable.hpp +15 -2
- data/ext/boost/exception/detail/type_info.hpp +9 -5
- data/ext/boost/exception/diagnostic_information.hpp +5 -3
- data/ext/boost/exception/exception.hpp +60 -46
- data/ext/boost/exception/info.hpp +47 -14
- data/ext/boost/function/function_base.hpp +4 -4
- data/ext/boost/integer.hpp +4 -0
- data/ext/boost/integer_fwd.hpp +9 -3
- data/ext/boost/iterator/iterator_concepts.hpp +284 -0
- data/ext/boost/iterator/transform_iterator.hpp +0 -1
- data/ext/boost/make_shared.hpp +17 -0
- data/ext/boost/mpl/aux_/config/has_xxx.hpp +4 -3
- data/ext/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +2 -6
- data/ext/boost/mpl/aux_/template_arity.hpp +4 -4
- data/ext/boost/mpl/eval_if.hpp +3 -3
- data/ext/boost/mpl/has_xxx.hpp +369 -3
- data/ext/boost/optional/optional.hpp +3 -1
- data/ext/boost/optional/optional_fwd.hpp +1 -1
- data/ext/boost/preprocessor/repetition/enum_trailing_params.hpp +38 -0
- data/ext/boost/range/algorithm/equal.hpp +188 -0
- data/ext/boost/range/as_literal.hpp +15 -15
- data/ext/boost/range/concepts.hpp +331 -0
- data/ext/boost/range/const_iterator.hpp +7 -4
- data/ext/boost/range/detail/extract_optional_type.hpp +52 -0
- data/ext/boost/range/detail/implementation_help.hpp +7 -7
- data/ext/boost/range/detail/misc_concept.hpp +33 -0
- data/ext/boost/range/iterator.hpp +32 -32
- data/ext/boost/range/iterator_range.hpp +8 -651
- data/ext/boost/range/iterator_range_core.hpp +542 -0
- data/ext/boost/range/iterator_range_io.hpp +93 -0
- data/ext/boost/range/mutable_iterator.hpp +7 -4
- data/ext/boost/range/size.hpp +1 -1
- data/ext/boost/range/size_type.hpp +2 -1
- data/ext/boost/shared_array.hpp +19 -0
- data/ext/boost/smart_ptr/detail/sp_convertible.hpp +2 -2
- data/ext/boost/smart_ptr/detail/yield_k.hpp +1 -1
- data/ext/boost/smart_ptr/make_shared.hpp +508 -0
- data/ext/boost/smart_ptr/shared_array.hpp +147 -0
- data/ext/boost/src/pthread/thread.cpp +16 -21
- data/ext/boost/src/pthread/timeconv.inl +7 -4
- data/ext/boost/thread/barrier.hpp +2 -1
- data/ext/boost/thread/detail/config.hpp +7 -1
- data/ext/boost/thread/detail/platform.hpp +1 -1
- data/ext/boost/thread/detail/thread.hpp +62 -18
- data/ext/boost/thread/detail/thread_group.hpp +5 -2
- data/ext/boost/thread/detail/tss_hooks.hpp +8 -25
- data/ext/boost/thread/future.hpp +45 -34
- data/ext/boost/thread/locks.hpp +184 -55
- data/ext/boost/thread/pthread/condition_variable.hpp +7 -7
- data/ext/boost/thread/pthread/condition_variable_fwd.hpp +4 -2
- data/ext/boost/thread/pthread/mutex.hpp +29 -17
- data/ext/boost/thread/pthread/once.hpp +5 -0
- data/ext/boost/thread/pthread/recursive_mutex.hpp +97 -18
- data/ext/boost/thread/pthread/shared_mutex.hpp +1 -1
- data/ext/boost/thread/pthread/thread_heap_alloc.hpp +1 -1
- data/ext/boost/thread/tss.hpp +2 -0
- data/ext/boost/throw_exception.hpp +21 -5
- data/ext/boost/token_functions.hpp +111 -91
- data/ext/boost/type_traits/add_reference.hpp +19 -1
- data/ext/boost/type_traits/function_traits.hpp +2 -2
- data/ext/boost/type_traits/is_const.hpp +24 -5
- data/ext/boost/type_traits/is_convertible.hpp +1 -1
- data/ext/boost/type_traits/is_function.hpp +3 -0
- data/ext/boost/type_traits/is_lvalue_reference.hpp +118 -0
- data/ext/boost/type_traits/is_reference.hpp +8 -81
- data/ext/boost/type_traits/is_rvalue_reference.hpp +29 -0
- data/ext/boost/type_traits/is_same.hpp +2 -2
- data/ext/boost/type_traits/is_volatile.hpp +26 -7
- data/ext/boost/type_traits/remove_const.hpp +12 -0
- data/ext/boost/type_traits/remove_cv.hpp +23 -1
- data/ext/boost/type_traits/remove_reference.hpp +21 -1
- data/ext/boost/type_traits/type_with_alignment.hpp +10 -10
- data/ext/boost/units/detail/utility.hpp +104 -0
- data/ext/boost/utility/compare_pointees.hpp +1 -1
- data/ext/common/AgentsStarter.hpp +151 -161
- data/ext/common/ApplicationPool/Pool.h +16 -4
- data/ext/common/Constants.h +1 -1
- data/ext/common/EventedClient.h +130 -26
- data/ext/common/Exceptions.h +15 -2
- data/ext/common/FileDescriptor.h +76 -12
- data/ext/common/IniFile.h +488 -0
- data/ext/common/LoggingAgent/LoggingServer.h +2 -2
- data/ext/common/LoggingAgent/RemoteSender.h +15 -6
- data/ext/common/MessageChannel.h +17 -101
- data/ext/common/PoolOptions.h +1 -0
- data/ext/common/ResourceLocator.h +78 -28
- data/ext/common/SafeLibev.h +149 -0
- data/ext/common/ServerInstanceDir.h +11 -7
- data/ext/common/Session.h +1 -1
- data/ext/common/SpawnManager.h +14 -14
- data/ext/common/StaticString.h +75 -0
- data/ext/common/Utils.cpp +304 -12
- data/ext/common/Utils.h +17 -0
- data/ext/common/Utils/BufferedIO.h +196 -0
- data/ext/common/Utils/IOUtils.cpp +159 -0
- data/ext/common/Utils/IOUtils.h +118 -1
- data/ext/common/Utils/ProcessMetricsCollector.h +184 -56
- data/ext/common/Utils/StrIntUtils.cpp +45 -11
- data/ext/common/Utils/StrIntUtils.h +8 -5
- data/ext/common/Utils/Timer.h +22 -0
- data/ext/common/Utils/utf8.h +35 -0
- data/ext/common/Utils/utf8/checked.h +324 -0
- data/ext/common/Utils/utf8/core.h +359 -0
- data/ext/common/Utils/utf8/unchecked.h +229 -0
- data/ext/common/Watchdog.cpp +52 -85
- data/ext/libev/config.h +122 -0
- data/ext/nginx/Configuration.c +7 -1
- data/ext/nginx/HelperAgent.cpp +16 -18
- data/ext/nginx/config +6 -4
- data/ext/oxt/system_calls.cpp +10 -0
- data/ext/oxt/system_calls.hpp +2 -0
- data/lib/phusion_passenger.rb +6 -11
- data/lib/phusion_passenger/dependencies.rb +2 -0
- data/lib/phusion_passenger/packaging.rb +5 -5
- data/lib/phusion_passenger/platform_info.rb +88 -0
- data/lib/phusion_passenger/platform_info/binary_compatibility.rb +3 -17
- data/lib/phusion_passenger/platform_info/compiler.rb +14 -32
- data/lib/phusion_passenger/platform_info/curl.rb +6 -1
- data/lib/phusion_passenger/platform_info/operating_system.rb +107 -0
- data/lib/phusion_passenger/public_api.rb +2 -2
- data/lib/phusion_passenger/rails3_extensions/init.rb +5 -2
- data/lib/phusion_passenger/standalone/command.rb +6 -2
- data/lib/phusion_passenger/standalone/package_runtime_command.rb +2 -2
- data/lib/phusion_passenger/standalone/runtime_installer.rb +17 -5
- data/lib/phusion_passenger/standalone/start_command.rb +12 -12
- data/lib/phusion_passenger/standalone/stop_command.rb +3 -3
- data/lib/phusion_passenger/standalone/utils.rb +6 -2
- data/lib/phusion_passenger/templates/standalone/config.erb +37 -5
- data/lib/phusion_passenger/utils.rb +4 -7
- data/resources/mime.types +73 -0
- data/{misc → resources}/union_station_gateway.crt +0 -0
- data/test/cxx/BufferedIOTest.cpp +364 -0
- data/test/cxx/EventedClientTest.cpp +150 -13
- data/test/cxx/IOUtilsTest.cpp +399 -1
- data/test/cxx/MessageChannelTest.cpp +5 -120
- data/test/cxx/ProcessMetricsCollectorTest.cpp +121 -0
- data/test/cxx/StaticStringTest.cpp +134 -0
- data/test/cxx/UtilsTest.cpp +16 -46
- data/test/stub/rails_apps/2.3/mycook/public/dispatch.cgi +2 -2
- data/test/stub/rails_apps/2.3/mycook/public/dispatch.fcgi +1 -1
- data/test/stub/rails_apps/2.3/mycook/public/dispatch.rb +1 -1
- data/test/stub/rails_apps/3.0/empty/Gemfile.lock +73 -0
- data/test/support/allocate_memory.c +14 -0
- data/test/support/test_helper.rb +3 -0
- metadata +57 -174
- data/bin/passenger-stress-test +0 -345
- data/debian/postinst +0 -24
- data/doc/rdoc/classes/ConditionVariable.html +0 -215
- data/doc/rdoc/classes/Exception.html +0 -120
- data/doc/rdoc/classes/GC.html +0 -113
- data/doc/rdoc/classes/IO.html +0 -221
- data/doc/rdoc/classes/PhusionPassenger.html +0 -397
- data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +0 -180
- data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +0 -647
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +0 -654
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/InvalidPassword.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +0 -97
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +0 -96
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +0 -97
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +0 -96
- data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +0 -619
- data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +0 -142
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats.html +0 -368
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats/Process.html +0 -231
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance.html +0 -588
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/CorruptedDirectoryError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/GenerationsAbsentError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Group.html +0 -147
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Process.html +0 -279
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/RoleDeniedError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/StaleDirectoryError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Stats.html +0 -123
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/UnsupportedGenerationStructureVersionError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger.html +0 -341
- data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/Log.html +0 -294
- data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/SharedData.html +0 -199
- data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +0 -155
- data/doc/rdoc/classes/PhusionPassenger/AppProcess.html +0 -367
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails.html +0 -95
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner.html +0 -351
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner/Error.html +0 -98
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/CGIFixed.html +0 -200
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner.html +0 -410
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner/Error.html +0 -98
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/RequestHandler.html +0 -156
- data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions.html +0 -115
- data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions/AnalyticsLogging.html +0 -202
- data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +0 -172
- data/doc/rdoc/classes/PhusionPassenger/DebugLogging.html +0 -273
- data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +0 -145
- data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +0 -162
- data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +0 -141
- data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +0 -673
- data/doc/rdoc/classes/PhusionPassenger/MessageChannel/InvalidHashError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/MessageClient.html +0 -415
- data/doc/rdoc/classes/PhusionPassenger/NativeSupportLoader.html +0 -134
- data/doc/rdoc/classes/PhusionPassenger/Packaging.html +0 -129
- data/doc/rdoc/classes/PhusionPassenger/PlatformInfo.html +0 -1809
- data/doc/rdoc/classes/PhusionPassenger/Plugin.html +0 -237
- data/doc/rdoc/classes/PhusionPassenger/Rack.html +0 -91
- data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +0 -312
- data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner/Error.html +0 -98
- data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +0 -218
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions.html +0 -114
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging.html +0 -256
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ACExtension.html +0 -139
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ASBenchmarkableExtension.html +0 -118
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ExceptionLogger.html +0 -135
- data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +0 -378
- data/doc/rdoc/classes/PhusionPassenger/Standalone.html +0 -111
- data/doc/rdoc/classes/PhusionPassenger/Standalone/AppFinder.html +0 -252
- data/doc/rdoc/classes/PhusionPassenger/Standalone/Command.html +0 -161
- data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile.html +0 -368
- data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile/DisallowedContextError.html +0 -132
- data/doc/rdoc/classes/PhusionPassenger/Standalone/HelpCommand.html +0 -151
- data/doc/rdoc/classes/PhusionPassenger/Standalone/Main.html +0 -189
- data/doc/rdoc/classes/PhusionPassenger/Standalone/PackageRuntimeCommand.html +0 -177
- data/doc/rdoc/classes/PhusionPassenger/Standalone/RuntimeInstaller.html +0 -341
- data/doc/rdoc/classes/PhusionPassenger/Standalone/StartCommand.html +0 -203
- data/doc/rdoc/classes/PhusionPassenger/Standalone/StatusCommand.html +0 -156
- data/doc/rdoc/classes/PhusionPassenger/Standalone/StopCommand.html +0 -168
- data/doc/rdoc/classes/PhusionPassenger/Standalone/Utils.html +0 -86
- data/doc/rdoc/classes/PhusionPassenger/Standalone/VersionCommand.html +0 -135
- data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +0 -125
- data/doc/rdoc/classes/PhusionPassenger/Utils.html +0 -1550
- data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher.html +0 -204
- data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/DirInfo.html +0 -171
- data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/FileInfo.html +0 -140
- data/doc/rdoc/classes/PhusionPassenger/Utils/HostsFileParser.html +0 -260
- data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +0 -169
- data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput.html +0 -265
- data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput/Tempfile.html +0 -120
- data/doc/rdoc/classes/PhusionPassenger/Utils/UnseekableSocket.html +0 -561
- data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +0 -140
- data/doc/rdoc/classes/PhusionPassenger/WSGI.html +0 -89
- data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +0 -182
- data/doc/rdoc/classes/Process.html +0 -115
- data/doc/rdoc/classes/Signal.html +0 -139
- data/doc/rdoc/created.rid +0 -1
- data/doc/rdoc/files/DEVELOPERS_TXT.html +0 -276
- data/doc/rdoc/files/README.html +0 -157
- data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +0 -130
- data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +0 -135
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +0 -128
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools/memory_stats_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools/server_instance_rb.html +0 -132
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/analytics_logger_rb.html +0 -129
- data/doc/rdoc/files/lib/phusion_passenger/app_process_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/application_spawner_rb.html +0 -141
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/cgi_fixed_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/framework_spawner_rb.html +0 -146
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/request_handler_rb.html +0 -125
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails_extensions/init_rb.html +0 -132
- data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/debug_logging_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +0 -147
- data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +0 -120
- data/doc/rdoc/files/lib/phusion_passenger/message_client_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/native_support_rb.html +0 -132
- data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/apache_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/binary_compatibility_rb.html +0 -129
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/compiler_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/curl_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/documentation_tools_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/linux_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/operating_system_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/ruby_rb.html +0 -128
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/zlib_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/plugin_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/public_api_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +0 -137
- data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +0 -125
- data/doc/rdoc/files/lib/phusion_passenger/rails3_extensions/init_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +0 -160
- data/doc/rdoc/files/lib/phusion_passenger/standalone/app_finder_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/standalone/command_rb.html +0 -135
- data/doc/rdoc/files/lib/phusion_passenger/standalone/config_file_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/help_command_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/main_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/package_runtime_command_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/standalone/runtime_installer_rb.html +0 -133
- data/doc/rdoc/files/lib/phusion_passenger/standalone/start_command_rb.html +0 -136
- data/doc/rdoc/files/lib/phusion_passenger/standalone/status_command_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/stop_command_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/utils_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/version_command_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/utils/file_system_watcher_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/utils/hosts_file_parser_rb.html +0 -120
- data/doc/rdoc/files/lib/phusion_passenger/utils/rewindable_input_rb.html +0 -100
- data/doc/rdoc/files/lib/phusion_passenger/utils/tmpdir_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/utils/unseekable_socket_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +0 -179
- data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +0 -132
- data/doc/rdoc/fr_class_index.html +0 -138
- data/doc/rdoc/fr_file_index.html +0 -108
- data/doc/rdoc/fr_method_index.html +0 -430
- data/doc/rdoc/index.html +0 -26
- data/doc/rdoc/rdoc-style.css +0 -187
- data/ext/apache2/LICENSE-CNRI.TXT +0 -79
- data/ext/common/Utils/BlockingScalar.h +0 -50
- data/ext/common/Utils/FileHandleGuard.h +0 -81
@@ -6,9 +6,10 @@
|
|
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, Bart Garst
|
9
|
-
* $Date:
|
9
|
+
* $Date: 2010-06-09 14:10:13 -0400 (Wed, 09 Jun 2010) $
|
10
10
|
*/
|
11
11
|
|
12
|
+
#include <cstring>
|
12
13
|
#include <string>
|
13
14
|
#include <stdexcept>
|
14
15
|
#include <boost/throw_exception.hpp>
|
@@ -41,7 +42,8 @@ namespace gregorian {
|
|
41
42
|
boost::throw_exception(std::out_of_range(s));
|
42
43
|
}
|
43
44
|
|
44
|
-
std::tm datetm
|
45
|
+
std::tm datetm;
|
46
|
+
std::memset(&datetm, 0, sizeof(datetm));
|
45
47
|
boost::gregorian::date::ymd_type ymd = d.year_month_day();
|
46
48
|
datetm.tm_year = ymd.year - 1900;
|
47
49
|
datetm.tm_mon = ymd.month - 1;
|
@@ -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, Bart Garst
|
9
|
-
* $Date:
|
9
|
+
* $Date: 2010-05-10 05:15:48 -0400 (Mon, 10 May 2010) $
|
10
10
|
*/
|
11
11
|
|
12
12
|
|
@@ -98,9 +98,9 @@ namespace date_time {
|
|
98
98
|
|
99
99
|
std::tm curr;
|
100
100
|
std::tm* curr_ptr = converter(&t, &curr);
|
101
|
-
date_type d(curr_ptr->tm_year + 1900,
|
102
|
-
curr_ptr->tm_mon + 1,
|
103
|
-
curr_ptr->tm_mday);
|
101
|
+
date_type d(static_cast< typename date_type::year_type::value_type >(curr_ptr->tm_year + 1900),
|
102
|
+
static_cast< typename date_type::month_type::value_type >(curr_ptr->tm_mon + 1),
|
103
|
+
static_cast< typename date_type::day_type::value_type >(curr_ptr->tm_mday));
|
104
104
|
|
105
105
|
//The following line will adjust the fractional second tick in terms
|
106
106
|
//of the current time system. For example, if the time system
|
@@ -108,9 +108,9 @@ namespace date_time {
|
|
108
108
|
//and all the fractional seconds return 0.
|
109
109
|
int adjust = static_cast< int >(resolution_traits_type::res_adjust() / 1000000);
|
110
110
|
|
111
|
-
time_duration_type td(curr_ptr->tm_hour,
|
112
|
-
curr_ptr->tm_min,
|
113
|
-
curr_ptr->tm_sec,
|
111
|
+
time_duration_type td(static_cast< typename time_duration_type::hour_type >(curr_ptr->tm_hour),
|
112
|
+
static_cast< typename time_duration_type::min_type >(curr_ptr->tm_min),
|
113
|
+
static_cast< typename time_duration_type::sec_type >(curr_ptr->tm_sec),
|
114
114
|
sub_sec * adjust);
|
115
115
|
|
116
116
|
return time_type(d,td);
|
@@ -6,9 +6,10 @@
|
|
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, Bart Garst
|
9
|
-
* $Date: 2010-
|
9
|
+
* $Date: 2010-06-09 14:10:13 -0400 (Wed, 09 Jun 2010) $
|
10
10
|
*/
|
11
11
|
|
12
|
+
#include <cstring>
|
12
13
|
#include <boost/date_time/posix_time/ptime.hpp>
|
13
14
|
#include <boost/date_time/posix_time/posix_time_duration.hpp>
|
14
15
|
#include <boost/date_time/filetime_functions.hpp>
|
@@ -43,7 +44,8 @@ namespace posix_time {
|
|
43
44
|
//! Convert a time_duration to a tm structure truncating any fractional seconds and zeroing fields for date components
|
44
45
|
inline
|
45
46
|
std::tm to_tm(const boost::posix_time::time_duration& td) {
|
46
|
-
std::tm timetm
|
47
|
+
std::tm timetm;
|
48
|
+
std::memset(&timetm, 0, sizeof(timetm));
|
47
49
|
timetm.tm_hour = date_time::absolute_value(td.hours());
|
48
50
|
timetm.tm_min = date_time::absolute_value(td.minutes());
|
49
51
|
timetm.tm_sec = date_time::absolute_value(td.seconds());
|
@@ -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: Martin Andrian, Jeff Garland, Bart Garst
|
10
|
-
* $Date: 2010-
|
10
|
+
* $Date: 2010-06-09 12:39:31 -0400 (Wed, 09 Jun 2010) $
|
11
11
|
*/
|
12
12
|
|
13
13
|
#include <cctype>
|
@@ -21,6 +21,7 @@
|
|
21
21
|
#include <boost/assert.hpp>
|
22
22
|
#include <boost/lexical_cast.hpp>
|
23
23
|
#include <boost/throw_exception.hpp>
|
24
|
+
#include <boost/range/as_literal.hpp>
|
24
25
|
#include <boost/algorithm/string/erase.hpp>
|
25
26
|
#include <boost/algorithm/string/replace.hpp>
|
26
27
|
#include <boost/date_time/compiler_config.hpp>
|
@@ -42,6 +43,10 @@ namespace date_time {
|
|
42
43
|
static const char_type seconds_format[3]; // S
|
43
44
|
static const char_type hours_format[3]; // H
|
44
45
|
static const char_type unrestricted_hours_format[3]; // O
|
46
|
+
static const char_type full_24_hour_time_format[3]; // T
|
47
|
+
static const char_type full_24_hour_time_expanded_format[9]; // HH:MM:SS
|
48
|
+
static const char_type short_24_hour_time_format[3]; // R
|
49
|
+
static const char_type short_24_hour_time_expanded_format[6]; // HH:MM
|
45
50
|
static const char_type standard_format[9]; // x X
|
46
51
|
static const char_type zone_abbrev_format[3]; // z
|
47
52
|
static const char_type zone_name_format[3]; // Z
|
@@ -73,8 +78,7 @@ namespace date_time {
|
|
73
78
|
|
74
79
|
template <class CharT>
|
75
80
|
const typename time_formats<CharT>::char_type
|
76
|
-
time_formats<CharT>::seconds_with_fractional_seconds_format[3] =
|
77
|
-
{'%','s'};
|
81
|
+
time_formats<CharT>::seconds_with_fractional_seconds_format[3] = {'%','s'};
|
78
82
|
|
79
83
|
template <class CharT>
|
80
84
|
const typename time_formats<CharT>::char_type
|
@@ -88,6 +92,24 @@ namespace date_time {
|
|
88
92
|
const typename time_formats<CharT>::char_type
|
89
93
|
time_formats<CharT>::unrestricted_hours_format[3] = {'%','O'};
|
90
94
|
|
95
|
+
template <class CharT>
|
96
|
+
const typename time_formats<CharT>::char_type
|
97
|
+
time_formats<CharT>::full_24_hour_time_format[3] = {'%','T'};
|
98
|
+
|
99
|
+
template <class CharT>
|
100
|
+
const typename time_formats<CharT>::char_type
|
101
|
+
time_formats<CharT>::full_24_hour_time_expanded_format[9] =
|
102
|
+
{'%','H',':','%','M',':','%','S'};
|
103
|
+
|
104
|
+
template <class CharT>
|
105
|
+
const typename time_formats<CharT>::char_type
|
106
|
+
time_formats<CharT>::short_24_hour_time_format[3] = {'%','R'};
|
107
|
+
|
108
|
+
template <class CharT>
|
109
|
+
const typename time_formats<CharT>::char_type
|
110
|
+
time_formats<CharT>::short_24_hour_time_expanded_format[6] =
|
111
|
+
{'%','H',':','%','M'};
|
112
|
+
|
91
113
|
template <class CharT>
|
92
114
|
const typename time_formats<CharT>::char_type
|
93
115
|
//time_formats<CharT>::standard_format[5] = {'%','c',' ','%','z'};
|
@@ -180,6 +202,7 @@ namespace date_time {
|
|
180
202
|
class OutItrT = std::ostreambuf_iterator<CharT, std::char_traits<CharT> > >
|
181
203
|
class time_facet :
|
182
204
|
public boost::date_time::date_facet<typename time_type::date_type , CharT, OutItrT> {
|
205
|
+
typedef time_formats< CharT > formats_type;
|
183
206
|
public:
|
184
207
|
typedef typename time_type::date_type date_type;
|
185
208
|
typedef typename time_type::time_duration_type time_duration_type;
|
@@ -266,6 +289,14 @@ namespace date_time {
|
|
266
289
|
}
|
267
290
|
string_type format(this->m_format);
|
268
291
|
|
292
|
+
// %T and %R have to be replaced here since they are not standard
|
293
|
+
boost::algorithm::replace_all(format,
|
294
|
+
boost::as_literal(formats_type::full_24_hour_time_format),
|
295
|
+
boost::as_literal(formats_type::full_24_hour_time_expanded_format));
|
296
|
+
boost::algorithm::replace_all(format,
|
297
|
+
boost::as_literal(formats_type::short_24_hour_time_format),
|
298
|
+
boost::as_literal(formats_type::short_24_hour_time_expanded_format));
|
299
|
+
|
269
300
|
string_type frac_str;
|
270
301
|
if (format.find(seconds_with_fractional_seconds_format) != string_type::npos) {
|
271
302
|
// replace %s with %S.nnn
|
@@ -366,7 +397,7 @@ namespace date_time {
|
|
366
397
|
}
|
367
398
|
if (format.find(fractional_seconds_format) != string_type::npos) {
|
368
399
|
// replace %f with nnnnnnn
|
369
|
-
if (
|
400
|
+
if (frac_str.empty()) {
|
370
401
|
frac_str = fractional_seconds_as_string(a_time.time_of_day(), false);
|
371
402
|
}
|
372
403
|
boost::algorithm::replace_all(format,
|
@@ -428,6 +459,14 @@ namespace date_time {
|
|
428
459
|
positive_sign);
|
429
460
|
}
|
430
461
|
|
462
|
+
// %T and %R have to be replaced here since they are not standard
|
463
|
+
boost::algorithm::replace_all(format,
|
464
|
+
boost::as_literal(formats_type::full_24_hour_time_format),
|
465
|
+
boost::as_literal(formats_type::full_24_hour_time_expanded_format));
|
466
|
+
boost::algorithm::replace_all(format,
|
467
|
+
boost::as_literal(formats_type::short_24_hour_time_format),
|
468
|
+
boost::as_literal(formats_type::short_24_hour_time_expanded_format));
|
469
|
+
|
431
470
|
/*
|
432
471
|
* It is possible for a time duration to span more then 24 hours.
|
433
472
|
* Standard time_put::put is obliged to behave the same as strftime
|
data/ext/boost/detail/endian.hpp
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
// Copyright 2005 Caleb Epstein
|
2
2
|
// Copyright 2006 John Maddock
|
3
|
+
// Copyright 2010 Rene Rivera
|
3
4
|
// Distributed under the Boost Software License, Version 1.0. (See accompany-
|
4
5
|
// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
5
6
|
|
@@ -42,10 +43,12 @@
|
|
42
43
|
# error Unknown machine endianness detected.
|
43
44
|
# endif
|
44
45
|
# define BOOST_BYTE_ORDER __BYTE_ORDER
|
45
|
-
#elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN)
|
46
|
+
#elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) || \
|
47
|
+
defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
|
46
48
|
# define BOOST_BIG_ENDIAN
|
47
49
|
# define BOOST_BYTE_ORDER 4321
|
48
|
-
#elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN)
|
50
|
+
#elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) || \
|
51
|
+
defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
|
49
52
|
# define BOOST_LITTLE_ENDIAN
|
50
53
|
# define BOOST_BYTE_ORDER 1234
|
51
54
|
#elif defined(__sparc) || defined(__sparc__) \
|
@@ -173,8 +173,8 @@ inline void lcast_set_precision(std::ios_base& stream, T*)
|
|
173
173
|
template<class Source, class Target>
|
174
174
|
inline void lcast_set_precision(std::ios_base& stream, Source*, Target*)
|
175
175
|
{
|
176
|
-
std::streamsize const s = lcast_get_precision((
|
177
|
-
std::streamsize const t = lcast_get_precision((
|
176
|
+
std::streamsize const s = lcast_get_precision(static_cast<Source*>(0));
|
177
|
+
std::streamsize const t = lcast_get_precision(static_cast<Target*>(0));
|
178
178
|
stream.precision(s > t ? s : t);
|
179
179
|
}
|
180
180
|
|
@@ -74,7 +74,7 @@ template<class T> struct sp_typeid_
|
|
74
74
|
}
|
75
75
|
};
|
76
76
|
|
77
|
-
template<class T> sp_typeinfo sp_typeid_< T >::ti_
|
77
|
+
template<class T> sp_typeinfo sp_typeid_< T >::ti_ = sp_typeid_< T >::name();
|
78
78
|
|
79
79
|
template<class T> struct sp_typeid_< T & >: sp_typeid_< T >
|
80
80
|
{
|
@@ -65,6 +65,11 @@
|
|
65
65
|
#else
|
66
66
|
#define BOOST_MSVC_WORKAROUND_GUARD 0
|
67
67
|
#endif
|
68
|
+
#ifndef BOOST_MSVC_FULL_VER
|
69
|
+
#define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 1
|
70
|
+
#else
|
71
|
+
#define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 0
|
72
|
+
#endif
|
68
73
|
#ifndef __GNUC__
|
69
74
|
#define __GNUC___WORKAROUND_GUARD 1
|
70
75
|
#else
|
@@ -1,4 +1,4 @@
|
|
1
|
-
//Copyright (c) 2006-
|
1
|
+
//Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc.
|
2
2
|
|
3
3
|
//Distributed under the Boost Software License, Version 1.0. (See accompanying
|
4
4
|
//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
@@ -25,7 +25,7 @@ boost
|
|
25
25
|
{
|
26
26
|
public:
|
27
27
|
|
28
|
-
virtual
|
28
|
+
virtual std::string tag_typeid_name() const = 0;
|
29
29
|
virtual std::string value_as_string() const = 0;
|
30
30
|
|
31
31
|
protected:
|
@@ -62,7 +62,7 @@ boost
|
|
62
62
|
|
63
63
|
private:
|
64
64
|
|
65
|
-
|
65
|
+
std::string tag_typeid_name() const;
|
66
66
|
std::string value_as_string() const;
|
67
67
|
|
68
68
|
value_type value_;
|
@@ -28,6 +28,26 @@
|
|
28
28
|
namespace
|
29
29
|
boost
|
30
30
|
{
|
31
|
+
typedef shared_ptr<exception_detail::clone_base const> exception_ptr;
|
32
|
+
|
33
|
+
exception_ptr current_exception();
|
34
|
+
|
35
|
+
template <class T>
|
36
|
+
inline
|
37
|
+
exception_ptr
|
38
|
+
copy_exception( T const & e )
|
39
|
+
{
|
40
|
+
try
|
41
|
+
{
|
42
|
+
throw enable_current_exception(e);
|
43
|
+
}
|
44
|
+
catch(
|
45
|
+
... )
|
46
|
+
{
|
47
|
+
return current_exception();
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
31
51
|
#ifndef BOOST_NO_RTTI
|
32
52
|
typedef error_info<struct tag_original_exception_type,std::type_info const *> original_exception_type;
|
33
53
|
|
@@ -39,91 +59,47 @@ boost
|
|
39
59
|
}
|
40
60
|
#endif
|
41
61
|
|
42
|
-
|
43
|
-
|
44
|
-
void rethrow_exception( exception_ptr const & );
|
45
|
-
|
46
|
-
class
|
47
|
-
exception_ptr
|
62
|
+
namespace
|
63
|
+
exception_detail
|
48
64
|
{
|
49
|
-
typedef bool exception_ptr::*unspecified_bool_type;
|
50
|
-
friend exception_ptr current_exception();
|
51
|
-
friend void rethrow_exception( exception_ptr const & );
|
52
|
-
|
53
|
-
shared_ptr<exception_detail::clone_base const> c_;
|
54
|
-
bool bad_alloc_;
|
55
|
-
|
56
65
|
struct
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
exception_ptr( bad_alloc_tag ):
|
63
|
-
bad_alloc_(true)
|
64
|
-
{
|
65
|
-
}
|
66
|
-
|
67
|
-
explicit
|
68
|
-
exception_ptr( shared_ptr<exception_detail::clone_base const> const & c ):
|
69
|
-
c_(c),
|
70
|
-
bad_alloc_(false)
|
71
|
-
{
|
72
|
-
BOOST_ASSERT(c);
|
73
|
-
}
|
74
|
-
|
75
|
-
void
|
76
|
-
rethrow() const
|
77
|
-
{
|
78
|
-
BOOST_ASSERT(*this);
|
79
|
-
if( bad_alloc_ )
|
80
|
-
throw enable_current_exception(std::bad_alloc());
|
81
|
-
else
|
82
|
-
c_->rethrow();
|
83
|
-
}
|
84
|
-
|
85
|
-
bool
|
86
|
-
empty() const
|
87
|
-
{
|
88
|
-
return !bad_alloc_ && !c_;
|
89
|
-
}
|
90
|
-
|
91
|
-
public:
|
92
|
-
|
93
|
-
exception_ptr():
|
94
|
-
bad_alloc_(false)
|
95
|
-
{
|
96
|
-
}
|
97
|
-
|
98
|
-
~exception_ptr() throw()
|
99
|
-
{
|
100
|
-
}
|
66
|
+
bad_alloc_:
|
67
|
+
boost::exception,
|
68
|
+
std::bad_alloc
|
69
|
+
{
|
70
|
+
};
|
101
71
|
|
102
|
-
|
72
|
+
template <int Dummy>
|
73
|
+
exception_ptr
|
74
|
+
get_bad_alloc()
|
103
75
|
{
|
104
|
-
|
76
|
+
bad_alloc_ ba;
|
77
|
+
exception_detail::clone_impl<bad_alloc_> c(ba);
|
78
|
+
c <<
|
79
|
+
throw_function(BOOST_CURRENT_FUNCTION) <<
|
80
|
+
throw_file(__FILE__) <<
|
81
|
+
throw_line(__LINE__);
|
82
|
+
static exception_ptr ep(new exception_detail::clone_impl<bad_alloc_>(c));
|
83
|
+
return ep;
|
105
84
|
}
|
106
85
|
|
107
|
-
|
108
|
-
|
109
|
-
|
86
|
+
template <int Dummy>
|
87
|
+
struct
|
88
|
+
exception_ptr_bad_alloc
|
110
89
|
{
|
111
|
-
|
112
|
-
}
|
90
|
+
static exception_ptr const e;
|
91
|
+
};
|
113
92
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
}
|
120
|
-
};
|
93
|
+
template <int Dummy>
|
94
|
+
exception_ptr const
|
95
|
+
exception_ptr_bad_alloc<Dummy>::
|
96
|
+
e = get_bad_alloc<Dummy>();
|
97
|
+
}
|
121
98
|
|
122
99
|
class
|
123
100
|
unknown_exception:
|
124
|
-
public exception,
|
125
|
-
public std::exception
|
126
|
-
public exception_detail::clone_base
|
101
|
+
public boost::exception,
|
102
|
+
public std::exception
|
127
103
|
{
|
128
104
|
public:
|
129
105
|
|
@@ -150,18 +126,6 @@ boost
|
|
150
126
|
|
151
127
|
private:
|
152
128
|
|
153
|
-
exception_detail::clone_base const *
|
154
|
-
clone() const
|
155
|
-
{
|
156
|
-
return new unknown_exception(*this);
|
157
|
-
}
|
158
|
-
|
159
|
-
void
|
160
|
-
rethrow() const
|
161
|
-
{
|
162
|
-
throw*this;
|
163
|
-
}
|
164
|
-
|
165
129
|
template <class E>
|
166
130
|
void
|
167
131
|
add_original_type( E const & e )
|
@@ -179,8 +143,7 @@ boost
|
|
179
143
|
class
|
180
144
|
current_exception_std_exception_wrapper:
|
181
145
|
public T,
|
182
|
-
public boost::exception
|
183
|
-
public clone_base
|
146
|
+
public boost::exception
|
184
147
|
{
|
185
148
|
public:
|
186
149
|
|
@@ -204,18 +167,6 @@ boost
|
|
204
167
|
|
205
168
|
private:
|
206
169
|
|
207
|
-
clone_base const *
|
208
|
-
clone() const
|
209
|
-
{
|
210
|
-
return new current_exception_std_exception_wrapper(*this);
|
211
|
-
}
|
212
|
-
|
213
|
-
void
|
214
|
-
rethrow() const
|
215
|
-
{
|
216
|
-
throw *this;
|
217
|
-
}
|
218
|
-
|
219
170
|
template <class E>
|
220
171
|
void
|
221
172
|
add_original_type( E const & e )
|
@@ -228,7 +179,7 @@ boost
|
|
228
179
|
|
229
180
|
#ifdef BOOST_NO_RTTI
|
230
181
|
template <class T>
|
231
|
-
exception const *
|
182
|
+
boost::exception const *
|
232
183
|
get_boost_exception( T const * )
|
233
184
|
{
|
234
185
|
try
|
@@ -236,7 +187,7 @@ boost
|
|
236
187
|
throw;
|
237
188
|
}
|
238
189
|
catch(
|
239
|
-
exception & x )
|
190
|
+
boost::exception & x )
|
240
191
|
{
|
241
192
|
return &x;
|
242
193
|
}
|
@@ -247,50 +198,50 @@ boost
|
|
247
198
|
}
|
248
199
|
#else
|
249
200
|
template <class T>
|
250
|
-
exception const *
|
201
|
+
boost::exception const *
|
251
202
|
get_boost_exception( T const * x )
|
252
203
|
{
|
253
|
-
return dynamic_cast<exception const *>(x);
|
204
|
+
return dynamic_cast<boost::exception const *>(x);
|
254
205
|
}
|
255
206
|
#endif
|
256
207
|
|
257
208
|
template <class T>
|
258
209
|
inline
|
259
|
-
|
210
|
+
exception_ptr
|
260
211
|
current_exception_std_exception( T const & e1 )
|
261
212
|
{
|
262
213
|
if( boost::exception const * e2 = get_boost_exception(&e1) )
|
263
|
-
return
|
214
|
+
return boost::copy_exception(current_exception_std_exception_wrapper<T>(e1,*e2));
|
264
215
|
else
|
265
|
-
return
|
216
|
+
return boost::copy_exception(current_exception_std_exception_wrapper<T>(e1));
|
266
217
|
}
|
267
218
|
|
268
219
|
inline
|
269
|
-
|
220
|
+
exception_ptr
|
270
221
|
current_exception_unknown_exception()
|
271
222
|
{
|
272
|
-
return
|
223
|
+
return boost::copy_exception(unknown_exception());
|
273
224
|
}
|
274
225
|
|
275
226
|
inline
|
276
|
-
|
227
|
+
exception_ptr
|
277
228
|
current_exception_unknown_boost_exception( boost::exception const & e )
|
278
229
|
{
|
279
|
-
return
|
230
|
+
return boost::copy_exception(unknown_exception(e));
|
280
231
|
}
|
281
232
|
|
282
233
|
inline
|
283
|
-
|
234
|
+
exception_ptr
|
284
235
|
current_exception_unknown_std_exception( std::exception const & e )
|
285
236
|
{
|
286
237
|
if( boost::exception const * be = get_boost_exception(&e) )
|
287
238
|
return current_exception_unknown_boost_exception(*be);
|
288
239
|
else
|
289
|
-
return
|
240
|
+
return boost::copy_exception(unknown_exception(e));
|
290
241
|
}
|
291
242
|
|
292
243
|
inline
|
293
|
-
|
244
|
+
exception_ptr
|
294
245
|
current_exception_impl()
|
295
246
|
{
|
296
247
|
try
|
@@ -300,7 +251,7 @@ boost
|
|
300
251
|
catch(
|
301
252
|
exception_detail::clone_base & e )
|
302
253
|
{
|
303
|
-
return
|
254
|
+
return exception_ptr(e.clone());
|
304
255
|
}
|
305
256
|
catch(
|
306
257
|
std::domain_error & e )
|
@@ -396,24 +347,28 @@ boost
|
|
396
347
|
exception_ptr
|
397
348
|
current_exception()
|
398
349
|
{
|
350
|
+
exception_ptr ret;
|
351
|
+
BOOST_ASSERT(!ret);
|
399
352
|
try
|
400
353
|
{
|
401
|
-
|
354
|
+
ret=exception_detail::current_exception_impl();
|
402
355
|
}
|
403
356
|
catch(
|
404
357
|
std::bad_alloc & )
|
405
358
|
{
|
359
|
+
ret=exception_detail::exception_ptr_bad_alloc<42>::e;
|
406
360
|
}
|
407
361
|
catch(
|
408
362
|
... )
|
409
363
|
{
|
410
364
|
try
|
411
365
|
{
|
412
|
-
|
366
|
+
ret=exception_detail::current_exception_std_exception(std::bad_exception());
|
413
367
|
}
|
414
368
|
catch(
|
415
369
|
std::bad_alloc & )
|
416
370
|
{
|
371
|
+
ret=exception_detail::exception_ptr_bad_alloc<42>::e;
|
417
372
|
}
|
418
373
|
catch(
|
419
374
|
... )
|
@@ -421,30 +376,16 @@ boost
|
|
421
376
|
BOOST_ASSERT(0);
|
422
377
|
}
|
423
378
|
}
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
template <class T>
|
428
|
-
inline
|
429
|
-
exception_ptr
|
430
|
-
copy_exception( T const & e )
|
431
|
-
{
|
432
|
-
try
|
433
|
-
{
|
434
|
-
throw enable_current_exception(e);
|
435
|
-
}
|
436
|
-
catch(
|
437
|
-
... )
|
438
|
-
{
|
439
|
-
return current_exception();
|
440
|
-
}
|
379
|
+
BOOST_ASSERT(ret);
|
380
|
+
return ret;
|
441
381
|
}
|
442
382
|
|
443
383
|
inline
|
444
384
|
void
|
445
385
|
rethrow_exception( exception_ptr const & p )
|
446
386
|
{
|
447
|
-
p
|
387
|
+
BOOST_ASSERT(p);
|
388
|
+
p->rethrow();
|
448
389
|
}
|
449
390
|
|
450
391
|
inline
|