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
@@ -20,8 +20,21 @@ boost
|
|
20
20
|
namespace
|
21
21
|
to_string_detail
|
22
22
|
{
|
23
|
-
|
24
|
-
|
23
|
+
struct
|
24
|
+
partial_ordering_helper1
|
25
|
+
{
|
26
|
+
template <class CharT,class Traits>
|
27
|
+
partial_ordering_helper1( std::basic_ostream<CharT,Traits> & );
|
28
|
+
};
|
29
|
+
|
30
|
+
struct
|
31
|
+
partial_ordering_helper2
|
32
|
+
{
|
33
|
+
template <class T>
|
34
|
+
partial_ordering_helper2( T const & );
|
35
|
+
};
|
36
|
+
|
37
|
+
char operator<<( partial_ordering_helper1, partial_ordering_helper2 );
|
25
38
|
|
26
39
|
template <class T,class CharT,class Traits>
|
27
40
|
struct
|
@@ -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)
|
@@ -15,31 +15,35 @@
|
|
15
15
|
#include <boost/detail/sp_typeinfo.hpp>
|
16
16
|
#include <boost/current_function.hpp>
|
17
17
|
#include <boost/config.hpp>
|
18
|
+
#ifndef BOOST_NO_TYPEID
|
19
|
+
#include <boost/units/detail/utility.hpp>
|
20
|
+
#endif
|
21
|
+
#include <string>
|
18
22
|
|
19
23
|
namespace
|
20
24
|
boost
|
21
25
|
{
|
22
26
|
template <class T>
|
23
27
|
inline
|
24
|
-
|
28
|
+
std::string
|
25
29
|
tag_type_name()
|
26
30
|
{
|
27
31
|
#ifdef BOOST_NO_TYPEID
|
28
32
|
return BOOST_CURRENT_FUNCTION;
|
29
33
|
#else
|
30
|
-
return typeid(T*).name();
|
34
|
+
return units::detail::demangle(typeid(T*).name());
|
31
35
|
#endif
|
32
36
|
}
|
33
37
|
|
34
38
|
template <class T>
|
35
39
|
inline
|
36
|
-
|
40
|
+
std::string
|
37
41
|
type_name()
|
38
42
|
{
|
39
43
|
#ifdef BOOST_NO_TYPEID
|
40
44
|
return BOOST_CURRENT_FUNCTION;
|
41
45
|
#else
|
42
|
-
return typeid(T).name();
|
46
|
+
return units::detail::demangle(typeid(T).name());
|
43
47
|
#endif
|
44
48
|
}
|
45
49
|
|
@@ -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)
|
@@ -15,7 +15,9 @@
|
|
15
15
|
#include <boost/config.hpp>
|
16
16
|
#include <boost/exception/get_error_info.hpp>
|
17
17
|
#include <boost/utility/enable_if.hpp>
|
18
|
-
#
|
18
|
+
#ifndef BOOST_NO_RTTI
|
19
|
+
#include <boost/units/detail/utility.hpp>
|
20
|
+
#endif
|
19
21
|
#include <exception>
|
20
22
|
#include <sstream>
|
21
23
|
#include <string>
|
@@ -135,7 +137,7 @@ boost
|
|
135
137
|
}
|
136
138
|
#ifndef BOOST_NO_RTTI
|
137
139
|
tmp << std::string("Dynamic exception type: ") <<
|
138
|
-
(be?BOOST_EXCEPTION_DYNAMIC_TYPEID(*be):BOOST_EXCEPTION_DYNAMIC_TYPEID(*se)).type_.name() << '\n';
|
140
|
+
units::detail::demangle((be?BOOST_EXCEPTION_DYNAMIC_TYPEID(*be):BOOST_EXCEPTION_DYNAMIC_TYPEID(*se)).type_.name()) << '\n';
|
139
141
|
#endif
|
140
142
|
if( with_what && se )
|
141
143
|
tmp << "std::exception::what: " << wh << '\n';
|
@@ -75,8 +75,8 @@ boost
|
|
75
75
|
void
|
76
76
|
release()
|
77
77
|
{
|
78
|
-
if( px_ )
|
79
|
-
px_
|
78
|
+
if( px_ && px_->release() )
|
79
|
+
px_=0;
|
80
80
|
}
|
81
81
|
};
|
82
82
|
}
|
@@ -132,21 +132,9 @@ boost
|
|
132
132
|
}
|
133
133
|
};
|
134
134
|
|
135
|
-
template <class E,class Tag,class T>
|
136
|
-
E const & operator<<( E const &, error_info<Tag,T> const & );
|
137
|
-
|
138
|
-
template <class E>
|
139
|
-
E const & operator<<( E const &, throw_function const & );
|
140
|
-
|
141
|
-
template <class E>
|
142
|
-
E const & operator<<( E const &, throw_file const & );
|
143
|
-
|
144
|
-
template <class E>
|
145
|
-
E const & operator<<( E const &, throw_line const & );
|
146
|
-
|
147
135
|
class exception;
|
148
136
|
|
149
|
-
template <class>
|
137
|
+
template <class T>
|
150
138
|
class shared_ptr;
|
151
139
|
|
152
140
|
namespace
|
@@ -162,7 +150,8 @@ boost
|
|
162
150
|
virtual shared_ptr<error_info_base> get( type_info_ const & ) const = 0;
|
163
151
|
virtual void set( shared_ptr<error_info_base> const &, type_info_ const & ) = 0;
|
164
152
|
virtual void add_ref() const = 0;
|
165
|
-
virtual
|
153
|
+
virtual bool release() const = 0;
|
154
|
+
virtual refcount_ptr<exception_detail::error_info_container> clone() const = 0;
|
166
155
|
|
167
156
|
protected:
|
168
157
|
|
@@ -184,6 +173,20 @@ boost
|
|
184
173
|
struct get_info<throw_line>;
|
185
174
|
|
186
175
|
char const * get_diagnostic_information( exception const &, char const * );
|
176
|
+
|
177
|
+
void copy_boost_exception( exception *, exception const * );
|
178
|
+
|
179
|
+
template <class E,class Tag,class T>
|
180
|
+
E const & set_info( E const &, error_info<Tag,T> const & );
|
181
|
+
|
182
|
+
template <class E>
|
183
|
+
E const & set_info( E const &, throw_function const & );
|
184
|
+
|
185
|
+
template <class E>
|
186
|
+
E const & set_info( E const &, throw_file const & );
|
187
|
+
|
188
|
+
template <class E>
|
189
|
+
E const & set_info( E const &, throw_line const & );
|
187
190
|
}
|
188
191
|
|
189
192
|
class
|
@@ -216,30 +219,31 @@ boost
|
|
216
219
|
#endif
|
217
220
|
;
|
218
221
|
|
219
|
-
#if defined(__MWERKS__) && __MWERKS__<=0x3207
|
222
|
+
#if (defined(__MWERKS__) && __MWERKS__<=0x3207) || (defined(_MSC_VER) && _MSC_VER<=1310)
|
220
223
|
public:
|
221
224
|
#else
|
222
225
|
private:
|
223
226
|
|
224
227
|
template <class E>
|
225
|
-
friend E const &
|
228
|
+
friend E const & exception_detail::set_info( E const &, throw_function const & );
|
226
229
|
|
227
230
|
template <class E>
|
228
|
-
friend E const &
|
231
|
+
friend E const & exception_detail::set_info( E const &, throw_file const & );
|
229
232
|
|
230
233
|
template <class E>
|
231
|
-
friend E const &
|
232
|
-
|
233
|
-
friend char const * exception_detail::get_diagnostic_information( exception const &, char const * );
|
234
|
+
friend E const & exception_detail::set_info( E const &, throw_line const & );
|
234
235
|
|
235
236
|
template <class E,class Tag,class T>
|
236
|
-
friend E const &
|
237
|
+
friend E const & exception_detail::set_info( E const &, error_info<Tag,T> const & );
|
238
|
+
|
239
|
+
friend char const * exception_detail::get_diagnostic_information( exception const &, char const * );
|
237
240
|
|
238
241
|
template <class>
|
239
242
|
friend struct exception_detail::get_info;
|
240
243
|
friend struct exception_detail::get_info<throw_function>;
|
241
244
|
friend struct exception_detail::get_info<throw_file>;
|
242
245
|
friend struct exception_detail::get_info<throw_line>;
|
246
|
+
friend void exception_detail::copy_boost_exception( exception *, exception const * );
|
243
247
|
#endif
|
244
248
|
mutable exception_detail::refcount_ptr<exception_detail::error_info_container> data_;
|
245
249
|
mutable char const * throw_function_;
|
@@ -253,28 +257,32 @@ boost
|
|
253
257
|
{
|
254
258
|
}
|
255
259
|
|
256
|
-
|
257
|
-
|
258
|
-
operator<<( E const & x, throw_function const & y )
|
260
|
+
namespace
|
261
|
+
exception_detail
|
259
262
|
{
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
+
template <class E>
|
264
|
+
E const &
|
265
|
+
set_info( E const & x, throw_function const & y )
|
266
|
+
{
|
267
|
+
x.throw_function_=y.v_;
|
268
|
+
return x;
|
269
|
+
}
|
263
270
|
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
+
template <class E>
|
272
|
+
E const &
|
273
|
+
set_info( E const & x, throw_file const & y )
|
274
|
+
{
|
275
|
+
x.throw_file_=y.v_;
|
276
|
+
return x;
|
277
|
+
}
|
271
278
|
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
279
|
+
template <class E>
|
280
|
+
E const &
|
281
|
+
set_info( E const & x, throw_line const & y )
|
282
|
+
{
|
283
|
+
x.throw_line_=y.v_;
|
284
|
+
return x;
|
285
|
+
}
|
278
286
|
}
|
279
287
|
|
280
288
|
////////////////////////////////////////////////////////////////////////
|
@@ -300,10 +308,10 @@ boost
|
|
300
308
|
};
|
301
309
|
|
302
310
|
struct large_size { char c[256]; };
|
303
|
-
large_size
|
311
|
+
large_size dispatch_boost_exception( exception const * );
|
304
312
|
|
305
313
|
struct small_size { };
|
306
|
-
small_size
|
314
|
+
small_size dispatch_boost_exception( void const * );
|
307
315
|
|
308
316
|
template <class,int>
|
309
317
|
struct enable_error_info_helper;
|
@@ -326,7 +334,7 @@ boost
|
|
326
334
|
struct
|
327
335
|
enable_error_info_return_type
|
328
336
|
{
|
329
|
-
typedef typename enable_error_info_helper<T,sizeof(exception_detail::
|
337
|
+
typedef typename enable_error_info_helper<T,sizeof(exception_detail::dispatch_boost_exception((T*)0))>::type type;
|
330
338
|
};
|
331
339
|
}
|
332
340
|
|
@@ -363,7 +371,13 @@ boost
|
|
363
371
|
void
|
364
372
|
copy_boost_exception( exception * a, exception const * b )
|
365
373
|
{
|
366
|
-
|
374
|
+
refcount_ptr<error_info_container> data;
|
375
|
+
if( error_info_container * d=b->data_.get() )
|
376
|
+
data = d->clone();
|
377
|
+
a->throw_file_ = b->throw_file_;
|
378
|
+
a->throw_line_ = b->throw_line_;
|
379
|
+
a->throw_function_ = b->throw_function_;
|
380
|
+
a->data_ = data;
|
367
381
|
}
|
368
382
|
|
369
383
|
inline
|
@@ -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)
|
@@ -47,7 +47,7 @@ boost
|
|
47
47
|
|
48
48
|
template <class Tag,class T>
|
49
49
|
inline
|
50
|
-
|
50
|
+
std::string
|
51
51
|
error_info<Tag,T>::
|
52
52
|
tag_typeid_name() const
|
53
53
|
{
|
@@ -114,8 +114,8 @@ boost
|
|
114
114
|
tmp << header;
|
115
115
|
for( error_info_map::const_iterator i=info_.begin(),end=info_.end(); i!=end; ++i )
|
116
116
|
{
|
117
|
-
|
118
|
-
tmp << '[' << x
|
117
|
+
error_info_base const & x = *i->second;
|
118
|
+
tmp << '[' << x.tag_typeid_name() << "] = " << x.value_as_string() << '\n';
|
119
119
|
}
|
120
120
|
tmp.str().swap(diagnostic_info_str_);
|
121
121
|
}
|
@@ -131,33 +131,66 @@ boost
|
|
131
131
|
mutable std::string diagnostic_info_str_;
|
132
132
|
mutable int count_;
|
133
133
|
|
134
|
+
error_info_container_impl( error_info_container_impl const & );
|
135
|
+
error_info_container_impl & operator=( error_info_container const & );
|
136
|
+
|
134
137
|
void
|
135
138
|
add_ref() const
|
136
139
|
{
|
137
140
|
++count_;
|
138
141
|
}
|
139
142
|
|
140
|
-
|
143
|
+
bool
|
141
144
|
release() const
|
142
145
|
{
|
143
|
-
if(
|
146
|
+
if( --count_ )
|
147
|
+
return false;
|
148
|
+
else
|
149
|
+
{
|
144
150
|
delete this;
|
151
|
+
return true;
|
152
|
+
}
|
153
|
+
}
|
154
|
+
|
155
|
+
refcount_ptr<error_info_container>
|
156
|
+
clone() const
|
157
|
+
{
|
158
|
+
refcount_ptr<error_info_container> p;
|
159
|
+
error_info_container_impl * c=new error_info_container_impl;
|
160
|
+
p.adopt(c);
|
161
|
+
c->info_ = info_;
|
162
|
+
return p;
|
145
163
|
}
|
146
164
|
};
|
165
|
+
|
166
|
+
template <class E,class Tag,class T>
|
167
|
+
inline
|
168
|
+
E const &
|
169
|
+
set_info( E const & x, error_info<Tag,T> const & v )
|
170
|
+
{
|
171
|
+
typedef error_info<Tag,T> error_info_tag_t;
|
172
|
+
shared_ptr<error_info_tag_t> p( new error_info_tag_t(v) );
|
173
|
+
exception_detail::error_info_container * c=x.data_.get();
|
174
|
+
if( !c )
|
175
|
+
x.data_.adopt(c=new exception_detail::error_info_container_impl);
|
176
|
+
c->set(p,BOOST_EXCEPTION_STATIC_TYPEID(error_info_tag_t));
|
177
|
+
return x;
|
178
|
+
}
|
179
|
+
|
180
|
+
template <class T>
|
181
|
+
struct
|
182
|
+
derives_boost_exception
|
183
|
+
{
|
184
|
+
enum e { value = (sizeof(dispatch_boost_exception((T*)0))==sizeof(large_size)) };
|
185
|
+
};
|
147
186
|
}
|
148
187
|
|
149
188
|
template <class E,class Tag,class T>
|
150
189
|
inline
|
151
|
-
E const
|
190
|
+
typename enable_if<exception_detail::derives_boost_exception<E>,E const &>::type
|
152
191
|
operator<<( E const & x, error_info<Tag,T> const & v )
|
153
192
|
{
|
154
|
-
|
155
|
-
shared_ptr<error_info_tag_t> p( new error_info_tag_t(v) );
|
156
|
-
exception_detail::error_info_container * c=x.data_.get();
|
157
|
-
if( !c )
|
158
|
-
x.data_.adopt(c=new exception_detail::error_info_container_impl);
|
159
|
-
c->set(p,BOOST_EXCEPTION_STATIC_TYPEID(error_info_tag_t));
|
160
|
-
return x;
|
193
|
+
return exception_detail::set_info(x,v);
|
161
194
|
}
|
162
195
|
}
|
163
196
|
|
@@ -264,12 +264,12 @@ namespace boost {
|
|
264
264
|
A(a)
|
265
265
|
{
|
266
266
|
}
|
267
|
-
|
268
|
-
|
267
|
+
|
268
|
+
functor_wrapper(const functor_wrapper& f) :
|
269
269
|
F(static_cast<const F&>(f)),
|
270
270
|
A(static_cast<const A&>(f))
|
271
|
-
|
272
|
-
|
271
|
+
{
|
272
|
+
}
|
273
273
|
};
|
274
274
|
|
275
275
|
/**
|
data/ext/boost/integer.hpp
CHANGED
@@ -57,6 +57,8 @@ namespace boost
|
|
57
57
|
// no specializations for 0 and 5: requests for a type > long are in error
|
58
58
|
#ifdef BOOST_HAS_LONG_LONG
|
59
59
|
template<> struct int_least_helper<1> { typedef boost::long_long_type least; };
|
60
|
+
#elif defined(BOOST_HAS_MS_INT64)
|
61
|
+
template<> struct int_least_helper<1> { typedef __int64 least; };
|
60
62
|
#endif
|
61
63
|
template<> struct int_least_helper<2> { typedef long least; };
|
62
64
|
template<> struct int_least_helper<3> { typedef int least; };
|
@@ -64,6 +66,8 @@ namespace boost
|
|
64
66
|
template<> struct int_least_helper<5> { typedef signed char least; };
|
65
67
|
#ifdef BOOST_HAS_LONG_LONG
|
66
68
|
template<> struct int_least_helper<6> { typedef boost::ulong_long_type least; };
|
69
|
+
#elif defined(BOOST_HAS_MS_INT64)
|
70
|
+
template<> struct int_least_helper<6> { typedef unsigned __int64 least; };
|
67
71
|
#endif
|
68
72
|
template<> struct int_least_helper<7> { typedef unsigned long least; };
|
69
73
|
template<> struct int_least_helper<8> { typedef unsigned int least; };
|
data/ext/boost/integer_fwd.hpp
CHANGED
@@ -77,12 +77,18 @@ template < >
|
|
77
77
|
template < >
|
78
78
|
class integer_traits< unsigned long >;
|
79
79
|
|
80
|
-
#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) &&
|
80
|
+
#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_LONG_LONG)
|
81
81
|
template < >
|
82
|
-
|
82
|
+
class integer_traits< ::boost::long_long_type>;
|
83
83
|
|
84
84
|
template < >
|
85
|
-
|
85
|
+
class integer_traits< ::boost::ulong_long_type >;
|
86
|
+
#elif !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_MS_INT64)
|
87
|
+
template < >
|
88
|
+
class integer_traits<__int64>;
|
89
|
+
|
90
|
+
template < >
|
91
|
+
class integer_traits<unsigned __int64>;
|
86
92
|
#endif
|
87
93
|
|
88
94
|
|
@@ -0,0 +1,284 @@
|
|
1
|
+
// (C) Copyright Jeremy Siek 2002.
|
2
|
+
// Distributed under the Boost Software License, Version 1.0. (See
|
3
|
+
// accompanying file LICENSE_1_0.txt or copy at
|
4
|
+
// http://www.boost.org/LICENSE_1_0.txt)
|
5
|
+
|
6
|
+
#ifndef BOOST_ITERATOR_CONCEPTS_HPP
|
7
|
+
#define BOOST_ITERATOR_CONCEPTS_HPP
|
8
|
+
|
9
|
+
#include <boost/concept_check.hpp>
|
10
|
+
#include <boost/iterator/iterator_categories.hpp>
|
11
|
+
|
12
|
+
// Use boost::detail::iterator_traits to work around some MSVC/Dinkumware problems.
|
13
|
+
#include <boost/detail/iterator.hpp>
|
14
|
+
|
15
|
+
#include <boost/type_traits/is_same.hpp>
|
16
|
+
#include <boost/type_traits/is_integral.hpp>
|
17
|
+
|
18
|
+
#include <boost/mpl/bool.hpp>
|
19
|
+
#include <boost/mpl/if.hpp>
|
20
|
+
#include <boost/mpl/and.hpp>
|
21
|
+
#include <boost/mpl/or.hpp>
|
22
|
+
|
23
|
+
#include <boost/static_assert.hpp>
|
24
|
+
|
25
|
+
// Use boost/limits to work around missing limits headers on some compilers
|
26
|
+
#include <boost/limits.hpp>
|
27
|
+
#include <boost/config.hpp>
|
28
|
+
|
29
|
+
#include <algorithm>
|
30
|
+
|
31
|
+
#include <boost/concept/detail/concept_def.hpp>
|
32
|
+
|
33
|
+
namespace boost_concepts
|
34
|
+
{
|
35
|
+
// Used a different namespace here (instead of "boost") so that the
|
36
|
+
// concept descriptions do not take for granted the names in
|
37
|
+
// namespace boost.
|
38
|
+
|
39
|
+
//===========================================================================
|
40
|
+
// Iterator Access Concepts
|
41
|
+
|
42
|
+
BOOST_concept(ReadableIterator,(Iterator))
|
43
|
+
: boost::Assignable<Iterator>
|
44
|
+
, boost::CopyConstructible<Iterator>
|
45
|
+
|
46
|
+
{
|
47
|
+
typedef BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::value_type value_type;
|
48
|
+
typedef BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::reference reference;
|
49
|
+
|
50
|
+
BOOST_CONCEPT_USAGE(ReadableIterator)
|
51
|
+
{
|
52
|
+
|
53
|
+
value_type v = *i;
|
54
|
+
boost::ignore_unused_variable_warning(v);
|
55
|
+
}
|
56
|
+
private:
|
57
|
+
Iterator i;
|
58
|
+
};
|
59
|
+
|
60
|
+
template <
|
61
|
+
typename Iterator
|
62
|
+
, typename ValueType = BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::value_type
|
63
|
+
>
|
64
|
+
struct WritableIterator
|
65
|
+
: boost::CopyConstructible<Iterator>
|
66
|
+
{
|
67
|
+
BOOST_CONCEPT_USAGE(WritableIterator)
|
68
|
+
{
|
69
|
+
*i = v;
|
70
|
+
}
|
71
|
+
private:
|
72
|
+
ValueType v;
|
73
|
+
Iterator i;
|
74
|
+
};
|
75
|
+
|
76
|
+
template <
|
77
|
+
typename Iterator
|
78
|
+
, typename ValueType = BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::value_type
|
79
|
+
>
|
80
|
+
struct WritableIteratorConcept : WritableIterator<Iterator,ValueType> {};
|
81
|
+
|
82
|
+
BOOST_concept(SwappableIterator,(Iterator))
|
83
|
+
{
|
84
|
+
BOOST_CONCEPT_USAGE(SwappableIterator)
|
85
|
+
{
|
86
|
+
std::iter_swap(i1, i2);
|
87
|
+
}
|
88
|
+
private:
|
89
|
+
Iterator i1;
|
90
|
+
Iterator i2;
|
91
|
+
};
|
92
|
+
|
93
|
+
BOOST_concept(LvalueIterator,(Iterator))
|
94
|
+
{
|
95
|
+
typedef typename boost::detail::iterator_traits<Iterator>::value_type value_type;
|
96
|
+
|
97
|
+
BOOST_CONCEPT_USAGE(LvalueIterator)
|
98
|
+
{
|
99
|
+
value_type& r = const_cast<value_type&>(*i);
|
100
|
+
boost::ignore_unused_variable_warning(r);
|
101
|
+
}
|
102
|
+
private:
|
103
|
+
Iterator i;
|
104
|
+
};
|
105
|
+
|
106
|
+
|
107
|
+
//===========================================================================
|
108
|
+
// Iterator Traversal Concepts
|
109
|
+
|
110
|
+
BOOST_concept(IncrementableIterator,(Iterator))
|
111
|
+
: boost::Assignable<Iterator>
|
112
|
+
, boost::CopyConstructible<Iterator>
|
113
|
+
{
|
114
|
+
typedef typename boost::iterator_traversal<Iterator>::type traversal_category;
|
115
|
+
|
116
|
+
BOOST_CONCEPT_ASSERT((
|
117
|
+
boost::Convertible<
|
118
|
+
traversal_category
|
119
|
+
, boost::incrementable_traversal_tag
|
120
|
+
>));
|
121
|
+
|
122
|
+
BOOST_CONCEPT_USAGE(IncrementableIterator)
|
123
|
+
{
|
124
|
+
++i;
|
125
|
+
(void)i++;
|
126
|
+
}
|
127
|
+
private:
|
128
|
+
Iterator i;
|
129
|
+
};
|
130
|
+
|
131
|
+
BOOST_concept(SinglePassIterator,(Iterator))
|
132
|
+
: IncrementableIterator<Iterator>
|
133
|
+
, boost::EqualityComparable<Iterator>
|
134
|
+
|
135
|
+
{
|
136
|
+
BOOST_CONCEPT_ASSERT((
|
137
|
+
boost::Convertible<
|
138
|
+
BOOST_DEDUCED_TYPENAME SinglePassIterator::traversal_category
|
139
|
+
, boost::single_pass_traversal_tag
|
140
|
+
> ));
|
141
|
+
};
|
142
|
+
|
143
|
+
BOOST_concept(ForwardTraversal,(Iterator))
|
144
|
+
: SinglePassIterator<Iterator>
|
145
|
+
, boost::DefaultConstructible<Iterator>
|
146
|
+
{
|
147
|
+
typedef typename boost::detail::iterator_traits<Iterator>::difference_type difference_type;
|
148
|
+
|
149
|
+
BOOST_MPL_ASSERT((boost::is_integral<difference_type>));
|
150
|
+
BOOST_MPL_ASSERT_RELATION(std::numeric_limits<difference_type>::is_signed, ==, true);
|
151
|
+
|
152
|
+
BOOST_CONCEPT_ASSERT((
|
153
|
+
boost::Convertible<
|
154
|
+
BOOST_DEDUCED_TYPENAME ForwardTraversal::traversal_category
|
155
|
+
, boost::forward_traversal_tag
|
156
|
+
> ));
|
157
|
+
};
|
158
|
+
|
159
|
+
BOOST_concept(BidirectionalTraversal,(Iterator))
|
160
|
+
: ForwardTraversal<Iterator>
|
161
|
+
{
|
162
|
+
BOOST_CONCEPT_ASSERT((
|
163
|
+
boost::Convertible<
|
164
|
+
BOOST_DEDUCED_TYPENAME BidirectionalTraversal::traversal_category
|
165
|
+
, boost::bidirectional_traversal_tag
|
166
|
+
> ));
|
167
|
+
|
168
|
+
BOOST_CONCEPT_USAGE(BidirectionalTraversal)
|
169
|
+
{
|
170
|
+
--i;
|
171
|
+
(void)i--;
|
172
|
+
}
|
173
|
+
private:
|
174
|
+
Iterator i;
|
175
|
+
};
|
176
|
+
|
177
|
+
BOOST_concept(RandomAccessTraversal,(Iterator))
|
178
|
+
: BidirectionalTraversal<Iterator>
|
179
|
+
{
|
180
|
+
BOOST_CONCEPT_ASSERT((
|
181
|
+
boost::Convertible<
|
182
|
+
BOOST_DEDUCED_TYPENAME RandomAccessTraversal::traversal_category
|
183
|
+
, boost::random_access_traversal_tag
|
184
|
+
> ));
|
185
|
+
|
186
|
+
BOOST_CONCEPT_USAGE(RandomAccessTraversal)
|
187
|
+
{
|
188
|
+
i += n;
|
189
|
+
i = i + n;
|
190
|
+
i = n + i;
|
191
|
+
i -= n;
|
192
|
+
i = i - n;
|
193
|
+
n = i - j;
|
194
|
+
}
|
195
|
+
|
196
|
+
private:
|
197
|
+
typename BidirectionalTraversal<Iterator>::difference_type n;
|
198
|
+
Iterator i, j;
|
199
|
+
};
|
200
|
+
|
201
|
+
//===========================================================================
|
202
|
+
// Iterator Interoperability
|
203
|
+
|
204
|
+
namespace detail
|
205
|
+
{
|
206
|
+
template <typename Iterator1, typename Iterator2>
|
207
|
+
void interop_single_pass_constraints(Iterator1 const& i1, Iterator2 const& i2)
|
208
|
+
{
|
209
|
+
bool b;
|
210
|
+
b = i1 == i2;
|
211
|
+
b = i1 != i2;
|
212
|
+
|
213
|
+
b = i2 == i1;
|
214
|
+
b = i2 != i1;
|
215
|
+
boost::ignore_unused_variable_warning(b);
|
216
|
+
}
|
217
|
+
|
218
|
+
template <typename Iterator1, typename Iterator2>
|
219
|
+
void interop_rand_access_constraints(
|
220
|
+
Iterator1 const& i1, Iterator2 const& i2,
|
221
|
+
boost::random_access_traversal_tag, boost::random_access_traversal_tag)
|
222
|
+
{
|
223
|
+
bool b;
|
224
|
+
typename boost::detail::iterator_traits<Iterator2>::difference_type n;
|
225
|
+
b = i1 < i2;
|
226
|
+
b = i1 <= i2;
|
227
|
+
b = i1 > i2;
|
228
|
+
b = i1 >= i2;
|
229
|
+
n = i1 - i2;
|
230
|
+
|
231
|
+
b = i2 < i1;
|
232
|
+
b = i2 <= i1;
|
233
|
+
b = i2 > i1;
|
234
|
+
b = i2 >= i1;
|
235
|
+
n = i2 - i1;
|
236
|
+
boost::ignore_unused_variable_warning(b);
|
237
|
+
boost::ignore_unused_variable_warning(n);
|
238
|
+
}
|
239
|
+
|
240
|
+
template <typename Iterator1, typename Iterator2>
|
241
|
+
void interop_rand_access_constraints(
|
242
|
+
Iterator1 const&, Iterator2 const&,
|
243
|
+
boost::single_pass_traversal_tag, boost::single_pass_traversal_tag)
|
244
|
+
{ }
|
245
|
+
|
246
|
+
} // namespace detail
|
247
|
+
|
248
|
+
BOOST_concept(InteroperableIterator,(Iterator)(ConstIterator))
|
249
|
+
{
|
250
|
+
private:
|
251
|
+
typedef typename boost::detail::pure_traversal_tag<
|
252
|
+
typename boost::iterator_traversal<
|
253
|
+
Iterator
|
254
|
+
>::type
|
255
|
+
>::type traversal_category;
|
256
|
+
|
257
|
+
typedef typename boost::detail::pure_traversal_tag<
|
258
|
+
typename boost::iterator_traversal<
|
259
|
+
ConstIterator
|
260
|
+
>::type
|
261
|
+
>::type const_traversal_category;
|
262
|
+
|
263
|
+
public:
|
264
|
+
BOOST_CONCEPT_ASSERT((SinglePassIterator<Iterator>));
|
265
|
+
BOOST_CONCEPT_ASSERT((SinglePassIterator<ConstIterator>));
|
266
|
+
|
267
|
+
BOOST_CONCEPT_USAGE(InteroperableIterator)
|
268
|
+
{
|
269
|
+
detail::interop_single_pass_constraints(i, ci);
|
270
|
+
detail::interop_rand_access_constraints(i, ci, traversal_category(), const_traversal_category());
|
271
|
+
|
272
|
+
ci = i;
|
273
|
+
}
|
274
|
+
|
275
|
+
private:
|
276
|
+
Iterator i;
|
277
|
+
ConstIterator ci;
|
278
|
+
};
|
279
|
+
|
280
|
+
} // namespace boost_concepts
|
281
|
+
|
282
|
+
#include <boost/concept/detail/concept_undef.hpp>
|
283
|
+
|
284
|
+
#endif // BOOST_ITERATOR_CONCEPTS_HPP
|