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
data/doc/rdoc/index.html
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
|
2
|
-
<!DOCTYPE html
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
5
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
6
|
-
<head>
|
7
|
-
<title>Passenger Ruby API</title>
|
8
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
9
|
-
</head>
|
10
|
-
|
11
|
-
<frameset cols="20%,*">
|
12
|
-
<frameset rows="15%,55%,30%">
|
13
|
-
<frame src="fr_file_index.html" title="Files" name="Files" />
|
14
|
-
<frame src="fr_class_index.html" name="Classes" />
|
15
|
-
<frame src="fr_method_index.html" name="Methods" />
|
16
|
-
</frameset>
|
17
|
-
<frame src="files/README.html" name="docwin" />
|
18
|
-
<noframes>
|
19
|
-
<body bgcolor="white">
|
20
|
-
Click <a href="html/index.html">here</a> for a non-frames
|
21
|
-
version of this page.
|
22
|
-
</body>
|
23
|
-
</noframes>
|
24
|
-
</frameset>
|
25
|
-
|
26
|
-
</html>
|
data/doc/rdoc/rdoc-style.css
DELETED
@@ -1,187 +0,0 @@
|
|
1
|
-
a {
|
2
|
-
color: #00F;
|
3
|
-
text-decoration: none;
|
4
|
-
}
|
5
|
-
|
6
|
-
a:hover {
|
7
|
-
color: #77F;
|
8
|
-
text-decoration: underline;
|
9
|
-
}
|
10
|
-
|
11
|
-
body, td, p {
|
12
|
-
font-family: "Bitstream Vera Sans", Verdana, Arial, Helvetica, sans-serif;
|
13
|
-
background: #FFF;
|
14
|
-
color: #000;
|
15
|
-
margin: 0px;
|
16
|
-
font-size: small;
|
17
|
-
}
|
18
|
-
|
19
|
-
p {
|
20
|
-
margin-top: 0.5em;
|
21
|
-
margin-bottom: 0.5em;
|
22
|
-
}
|
23
|
-
|
24
|
-
#content {
|
25
|
-
margin: 2em;
|
26
|
-
margin-left: 3.5em;
|
27
|
-
margin-right: 3.5em;
|
28
|
-
}
|
29
|
-
|
30
|
-
#description p {
|
31
|
-
margin-bottom: 0.5em;
|
32
|
-
}
|
33
|
-
|
34
|
-
.sectiontitle {
|
35
|
-
margin-top: 1em;
|
36
|
-
margin-bottom: 1em;
|
37
|
-
padding: 0.5em;
|
38
|
-
padding-left: 2em;
|
39
|
-
background: #005;
|
40
|
-
color: #FFF;
|
41
|
-
font-weight: bold;
|
42
|
-
}
|
43
|
-
|
44
|
-
.attr-rw {
|
45
|
-
padding-left: 1em;
|
46
|
-
padding-right: 1em;
|
47
|
-
text-align: center;
|
48
|
-
color: #055;
|
49
|
-
}
|
50
|
-
|
51
|
-
.attr-name {
|
52
|
-
font-weight: bold;
|
53
|
-
}
|
54
|
-
|
55
|
-
.attr-desc {
|
56
|
-
}
|
57
|
-
|
58
|
-
.attr-value {
|
59
|
-
font-family: monospace;
|
60
|
-
}
|
61
|
-
|
62
|
-
.file-title-prefix {
|
63
|
-
font-size: large;
|
64
|
-
}
|
65
|
-
|
66
|
-
.file-title {
|
67
|
-
font-size: large;
|
68
|
-
font-weight: bold;
|
69
|
-
background: #005;
|
70
|
-
color: #FFF;
|
71
|
-
}
|
72
|
-
|
73
|
-
.banner {
|
74
|
-
background: #005;
|
75
|
-
color: #FFF;
|
76
|
-
border: 1px solid black;
|
77
|
-
padding: 1em;
|
78
|
-
}
|
79
|
-
|
80
|
-
.banner td {
|
81
|
-
background: transparent;
|
82
|
-
color: #FFF;
|
83
|
-
}
|
84
|
-
|
85
|
-
h1 a, h2 a, .sectiontitle a, .banner a {
|
86
|
-
color: #FF0;
|
87
|
-
}
|
88
|
-
|
89
|
-
h1 a:hover, h2 a:hover, .sectiontitle a:hover, .banner a:hover {
|
90
|
-
color: #FF7;
|
91
|
-
}
|
92
|
-
|
93
|
-
.dyn-source {
|
94
|
-
display: none;
|
95
|
-
background: #fffde8;
|
96
|
-
color: #000;
|
97
|
-
border: #ffe0bb dotted 1px;
|
98
|
-
margin: 0.5em 2em 0.5em 2em;
|
99
|
-
padding: 0.5em;
|
100
|
-
}
|
101
|
-
|
102
|
-
.dyn-source .cmt {
|
103
|
-
color: #00F;
|
104
|
-
font-style: italic;
|
105
|
-
}
|
106
|
-
|
107
|
-
.dyn-source .kw {
|
108
|
-
color: #070;
|
109
|
-
font-weight: bold;
|
110
|
-
}
|
111
|
-
|
112
|
-
.method {
|
113
|
-
margin-left: 1em;
|
114
|
-
margin-right: 1em;
|
115
|
-
margin-bottom: 1em;
|
116
|
-
}
|
117
|
-
|
118
|
-
.description pre {
|
119
|
-
padding: 0.5em;
|
120
|
-
border: #ffe0bb dotted 1px;
|
121
|
-
background: #fffde8;
|
122
|
-
}
|
123
|
-
|
124
|
-
.method .title {
|
125
|
-
font-family: monospace;
|
126
|
-
font-size: large;
|
127
|
-
border-bottom: 1px dashed black;
|
128
|
-
margin-bottom: 0.3em;
|
129
|
-
padding-bottom: 0.1em;
|
130
|
-
}
|
131
|
-
|
132
|
-
.method .description, .method .sourcecode {
|
133
|
-
margin-left: 1em;
|
134
|
-
}
|
135
|
-
|
136
|
-
.description p, .sourcecode p {
|
137
|
-
margin-bottom: 0.5em;
|
138
|
-
}
|
139
|
-
|
140
|
-
.method .sourcecode p.source-link {
|
141
|
-
text-indent: 0em;
|
142
|
-
margin-top: 0.5em;
|
143
|
-
}
|
144
|
-
|
145
|
-
.method .aka {
|
146
|
-
margin-top: 0.3em;
|
147
|
-
margin-left: 1em;
|
148
|
-
font-style: italic;
|
149
|
-
text-indent: 2em;
|
150
|
-
}
|
151
|
-
|
152
|
-
h1 {
|
153
|
-
padding: 1em;
|
154
|
-
margin-left: -1.5em;
|
155
|
-
font-size: x-large;
|
156
|
-
font-weight: bold;
|
157
|
-
color: #FFF;
|
158
|
-
background: #007;
|
159
|
-
}
|
160
|
-
|
161
|
-
h2 {
|
162
|
-
padding: 0.5em 1em 0.5em 1em;
|
163
|
-
margin-left: -1.5em;
|
164
|
-
font-size: large;
|
165
|
-
font-weight: bold;
|
166
|
-
color: #FFF;
|
167
|
-
background: #009;
|
168
|
-
}
|
169
|
-
|
170
|
-
h3, h4, h5, h6 {
|
171
|
-
color: #220088;
|
172
|
-
border-bottom: #5522bb solid 1px;
|
173
|
-
}
|
174
|
-
|
175
|
-
.sourcecode > pre {
|
176
|
-
padding: 0.5em;
|
177
|
-
border: 1px dotted black;
|
178
|
-
background: #FFE;
|
179
|
-
}
|
180
|
-
|
181
|
-
dt {
|
182
|
-
font-weight: bold
|
183
|
-
}
|
184
|
-
|
185
|
-
dd {
|
186
|
-
margin-bottom: 0.7em;
|
187
|
-
}
|
@@ -1,79 +0,0 @@
|
|
1
|
-
A few functions in ext/apache2/Hooks.cpp are based on the source code of
|
2
|
-
mod_scgi version 1.9. Its license is included in this file.
|
3
|
-
Please note that these licensing terms *only* encompass those few
|
4
|
-
functions, and not Passenger as a whole.
|
5
|
-
|
6
|
-
The functions which are based on mod_scgi's code are as follows:
|
7
|
-
- Hooks::prepareRequest(). Although our version looks nothing like the
|
8
|
-
original, the idea of checking for the file's existance from the
|
9
|
-
map_to_storage/fixups hook is inspired by mod_scgi's code.
|
10
|
-
- Hooks::handleRequest(). Although our version looks nothing like the original,
|
11
|
-
the idea of passing the backend process's socket file descriptor up to the
|
12
|
-
bucket brigade chain is inspired by mod_scgi's code.
|
13
|
-
- Hooks::http2env(), Hooks::lookupName(), Hooks::lookupHeader(),
|
14
|
-
Hooks::lookupEnv(), Hooks::addHeader(): Copied from mod_scgi's functions that
|
15
|
-
are named similarly. Slightly modified to make the coding style consistent
|
16
|
-
with the rest of Phusion Passenger.
|
17
|
-
- Hooks::sendHeaders(): Based for the most part on mod_scgi's send_headers()
|
18
|
-
function.
|
19
|
-
|
20
|
-
------------------------------------------------------------------------
|
21
|
-
CNRI OPEN SOURCE LICENSE AGREEMENT
|
22
|
-
|
23
|
-
IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. BY
|
24
|
-
COPYING, INSTALLING OR OTHERWISE USING SCGI-1.9 SOFTWARE, YOU ARE
|
25
|
-
DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE
|
26
|
-
AGREEMENT.
|
27
|
-
|
28
|
-
1. This LICENSE AGREEMENT is between Corporation for National
|
29
|
-
Research Initiatives, having an office at 1895 Preston White
|
30
|
-
Drive, Reston, VA 20191 ("CNRI"), and the Individual or
|
31
|
-
Organization ("Licensee") copying, installing or otherwise using
|
32
|
-
scgi-1.9 software in source or binary form and its associated
|
33
|
-
documentation ("scgi-1.9").
|
34
|
-
|
35
|
-
2. Subject to the terms and conditions of this License Agreement,
|
36
|
-
CNRI hereby grants Licensee a nonexclusive, royalty-free, world-
|
37
|
-
wide license to reproduce, analyze, test, perform and/or display
|
38
|
-
publicly, prepare derivative works, distribute, and otherwise use
|
39
|
-
scgi-1.9 alone or in any derivative version, provided, however,
|
40
|
-
that CNRI's License Agreement and CNRI's notice of copyright,
|
41
|
-
i.e., "Copyright (c) 2004 Corporation for National Research
|
42
|
-
Initiatives; All Rights Reserved" are retained in scgi-1.9 alone
|
43
|
-
or in any derivative version prepared by Licensee.
|
44
|
-
|
45
|
-
3. In the event Licensee prepares a derivative work that is based on
|
46
|
-
or incorporates scgi-1.9 or any part thereof, and wants to make
|
47
|
-
the derivative work available to others as provided herein, then
|
48
|
-
Licensee hereby agrees to include in any such work a brief
|
49
|
-
summary of the changes made to scgi-1.9.
|
50
|
-
|
51
|
-
4. CNRI is making scgi-1.9 available to Licensee on an "AS IS"
|
52
|
-
basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
|
53
|
-
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO
|
54
|
-
AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY
|
55
|
-
OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF SCGI-1.9
|
56
|
-
WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
|
57
|
-
|
58
|
-
5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF SCGI-
|
59
|
-
1.9 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
|
60
|
-
AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING SCGI-
|
61
|
-
1.9, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE
|
62
|
-
POSSIBILITY THEREOF.
|
63
|
-
|
64
|
-
6. This License Agreement will automatically terminate upon a
|
65
|
-
material breach of its terms and conditions.
|
66
|
-
|
67
|
-
7. This License Agreement shall be governed by and interpreted in
|
68
|
-
all respects by the law of the State of Virginia, excluding
|
69
|
-
Virginia's conflict of law provisions. Nothing in this License
|
70
|
-
Agreement shall be deemed to create any relationship of agency,
|
71
|
-
partnership, or joint venture between CNRI and Licensee. This
|
72
|
-
License Agreement does not grant permission to use CNRI
|
73
|
-
trademarks or trade name in a trademark sense to endorse or
|
74
|
-
promote products or services of Licensee, or any third party.
|
75
|
-
|
76
|
-
8. By copying, installing or otherwise using scgi-1.9, Licensee
|
77
|
-
agrees to be bound by the terms and conditions of this License
|
78
|
-
Agreement.
|
79
|
-
|
@@ -1,50 +0,0 @@
|
|
1
|
-
#ifndef _PASSENGER_BLOCKING_SCALAR_H_
|
2
|
-
#define _PASSENGER_BLOCKING_SCALAR_H_
|
3
|
-
|
4
|
-
#include <boost/thread.hpp>
|
5
|
-
#include <queue>
|
6
|
-
|
7
|
-
namespace Passenger {
|
8
|
-
|
9
|
-
using namespace std;
|
10
|
-
using namespace boost;
|
11
|
-
|
12
|
-
template<typename T>
|
13
|
-
class BlockingScalar {
|
14
|
-
private:
|
15
|
-
boost::mutex lock;
|
16
|
-
condition_variable added, removed;
|
17
|
-
T item;
|
18
|
-
bool empty;
|
19
|
-
|
20
|
-
public:
|
21
|
-
BlockingScalar() {
|
22
|
-
empty = true;
|
23
|
-
}
|
24
|
-
|
25
|
-
void set(const T &item) {
|
26
|
-
unique_lock<boost::mutex> l(lock);
|
27
|
-
while (!empty) {
|
28
|
-
removed.wait(l);
|
29
|
-
}
|
30
|
-
this->item = item;
|
31
|
-
empty = false;
|
32
|
-
added.notify_one();
|
33
|
-
}
|
34
|
-
|
35
|
-
T get() {
|
36
|
-
unique_lock<boost::mutex> l(lock);
|
37
|
-
while (empty) {
|
38
|
-
added.wait(l);
|
39
|
-
}
|
40
|
-
T item = this->item;
|
41
|
-
this->item = T();
|
42
|
-
empty = true;
|
43
|
-
removed.notify_one();
|
44
|
-
return item;
|
45
|
-
}
|
46
|
-
};
|
47
|
-
|
48
|
-
} // namespace Passenger
|
49
|
-
|
50
|
-
#endif _PASSENGER_BLOCKING_SCALAR_H_
|
@@ -1,81 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Phusion Passenger - http://www.modrails.com/
|
3
|
-
* Copyright (c) 2010 Phusion
|
4
|
-
*
|
5
|
-
* "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
|
6
|
-
*
|
7
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
|
-
* of this software and associated documentation files (the "Software"), to deal
|
9
|
-
* in the Software without restriction, including without limitation the rights
|
10
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
11
|
-
* copies of the Software, and to permit persons to whom the Software is
|
12
|
-
* furnished to do so, subject to the following conditions:
|
13
|
-
*
|
14
|
-
* The above copyright notice and this permission notice shall be included in
|
15
|
-
* all copies or substantial portions of the Software.
|
16
|
-
*
|
17
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
18
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
19
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
20
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
21
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
22
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
23
|
-
* THE SOFTWARE.
|
24
|
-
*/
|
25
|
-
#ifndef _PASSENGER_FILE_HANDLE_GUARD_H_
|
26
|
-
#define _PASSENGER_FILE_HANDLE_GUARD_H_
|
27
|
-
|
28
|
-
#include <boost/noncopyable.hpp>
|
29
|
-
#include <oxt/system_calls.hpp>
|
30
|
-
#include <cstdio>
|
31
|
-
|
32
|
-
namespace Passenger {
|
33
|
-
|
34
|
-
using namespace oxt;
|
35
|
-
|
36
|
-
|
37
|
-
/**
|
38
|
-
* Simple scope-level guard object for ensuring that a given FILE handle
|
39
|
-
* or file descriptor is closed when the object goes out of scope.
|
40
|
-
* Unlike FileDescriptor, which internally uses a shared_ptr and allocates
|
41
|
-
* data structure on the heap, this class is much more lightweight and
|
42
|
-
* does not allocate anything on the heap.
|
43
|
-
*/
|
44
|
-
class FileHandleGuard: public boost::noncopyable {
|
45
|
-
private:
|
46
|
-
enum { T_FILE, T_FD } type;
|
47
|
-
union {
|
48
|
-
FILE *file;
|
49
|
-
int fd;
|
50
|
-
} u;
|
51
|
-
public:
|
52
|
-
FileHandleGuard(FILE *file) {
|
53
|
-
type = T_FILE;
|
54
|
-
u.file = file;
|
55
|
-
}
|
56
|
-
|
57
|
-
FileHandleGuard(int fd) {
|
58
|
-
type = T_FD;
|
59
|
-
u.fd = fd;
|
60
|
-
}
|
61
|
-
|
62
|
-
void close() {
|
63
|
-
if (type == T_FILE && u.file != NULL) {
|
64
|
-
syscalls::fclose(u.file);
|
65
|
-
u.file = NULL;
|
66
|
-
} else if (type == T_FD && u.fd != -1) {
|
67
|
-
syscalls::close(u.fd);
|
68
|
-
u.fd = -1;
|
69
|
-
}
|
70
|
-
}
|
71
|
-
|
72
|
-
~FileHandleGuard() {
|
73
|
-
this_thread::disable_syscall_interruption dsi;
|
74
|
-
close();
|
75
|
-
}
|
76
|
-
};
|
77
|
-
|
78
|
-
|
79
|
-
} // namespace Passenger
|
80
|
-
|
81
|
-
#endif /* _PASSENGER_FILE_HANDLE_GUARD_H_ */
|