passenger 1.0.5 → 2.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 +33 -2
- data/INSTALL +4 -2
- data/LICENSE +11 -10
- data/README +23 -4
- data/Rakefile +179 -54
- data/benchmark/ApplicationPool.cpp +52 -0
- data/bin/passenger-config +18 -0
- data/bin/passenger-install-apache2-module +79 -14
- data/bin/passenger-make-enterprisey +14 -2
- data/bin/passenger-memory-stats +25 -2
- data/bin/passenger-spawn-server +20 -5
- data/bin/passenger-status +96 -0
- data/bin/passenger-stress-test +339 -0
- data/debian/compat +1 -0
- data/debian/control +21 -0
- data/debian/postinst +24 -0
- data/debian/prerm +2 -0
- data/doc/ApplicationPool algorithm.txt +66 -32
- data/doc/Architectural overview.html +1 -1
- data/doc/Security of user switching support.html +1 -1
- data/doc/Users guide.html +867 -243
- data/doc/Users guide.txt +830 -191
- data/doc/cxxapi/ApplicationPoolServer_8h-source.html +655 -524
- data/doc/cxxapi/ApplicationPool_8h-source.html +196 -173
- data/doc/cxxapi/Application_8h-source.html +430 -384
- data/doc/cxxapi/Configuration_8h-source.html +167 -132
- data/doc/cxxapi/DummySpawnManager_8h-source.html +110 -105
- data/doc/cxxapi/Exceptions_8h-source.html +229 -173
- data/doc/cxxapi/Hooks_8h-source.html +49 -44
- data/doc/cxxapi/Logging_8h-source.html +121 -88
- data/doc/cxxapi/MessageChannel_8h-source.html +501 -482
- data/doc/cxxapi/SpawnManager_8h-source.html +559 -518
- data/doc/cxxapi/StandardApplicationPool_8h-source.html +696 -537
- data/doc/cxxapi/System_8h-source.html +251 -0
- data/doc/cxxapi/Utils_8h-source.html +270 -163
- data/doc/cxxapi/annotated.html +40 -24
- data/doc/cxxapi/classClient-members.html +22 -17
- data/doc/cxxapi/classClient.html +22 -17
- data/doc/cxxapi/classDirectoryMapper-members.html +38 -0
- data/doc/cxxapi/classDirectoryMapper.html +203 -0
- data/doc/cxxapi/classHooks-members.html +33 -0
- data/doc/cxxapi/classHooks.html +43 -0
- data/doc/cxxapi/classPassenger_1_1Application-members.html +22 -17
- data/doc/cxxapi/classPassenger_1_1Application.html +38 -33
- data/doc/cxxapi/classPassenger_1_1ApplicationPool-members.html +24 -18
- data/doc/cxxapi/classPassenger_1_1ApplicationPool.html +94 -35
- data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer-members.html +23 -18
- data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer.html +53 -44
- data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.map +1 -1
- data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.md5 +1 -1
- data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1Application_1_1Session-members.html +28 -21
- data/doc/cxxapi/classPassenger_1_1Application_1_1Session.html +91 -56
- data/doc/cxxapi/classPassenger_1_1BusyException-members.html +33 -0
- data/doc/cxxapi/classPassenger_1_1BusyException.html +47 -0
- data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +22 -17
- data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +25 -22
- data/doc/cxxapi/classPassenger_1_1DummySpawnManager-members.html +22 -17
- data/doc/cxxapi/classPassenger_1_1DummySpawnManager.html +27 -22
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +22 -17
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +25 -20
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.map +1 -1
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.md5 +1 -1
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +38 -0
- data/doc/cxxapi/classPassenger_1_1FileSystemException.html +61 -0
- data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1IOException-members.html +22 -17
- data/doc/cxxapi/classPassenger_1_1IOException.html +26 -21
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +1 -1
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +1 -1
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +22 -17
- data/doc/cxxapi/classPassenger_1_1MessageChannel.html +44 -21
- data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +22 -17
- data/doc/cxxapi/classPassenger_1_1SpawnException.html +26 -23
- data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +24 -19
- data/doc/cxxapi/classPassenger_1_1SpawnManager.html +64 -43
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool-members.html +26 -19
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool.html +89 -37
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.map +1 -1
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.md5 +1 -1
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1SystemException-members.html +22 -17
- data/doc/cxxapi/classPassenger_1_1SystemException.html +32 -22
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1TempFile-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1TempFile.html +128 -0
- data/doc/cxxapi/classPassenger_1_1Thread-members.html +35 -0
- data/doc/cxxapi/classPassenger_1_1Thread.html +100 -0
- data/doc/cxxapi/classboost_1_1this__thread_1_1disable__syscall__interruption-members.html +33 -0
- data/doc/cxxapi/classboost_1_1this__thread_1_1disable__syscall__interruption.html +46 -0
- data/doc/cxxapi/classboost_1_1this__thread_1_1enable__syscall__interruption-members.html +33 -0
- data/doc/cxxapi/classboost_1_1this__thread_1_1enable__syscall__interruption.html +44 -0
- data/doc/cxxapi/classboost_1_1this__thread_1_1restore__syscall__interruption-members.html +33 -0
- data/doc/cxxapi/classboost_1_1this__thread_1_1restore__syscall__interruption.html +44 -0
- data/doc/cxxapi/definitions_8h-source.html +14 -11
- data/doc/cxxapi/doxygen.css +152 -77
- data/doc/cxxapi/files.html +18 -12
- data/doc/cxxapi/functions.html +107 -55
- data/doc/cxxapi/functions_func.html +104 -55
- data/doc/cxxapi/functions_type.html +30 -24
- data/doc/cxxapi/functions_vars.html +48 -0
- data/doc/cxxapi/graph_legend.dot +19 -19
- data/doc/cxxapi/graph_legend.html +15 -10
- data/doc/cxxapi/graph_legend.png +0 -0
- data/doc/cxxapi/group__Configuration.html +18 -13
- data/doc/cxxapi/group__Configuration.png +0 -0
- data/doc/cxxapi/group__Core.html +23 -11
- data/doc/cxxapi/group__Core.png +0 -0
- data/doc/cxxapi/group__Exceptions.html +21 -10
- data/doc/cxxapi/group__Hooks.html +16 -11
- data/doc/cxxapi/group__Hooks.png +0 -0
- data/doc/cxxapi/group__Support.html +169 -21
- data/doc/cxxapi/hierarchy.html +38 -22
- data/doc/cxxapi/index.html +1 -1
- data/doc/cxxapi/inherit__graph__0.map +1 -1
- data/doc/cxxapi/inherit__graph__0.md5 +1 -1
- data/doc/cxxapi/inherit__graph__0.png +0 -0
- data/doc/cxxapi/inherit__graph__1.map +1 -1
- data/doc/cxxapi/inherit__graph__1.md5 +1 -1
- data/doc/cxxapi/inherit__graph__1.png +0 -0
- data/doc/cxxapi/inherit__graph__10.map +1 -1
- data/doc/cxxapi/inherit__graph__10.md5 +1 -1
- data/doc/cxxapi/inherit__graph__10.png +0 -0
- data/doc/cxxapi/inherit__graph__11.map +1 -0
- data/doc/cxxapi/inherit__graph__11.md5 +1 -0
- data/doc/cxxapi/inherit__graph__11.png +0 -0
- data/doc/cxxapi/inherit__graph__12.map +1 -0
- data/doc/cxxapi/inherit__graph__12.md5 +1 -0
- data/doc/cxxapi/inherit__graph__12.png +0 -0
- data/doc/cxxapi/inherit__graph__13.map +1 -0
- data/doc/cxxapi/inherit__graph__13.md5 +1 -0
- data/doc/cxxapi/inherit__graph__13.png +0 -0
- data/doc/cxxapi/inherit__graph__14.map +2 -0
- data/doc/cxxapi/inherit__graph__14.md5 +1 -0
- data/doc/cxxapi/inherit__graph__14.png +0 -0
- data/doc/cxxapi/inherit__graph__15.map +1 -0
- data/doc/cxxapi/inherit__graph__15.md5 +1 -0
- data/doc/cxxapi/inherit__graph__15.png +0 -0
- data/doc/cxxapi/inherit__graph__16.map +1 -0
- data/doc/cxxapi/inherit__graph__16.md5 +1 -0
- data/doc/cxxapi/inherit__graph__16.png +0 -0
- data/doc/cxxapi/inherit__graph__17.map +1 -0
- data/doc/cxxapi/inherit__graph__17.md5 +1 -0
- data/doc/cxxapi/inherit__graph__17.png +0 -0
- data/doc/cxxapi/inherit__graph__2.map +1 -1
- data/doc/cxxapi/inherit__graph__2.md5 +1 -1
- data/doc/cxxapi/inherit__graph__2.png +0 -0
- data/doc/cxxapi/inherit__graph__3.map +1 -1
- data/doc/cxxapi/inherit__graph__3.md5 +1 -1
- data/doc/cxxapi/inherit__graph__3.png +0 -0
- data/doc/cxxapi/inherit__graph__4.map +1 -2
- data/doc/cxxapi/inherit__graph__4.md5 +1 -1
- data/doc/cxxapi/inherit__graph__4.png +0 -0
- data/doc/cxxapi/inherit__graph__5.map +1 -1
- data/doc/cxxapi/inherit__graph__5.md5 +1 -1
- data/doc/cxxapi/inherit__graph__5.png +0 -0
- data/doc/cxxapi/inherit__graph__6.map +1 -1
- data/doc/cxxapi/inherit__graph__6.md5 +1 -1
- data/doc/cxxapi/inherit__graph__6.png +0 -0
- data/doc/cxxapi/inherit__graph__7.map +1 -5
- data/doc/cxxapi/inherit__graph__7.md5 +1 -1
- data/doc/cxxapi/inherit__graph__7.png +0 -0
- data/doc/cxxapi/inherit__graph__8.map +1 -1
- data/doc/cxxapi/inherit__graph__8.md5 +1 -1
- data/doc/cxxapi/inherit__graph__8.png +0 -0
- data/doc/cxxapi/inherit__graph__9.map +2 -1
- data/doc/cxxapi/inherit__graph__9.md5 +1 -1
- data/doc/cxxapi/inherit__graph__9.png +0 -0
- data/doc/cxxapi/inherits.html +80 -39
- data/doc/cxxapi/main.html +15 -10
- data/doc/cxxapi/modules.html +16 -11
- data/doc/cxxapi/namespacePassenger.html +208 -0
- data/doc/cxxapi/namespacePassenger_1_1InterruptableCalls.html +43 -0
- data/doc/cxxapi/namespacemembers.html +70 -0
- data/doc/cxxapi/namespacemembers_func.html +66 -0
- data/doc/cxxapi/namespacemembers_type.html +46 -0
- data/doc/cxxapi/namespaces.html +35 -0
- data/doc/cxxapi/structPassenger_1_1AnythingToString-members.html +22 -17
- data/doc/cxxapi/structPassenger_1_1AnythingToString.html +24 -19
- data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4-members.html +23 -18
- data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html +27 -22
- data/doc/cxxapi/tabs.css +1 -1
- data/doc/cxxapi/tree.html +41 -13
- data/doc/rdoc/classes/ConditionVariable.html +25 -23
- data/doc/rdoc/classes/Exception.html +11 -11
- data/doc/rdoc/classes/GC.html +4 -4
- data/doc/rdoc/classes/IO.html +8 -8
- data/doc/rdoc/classes/Passenger.html +27 -8
- data/doc/rdoc/classes/Passenger/AbstractRequestHandler.html +401 -0
- data/doc/rdoc/classes/Passenger/AbstractServer.html +248 -208
- data/doc/rdoc/classes/Passenger/AppInitError.html +37 -6
- data/doc/rdoc/classes/Passenger/Application.html +73 -74
- data/doc/rdoc/classes/Passenger/ConsoleTextTemplate.html +35 -35
- data/doc/rdoc/classes/Passenger/FrameworkInitError.html +17 -18
- data/doc/rdoc/classes/Passenger/HTMLTemplate.html +30 -30
- data/doc/rdoc/classes/Passenger/InitializationError.html +11 -11
- data/doc/rdoc/classes/Passenger/MessageChannel.html +138 -138
- data/doc/rdoc/classes/Passenger/SpawnManager.html +142 -145
- data/doc/rdoc/classes/Passenger/UnknownError.html +11 -11
- data/doc/rdoc/classes/Passenger/Utils.html +327 -99
- data/doc/rdoc/classes/Passenger/VersionNotFound.html +6 -6
- data/doc/rdoc/classes/PlatformInfo.html +10 -10
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/DEVELOPERS_TXT.html +55 -3
- data/doc/rdoc/files/README.html +35 -5
- data/doc/rdoc/files/ext/passenger/native_support_c.html +1 -1
- data/doc/rdoc/files/lib/passenger/abstract_request_handler_rb.html +125 -0
- data/doc/rdoc/files/lib/passenger/abstract_server_rb.html +7 -1
- data/doc/rdoc/files/lib/passenger/application_rb.html +6 -2
- data/doc/rdoc/files/lib/passenger/console_text_template_rb.html +5 -1
- data/doc/rdoc/files/lib/passenger/constants_rb.html +114 -0
- data/doc/rdoc/files/lib/passenger/dependencies_rb.html +7 -1
- data/doc/rdoc/files/lib/passenger/exceptions_rb.html +118 -0
- data/doc/rdoc/files/lib/passenger/html_template_rb.html +5 -1
- data/doc/rdoc/files/lib/passenger/message_channel_rb.html +5 -5
- data/doc/rdoc/files/lib/passenger/platform_info_rb.html +5 -1
- data/doc/rdoc/files/lib/passenger/simple_benchmarking_rb.html +5 -1
- data/doc/rdoc/files/lib/passenger/spawn_manager_rb.html +19 -4
- data/doc/rdoc/files/lib/passenger/utils_rb.html +10 -3
- data/doc/rdoc/fr_class_index.html +1 -6
- data/doc/rdoc/fr_file_index.html +3 -4
- data/doc/rdoc/fr_method_index.html +55 -60
- data/ext/apache2/Application.h +105 -62
- data/ext/apache2/ApplicationPool.h +29 -9
- data/ext/apache2/ApplicationPoolServer.h +654 -0
- data/ext/apache2/ApplicationPoolServerExecutable.cpp +474 -0
- data/ext/apache2/Configuration.cpp +278 -63
- data/ext/apache2/Configuration.h +45 -13
- data/ext/apache2/DummySpawnManager.h +2 -0
- data/ext/apache2/Exceptions.h +53 -0
- data/ext/apache2/Hooks.cpp +484 -156
- data/ext/apache2/Hooks.h +2 -0
- data/ext/apache2/Logging.cpp +13 -1
- data/ext/apache2/Logging.h +36 -6
- data/ext/apache2/MessageChannel.h +32 -16
- data/ext/apache2/SpawnManager.h +90 -52
- data/ext/apache2/StandardApplicationPool.h +251 -95
- data/ext/apache2/System.cpp +232 -0
- data/ext/apache2/System.h +228 -0
- data/ext/apache2/Utils.cpp +80 -20
- data/ext/apache2/Utils.h +107 -3
- data/ext/apache2/mod_passenger.c +2 -0
- data/ext/boost/VERSION.TXT +1 -1
- data/ext/boost/algorithm/string/case_conv.hpp +176 -0
- data/ext/boost/algorithm/string/compare.hpp +199 -0
- data/ext/boost/algorithm/string/concept.hpp +83 -0
- data/ext/boost/algorithm/string/config.hpp +28 -0
- data/ext/boost/algorithm/string/constants.hpp +36 -0
- data/ext/boost/algorithm/string/detail/case_conv.hpp +112 -0
- data/ext/boost/algorithm/string/detail/find_format.hpp +193 -0
- data/ext/boost/algorithm/string/detail/find_format_all.hpp +263 -0
- data/ext/boost/algorithm/string/detail/find_format_store.hpp +71 -0
- data/ext/boost/algorithm/string/detail/finder.hpp +646 -0
- data/ext/boost/algorithm/string/detail/formatter.hpp +94 -0
- data/ext/boost/algorithm/string/detail/replace_storage.hpp +159 -0
- data/ext/boost/algorithm/string/detail/sequence.hpp +200 -0
- data/ext/boost/algorithm/string/detail/util.hpp +106 -0
- data/ext/boost/algorithm/string/erase.hpp +844 -0
- data/ext/boost/algorithm/string/find_format.hpp +269 -0
- data/ext/boost/algorithm/string/finder.hpp +270 -0
- data/ext/boost/algorithm/string/formatter.hpp +103 -0
- data/ext/boost/algorithm/string/replace.hpp +928 -0
- data/ext/boost/algorithm/string/sequence_traits.hpp +193 -0
- data/ext/boost/algorithm/string/yes_no_type.hpp +33 -0
- data/ext/boost/assert.hpp +50 -37
- data/ext/boost/bind.hpp +38 -0
- data/ext/boost/bind/arg.hpp +28 -2
- data/ext/boost/bind/bind_template.hpp +119 -0
- data/ext/boost/bind/placeholders.hpp +1 -1
- data/ext/boost/call_traits.hpp +24 -0
- data/ext/boost/checked_delete.hpp +69 -69
- data/ext/boost/concept/assert.hpp +46 -0
- data/ext/boost/concept/detail/concept_def.hpp +51 -0
- data/ext/boost/concept/detail/concept_undef.hpp +5 -0
- data/ext/boost/concept/detail/general.hpp +66 -0
- data/ext/boost/concept/detail/has_constraints.hpp +48 -0
- data/ext/boost/concept/usage.hpp +43 -0
- data/ext/boost/concept_check.hpp +988 -0
- data/ext/boost/config.hpp +70 -70
- data/ext/boost/config/abi/borland_prefix.hpp +27 -27
- data/ext/boost/config/abi/borland_suffix.hpp +12 -12
- data/ext/boost/config/abi/msvc_prefix.hpp +8 -8
- data/ext/boost/config/abi/msvc_suffix.hpp +8 -8
- data/ext/boost/config/abi_prefix.hpp +25 -20
- data/ext/boost/config/abi_suffix.hpp +26 -23
- data/ext/boost/config/auto_link.hpp +368 -363
- data/ext/boost/config/compiler/borland.hpp +209 -190
- data/ext/boost/config/compiler/comeau.hpp +59 -59
- data/ext/boost/config/compiler/common_edg.hpp +62 -62
- data/ext/boost/config/compiler/compaq_cxx.hpp +19 -19
- data/ext/boost/config/compiler/digitalmars.hpp +67 -49
- data/ext/boost/config/compiler/gcc.hpp +149 -105
- data/ext/boost/config/compiler/gcc_xml.hpp +30 -30
- data/ext/boost/config/compiler/greenhills.hpp +28 -28
- data/ext/boost/config/compiler/hp_acc.hpp +95 -72
- data/ext/boost/config/compiler/intel.hpp +162 -158
- data/ext/boost/config/compiler/kai.hpp +35 -35
- data/ext/boost/config/compiler/metrowerks.hpp +111 -104
- data/ext/boost/config/compiler/mpw.hpp +51 -51
- data/ext/boost/config/compiler/pgi.hpp +25 -0
- data/ext/boost/config/compiler/sgi_mipspro.hpp +28 -24
- data/ext/boost/config/compiler/sunpro_cc.hpp +98 -92
- data/ext/boost/config/compiler/vacpp.hpp +60 -57
- data/ext/boost/config/compiler/visualc.hpp +191 -178
- data/ext/boost/config/no_tr1/complex.hpp +28 -28
- data/ext/boost/config/no_tr1/functional.hpp +28 -28
- data/ext/boost/config/no_tr1/memory.hpp +28 -28
- data/ext/boost/config/no_tr1/utility.hpp +28 -28
- data/ext/boost/config/platform/aix.hpp +33 -33
- data/ext/boost/config/platform/amigaos.hpp +15 -15
- data/ext/boost/config/platform/beos.hpp +26 -26
- data/ext/boost/config/platform/bsd.hpp +73 -73
- data/ext/boost/config/platform/cygwin.hpp +51 -48
- data/ext/boost/config/platform/hpux.hpp +84 -85
- data/ext/boost/config/platform/irix.hpp +31 -31
- data/ext/boost/config/platform/linux.hpp +98 -98
- data/ext/boost/config/platform/macos.hpp +78 -78
- data/ext/boost/config/platform/qnxnto.hpp +31 -31
- data/ext/boost/config/platform/solaris.hpp +21 -21
- data/ext/boost/config/platform/win32.hpp +58 -58
- data/ext/boost/config/posix_features.hpp +95 -95
- data/ext/boost/config/requires_threads.hpp +92 -92
- data/ext/boost/config/select_compiler_config.hpp +115 -87
- data/ext/boost/config/select_platform_config.hpp +90 -90
- data/ext/boost/config/select_stdlib_config.hpp +68 -68
- data/ext/boost/config/stdlib/dinkumware.hpp +106 -106
- data/ext/boost/config/stdlib/libcomo.hpp +46 -46
- data/ext/boost/config/stdlib/libstdcpp3.hpp +73 -73
- data/ext/boost/config/stdlib/modena.hpp +30 -30
- data/ext/boost/config/stdlib/msl.hpp +59 -59
- data/ext/boost/config/stdlib/roguewave.hpp +153 -127
- data/ext/boost/config/stdlib/sgi.hpp +111 -111
- data/ext/boost/config/stdlib/stlport.hpp +201 -201
- data/ext/boost/config/stdlib/vacpp.hpp +18 -18
- data/ext/boost/config/suffix.hpp +566 -569
- data/ext/boost/config/user.hpp +124 -124
- data/ext/boost/cstdint.hpp +446 -446
- data/ext/boost/date_time/adjust_functors.hpp +178 -0
- data/ext/boost/date_time/c_time.hpp +91 -0
- data/ext/boost/date_time/compiler_config.hpp +149 -0
- data/ext/boost/date_time/constrained_value.hpp +98 -0
- data/ext/boost/date_time/date.hpp +197 -0
- data/ext/boost/date_time/date_clock_device.hpp +77 -0
- data/ext/boost/date_time/date_defs.hpp +26 -0
- data/ext/boost/date_time/date_duration.hpp +147 -0
- data/ext/boost/date_time/date_duration_types.hpp +269 -0
- data/ext/boost/date_time/date_facet.hpp +775 -0
- data/ext/boost/date_time/date_format_simple.hpp +159 -0
- data/ext/boost/date_time/date_formatting.hpp +127 -0
- data/ext/boost/date_time/date_formatting_limited.hpp +121 -0
- data/ext/boost/date_time/date_formatting_locales.hpp +233 -0
- data/ext/boost/date_time/date_generator_formatter.hpp +263 -0
- data/ext/boost/date_time/date_generator_parser.hpp +329 -0
- data/ext/boost/date_time/date_generators.hpp +509 -0
- data/ext/boost/date_time/date_iterator.hpp +101 -0
- data/ext/boost/date_time/date_names_put.hpp +320 -0
- data/ext/boost/date_time/date_parsing.hpp +299 -0
- data/ext/boost/date_time/dst_rules.hpp +391 -0
- data/ext/boost/date_time/filetime_functions.hpp +78 -0
- data/ext/boost/date_time/format_date_parser.hpp +731 -0
- data/ext/boost/date_time/gregorian/conversion.hpp +73 -0
- data/ext/boost/date_time/gregorian/formatters.hpp +162 -0
- data/ext/boost/date_time/gregorian/formatters_limited.hpp +81 -0
- data/ext/boost/date_time/gregorian/greg_calendar.hpp +47 -0
- data/ext/boost/date_time/gregorian/greg_date.hpp +135 -0
- data/ext/boost/date_time/gregorian/greg_day.hpp +57 -0
- data/ext/boost/date_time/gregorian/greg_day_of_year.hpp +38 -0
- data/ext/boost/date_time/gregorian/greg_duration.hpp +38 -0
- data/ext/boost/date_time/gregorian/greg_duration_types.hpp +34 -0
- data/ext/boost/date_time/gregorian/greg_month.hpp +105 -0
- data/ext/boost/date_time/gregorian/greg_weekday.hpp +66 -0
- data/ext/boost/date_time/gregorian/greg_year.hpp +53 -0
- data/ext/boost/date_time/gregorian/greg_ymd.hpp +33 -0
- data/ext/boost/date_time/gregorian/gregorian.hpp +38 -0
- data/ext/boost/date_time/gregorian/gregorian_io.hpp +777 -0
- data/ext/boost/date_time/gregorian/gregorian_types.hpp +109 -0
- data/ext/boost/date_time/gregorian/parsers.hpp +91 -0
- data/ext/boost/date_time/gregorian_calendar.hpp +70 -0
- data/ext/boost/date_time/gregorian_calendar.ipp +219 -0
- data/ext/boost/date_time/int_adapter.hpp +507 -0
- data/ext/boost/date_time/iso_format.hpp +303 -0
- data/ext/boost/date_time/locale_config.hpp +31 -0
- data/ext/boost/date_time/microsec_time_clock.hpp +205 -0
- data/ext/boost/date_time/parse_format_base.hpp +29 -0
- data/ext/boost/date_time/period.hpp +377 -0
- data/ext/boost/date_time/period_formatter.hpp +196 -0
- data/ext/boost/date_time/period_parser.hpp +196 -0
- data/ext/boost/date_time/posix_time/conversion.hpp +93 -0
- data/ext/boost/date_time/posix_time/date_duration_operators.hpp +114 -0
- data/ext/boost/date_time/posix_time/posix_time.hpp +39 -0
- data/ext/boost/date_time/posix_time/posix_time_config.hpp +178 -0
- data/ext/boost/date_time/posix_time/posix_time_duration.hpp +82 -0
- data/ext/boost/date_time/posix_time/posix_time_io.hpp +246 -0
- data/ext/boost/date_time/posix_time/posix_time_system.hpp +68 -0
- data/ext/boost/date_time/posix_time/posix_time_types.hpp +55 -0
- data/ext/boost/date_time/posix_time/ptime.hpp +65 -0
- data/ext/boost/date_time/posix_time/time_formatters.hpp +289 -0
- data/ext/boost/date_time/posix_time/time_parsers.hpp +44 -0
- data/ext/boost/date_time/posix_time/time_period.hpp +29 -0
- data/ext/boost/date_time/special_defs.hpp +25 -0
- data/ext/boost/date_time/special_values_formatter.hpp +96 -0
- data/ext/boost/date_time/special_values_parser.hpp +159 -0
- data/ext/boost/date_time/string_convert.hpp +33 -0
- data/ext/boost/date_time/string_parse_tree.hpp +278 -0
- data/ext/boost/date_time/strings_from_facet.hpp +123 -0
- data/ext/boost/date_time/time.hpp +190 -0
- data/ext/boost/date_time/time_clock.hpp +83 -0
- data/ext/boost/date_time/time_defs.hpp +33 -0
- data/ext/boost/date_time/time_duration.hpp +281 -0
- data/ext/boost/date_time/time_facet.hpp +1263 -0
- data/ext/boost/date_time/time_formatting_streams.hpp +119 -0
- data/ext/boost/date_time/time_iterator.hpp +52 -0
- data/ext/boost/date_time/time_parsing.hpp +321 -0
- data/ext/boost/date_time/time_resolution_traits.hpp +140 -0
- data/ext/boost/date_time/time_system_counted.hpp +254 -0
- data/ext/boost/date_time/time_system_split.hpp +213 -0
- data/ext/boost/date_time/wrapping_int.hpp +163 -0
- data/ext/boost/date_time/year_month_day.hpp +45 -0
- data/ext/boost/detail/atomic_count.hpp +124 -0
- data/ext/boost/detail/atomic_count_gcc.hpp +68 -0
- data/ext/boost/detail/atomic_count_gcc_x86.hpp +84 -0
- data/ext/boost/detail/atomic_count_pthreads.hpp +96 -0
- data/ext/boost/detail/atomic_count_solaris.hpp +59 -0
- data/ext/boost/detail/atomic_count_sync.hpp +57 -0
- data/ext/boost/detail/atomic_count_win32.hpp +63 -0
- data/ext/boost/detail/bad_weak_ptr.hpp +59 -59
- data/ext/boost/detail/call_traits.hpp +164 -0
- data/ext/boost/detail/endian.hpp +73 -0
- data/ext/boost/detail/indirect_traits.hpp +487 -0
- data/ext/boost/detail/iterator.hpp +494 -0
- data/ext/boost/detail/lcast_precision.hpp +184 -0
- data/ext/boost/detail/limits.hpp +449 -0
- data/ext/boost/detail/reference_content.hpp +141 -141
- data/ext/boost/detail/shared_count.hpp +375 -376
- data/ext/boost/detail/sp_counted_base.hpp +81 -69
- data/ext/boost/detail/sp_counted_base_acc_ia64.hpp +150 -0
- data/ext/boost/detail/sp_counted_base_cw_ppc.hpp +170 -170
- data/ext/boost/detail/sp_counted_base_cw_x86.hpp +158 -158
- data/ext/boost/detail/sp_counted_base_gcc_ia64.hpp +157 -157
- data/ext/boost/detail/sp_counted_base_gcc_ppc.hpp +181 -181
- data/ext/boost/detail/sp_counted_base_gcc_sparc.hpp +166 -0
- data/ext/boost/detail/sp_counted_base_gcc_x86.hpp +173 -173
- data/ext/boost/detail/sp_counted_base_nt.hpp +107 -107
- data/ext/boost/detail/sp_counted_base_pt.hpp +135 -135
- data/ext/boost/detail/sp_counted_base_solaris.hpp +113 -0
- data/ext/boost/detail/sp_counted_base_sync.hpp +151 -0
- data/ext/boost/detail/sp_counted_base_w32.hpp +130 -130
- data/ext/boost/detail/sp_counted_impl.hpp +231 -232
- data/ext/boost/detail/sp_typeinfo.hpp +83 -0
- data/ext/boost/detail/workaround.hpp +202 -74
- data/ext/boost/enable_shared_from_this.hpp +73 -0
- data/ext/boost/function.hpp +4 -2
- data/ext/boost/function/detail/prologue.hpp +1 -0
- data/ext/boost/function/function_base.hpp +41 -15
- data/ext/boost/function/function_template.hpp +238 -106
- data/ext/boost/implicit_cast.hpp +29 -0
- data/ext/boost/integer_traits.hpp +236 -0
- data/ext/boost/io/ios_state.hpp +431 -0
- data/ext/boost/io_fwd.hpp +67 -0
- data/ext/boost/is_placeholder.hpp +31 -0
- data/ext/boost/iterator.hpp +59 -0
- data/ext/boost/iterator/detail/config_def.hpp +135 -0
- data/ext/boost/iterator/detail/config_undef.hpp +25 -0
- data/ext/boost/iterator/detail/enable_if.hpp +86 -0
- data/ext/boost/iterator/detail/facade_iterator_category.hpp +200 -0
- data/ext/boost/iterator/detail/minimum_category.hpp +116 -0
- data/ext/boost/iterator/interoperable.hpp +50 -0
- data/ext/boost/iterator/iterator_adaptor.hpp +366 -0
- data/ext/boost/iterator/iterator_categories.hpp +188 -0
- data/ext/boost/iterator/iterator_facade.hpp +879 -0
- data/ext/boost/iterator/iterator_traits.hpp +92 -0
- data/ext/boost/iterator/reverse_iterator.hpp +69 -0
- data/ext/boost/iterator/transform_iterator.hpp +188 -0
- data/ext/boost/lexical_cast.hpp +1205 -0
- data/ext/boost/limits.hpp +146 -144
- data/ext/boost/mpl/always.hpp +39 -39
- data/ext/boost/mpl/and.hpp +60 -56
- data/ext/boost/mpl/apply.hpp +225 -225
- data/ext/boost/mpl/apply_fwd.hpp +107 -107
- data/ext/boost/mpl/apply_wrap.hpp +200 -200
- data/ext/boost/mpl/arg.hpp +131 -131
- data/ext/boost/mpl/arg_fwd.hpp +28 -28
- data/ext/boost/mpl/assert.hpp +370 -361
- data/ext/boost/mpl/aux_/adl_barrier.hpp +48 -48
- data/ext/boost/mpl/aux_/arg_typedef.hpp +31 -31
- data/ext/boost/mpl/aux_/arity.hpp +39 -39
- data/ext/boost/mpl/aux_/arity_spec.hpp +67 -67
- data/ext/boost/mpl/aux_/common_name_wknd.hpp +34 -34
- data/ext/boost/mpl/aux_/config/adl.hpp +40 -40
- data/ext/boost/mpl/aux_/config/arrays.hpp +30 -30
- data/ext/boost/mpl/aux_/config/bind.hpp +33 -33
- data/ext/boost/mpl/aux_/config/compiler.hpp +64 -64
- data/ext/boost/mpl/aux_/config/ctps.hpp +30 -30
- data/ext/boost/mpl/aux_/config/dtp.hpp +46 -46
- data/ext/boost/mpl/aux_/config/eti.hpp +47 -47
- data/ext/boost/mpl/aux_/config/gcc.hpp +23 -23
- data/ext/boost/mpl/aux_/config/has_apply.hpp +32 -32
- data/ext/boost/mpl/aux_/config/has_xxx.hpp +33 -33
- data/ext/boost/mpl/aux_/config/integral.hpp +38 -38
- data/ext/boost/mpl/aux_/config/intel.hpp +21 -21
- data/ext/boost/mpl/aux_/config/lambda.hpp +32 -32
- data/ext/boost/mpl/aux_/config/msvc.hpp +21 -21
- data/ext/boost/mpl/aux_/config/msvc_typename.hpp +26 -26
- data/ext/boost/mpl/aux_/config/nttp.hpp +41 -41
- data/ext/boost/mpl/aux_/config/overload_resolution.hpp +29 -29
- data/ext/boost/mpl/aux_/config/pp_counter.hpp +26 -0
- data/ext/boost/mpl/aux_/config/preprocessor.hpp +39 -39
- data/ext/boost/mpl/aux_/config/static_constant.hpp +25 -25
- data/ext/boost/mpl/aux_/config/ttp.hpp +41 -39
- data/ext/boost/mpl/aux_/config/use_preprocessed.hpp +19 -19
- data/ext/boost/mpl/aux_/config/workaround.hpp +19 -19
- data/ext/boost/mpl/aux_/full_lambda.hpp +350 -350
- data/ext/boost/mpl/aux_/has_apply.hpp +32 -32
- data/ext/boost/mpl/aux_/has_type.hpp +23 -23
- data/ext/boost/mpl/aux_/include_preprocessed.hpp +42 -42
- data/ext/boost/mpl/aux_/integral_wrapper.hpp +93 -93
- data/ext/boost/mpl/aux_/lambda_arity_param.hpp +25 -25
- data/ext/boost/mpl/aux_/lambda_support.hpp +169 -169
- data/ext/boost/mpl/aux_/msvc_never_true.hpp +34 -34
- data/ext/boost/mpl/aux_/na.hpp +95 -95
- data/ext/boost/mpl/aux_/na_assert.hpp +34 -34
- data/ext/boost/mpl/aux_/na_fwd.hpp +31 -31
- data/ext/boost/mpl/aux_/na_spec.hpp +175 -175
- data/ext/boost/mpl/aux_/nested_type_wknd.hpp +48 -48
- data/ext/boost/mpl/aux_/nttp_decl.hpp +35 -35
- data/ext/boost/mpl/aux_/preprocessed/gcc/and.hpp +69 -69
- data/ext/boost/mpl/aux_/preprocessed/gcc/apply.hpp +169 -169
- data/ext/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp +52 -52
- data/ext/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp +84 -84
- data/ext/boost/mpl/aux_/preprocessed/gcc/arg.hpp +123 -123
- data/ext/boost/mpl/aux_/preprocessed/gcc/bind.hpp +561 -561
- data/ext/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp +52 -52
- data/ext/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp +558 -558
- data/ext/boost/mpl/aux_/preprocessed/gcc/or.hpp +69 -69
- data/ext/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp +105 -105
- data/ext/boost/mpl/aux_/preprocessed/gcc/quote.hpp +123 -123
- data/ext/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +101 -101
- data/ext/boost/mpl/aux_/preprocessor/def_params_tail.hpp +105 -105
- data/ext/boost/mpl/aux_/preprocessor/enum.hpp +62 -62
- data/ext/boost/mpl/aux_/preprocessor/filter_params.hpp +28 -28
- data/ext/boost/mpl/aux_/preprocessor/params.hpp +65 -65
- data/ext/boost/mpl/aux_/preprocessor/sub.hpp +65 -65
- data/ext/boost/mpl/aux_/static_cast.hpp +27 -27
- data/ext/boost/mpl/aux_/template_arity.hpp +189 -189
- data/ext/boost/mpl/aux_/template_arity_fwd.hpp +23 -23
- data/ext/boost/mpl/aux_/type_wrapper.hpp +47 -47
- data/ext/boost/mpl/aux_/value_wknd.hpp +89 -89
- data/ext/boost/mpl/aux_/yes_no.hpp +58 -58
- data/ext/boost/mpl/bind.hpp +547 -547
- data/ext/boost/mpl/bind_fwd.hpp +99 -99
- data/ext/boost/mpl/bool.hpp +39 -39
- data/ext/boost/mpl/bool_fwd.hpp +33 -33
- data/ext/boost/mpl/eval_if.hpp +71 -71
- data/ext/boost/mpl/has_xxx.hpp +272 -233
- data/ext/boost/mpl/identity.hpp +45 -45
- data/ext/boost/mpl/if.hpp +135 -135
- data/ext/boost/mpl/int.hpp +22 -22
- data/ext/boost/mpl/int_fwd.hpp +27 -27
- data/ext/boost/mpl/integral_c.hpp +51 -51
- data/ext/boost/mpl/integral_c_fwd.hpp +32 -32
- data/ext/boost/mpl/integral_c_tag.hpp +26 -26
- data/ext/boost/mpl/lambda.hpp +29 -29
- data/ext/boost/mpl/lambda_fwd.hpp +57 -57
- data/ext/boost/mpl/limits/arity.hpp +21 -21
- data/ext/boost/mpl/logical.hpp +21 -21
- data/ext/boost/mpl/next.hpp +19 -19
- data/ext/boost/mpl/next_prior.hpp +49 -49
- data/ext/boost/mpl/not.hpp +51 -51
- data/ext/boost/mpl/or.hpp +61 -57
- data/ext/boost/mpl/placeholders.hpp +100 -100
- data/ext/boost/mpl/protect.hpp +55 -55
- data/ext/boost/mpl/quote.hpp +140 -140
- data/ext/boost/mpl/size_t.hpp +25 -25
- data/ext/boost/mpl/size_t_fwd.hpp +28 -28
- data/ext/boost/mpl/void.hpp +76 -76
- data/ext/boost/mpl/void_fwd.hpp +26 -26
- data/ext/boost/next_prior.hpp +51 -51
- data/ext/boost/noncopyable.hpp +36 -36
- data/ext/boost/none.hpp +28 -43
- data/ext/boost/none_t.hpp +24 -0
- data/ext/boost/operators.hpp +943 -0
- data/ext/boost/optional.hpp +18 -18
- data/ext/boost/optional/optional.hpp +922 -922
- data/ext/boost/optional/optional_fwd.hpp +22 -22
- data/ext/boost/preprocessor/arithmetic/add.hpp +51 -51
- data/ext/boost/preprocessor/arithmetic/dec.hpp +288 -288
- data/ext/boost/preprocessor/arithmetic/inc.hpp +288 -288
- data/ext/boost/preprocessor/arithmetic/sub.hpp +50 -50
- data/ext/boost/preprocessor/array/data.hpp +28 -28
- data/ext/boost/preprocessor/array/elem.hpp +29 -29
- data/ext/boost/preprocessor/array/size.hpp +28 -28
- data/ext/boost/preprocessor/cat.hpp +35 -35
- data/ext/boost/preprocessor/comma_if.hpp +17 -17
- data/ext/boost/preprocessor/config/config.hpp +70 -70
- data/ext/boost/preprocessor/control/detail/while.hpp +536 -536
- data/ext/boost/preprocessor/control/expr_iif.hpp +31 -31
- data/ext/boost/preprocessor/control/if.hpp +30 -30
- data/ext/boost/preprocessor/control/iif.hpp +34 -34
- data/ext/boost/preprocessor/control/while.hpp +312 -312
- data/ext/boost/preprocessor/debug/error.hpp +33 -33
- data/ext/boost/preprocessor/detail/auto_rec.hpp +293 -293
- data/ext/boost/preprocessor/detail/check.hpp +48 -48
- data/ext/boost/preprocessor/detail/is_binary.hpp +30 -30
- data/ext/boost/preprocessor/empty.hpp +17 -17
- data/ext/boost/preprocessor/enum.hpp +17 -17
- data/ext/boost/preprocessor/enum_params.hpp +17 -17
- data/ext/boost/preprocessor/facilities/empty.hpp +21 -21
- data/ext/boost/preprocessor/facilities/identity.hpp +23 -23
- data/ext/boost/preprocessor/identity.hpp +17 -17
- data/ext/boost/preprocessor/inc.hpp +17 -17
- data/ext/boost/preprocessor/iterate.hpp +17 -17
- data/ext/boost/preprocessor/iteration/detail/bounds/lower1.hpp +99 -99
- data/ext/boost/preprocessor/iteration/detail/bounds/upper1.hpp +99 -99
- data/ext/boost/preprocessor/iteration/detail/iter/forward1.hpp +1342 -1342
- data/ext/boost/preprocessor/iteration/iterate.hpp +82 -82
- data/ext/boost/preprocessor/list/adt.hpp +73 -73
- data/ext/boost/preprocessor/list/append.hpp +40 -40
- data/ext/boost/preprocessor/list/detail/fold_left.hpp +279 -279
- data/ext/boost/preprocessor/list/detail/fold_right.hpp +277 -277
- data/ext/boost/preprocessor/list/fold_left.hpp +303 -303
- data/ext/boost/preprocessor/list/fold_right.hpp +40 -40
- data/ext/boost/preprocessor/list/for_each_i.hpp +65 -65
- data/ext/boost/preprocessor/list/reverse.hpp +40 -40
- data/ext/boost/preprocessor/list/transform.hpp +49 -49
- data/ext/boost/preprocessor/logical/and.hpp +30 -30
- data/ext/boost/preprocessor/logical/bitand.hpp +38 -38
- data/ext/boost/preprocessor/logical/bool.hpp +288 -288
- data/ext/boost/preprocessor/logical/compl.hpp +36 -36
- data/ext/boost/preprocessor/punctuation/comma.hpp +21 -21
- data/ext/boost/preprocessor/punctuation/comma_if.hpp +31 -31
- data/ext/boost/preprocessor/repeat.hpp +17 -17
- data/ext/boost/preprocessor/repetition/detail/for.hpp +536 -536
- data/ext/boost/preprocessor/repetition/enum.hpp +66 -66
- data/ext/boost/preprocessor/repetition/enum_binary_params.hpp +54 -54
- data/ext/boost/preprocessor/repetition/enum_params.hpp +41 -41
- data/ext/boost/preprocessor/repetition/for.hpp +306 -306
- data/ext/boost/preprocessor/repetition/repeat.hpp +825 -825
- data/ext/boost/preprocessor/repetition/repeat_from_to.hpp +87 -87
- data/ext/boost/preprocessor/seq/elem.hpp +304 -304
- data/ext/boost/preprocessor/seq/enum.hpp +288 -288
- data/ext/boost/preprocessor/seq/for_each_i.hpp +61 -61
- data/ext/boost/preprocessor/seq/seq.hpp +44 -44
- data/ext/boost/preprocessor/seq/size.hpp +548 -548
- data/ext/boost/preprocessor/slot/detail/def.hpp +49 -49
- data/ext/boost/preprocessor/slot/detail/shared.hpp +247 -247
- data/ext/boost/preprocessor/slot/slot.hpp +32 -32
- data/ext/boost/preprocessor/stringize.hpp +33 -33
- data/ext/boost/preprocessor/tuple/eat.hpp +57 -57
- data/ext/boost/preprocessor/tuple/elem.hpp +385 -385
- data/ext/boost/preprocessor/tuple/rem.hpp +72 -72
- data/ext/boost/preprocessor/tuple/to_list.hpp +62 -62
- data/ext/boost/range/as_literal.hpp +131 -0
- data/ext/boost/range/begin.hpp +132 -0
- data/ext/boost/range/config.hpp +54 -0
- data/ext/boost/range/const_iterator.hpp +64 -0
- data/ext/boost/range/detail/common.hpp +117 -0
- data/ext/boost/range/detail/implementation_help.hpp +99 -0
- data/ext/boost/range/detail/sfinae.hpp +77 -0
- data/ext/boost/range/detail/str_types.hpp +38 -0
- data/ext/boost/range/difference_type.hpp +29 -0
- data/ext/boost/range/distance.hpp +34 -0
- data/ext/boost/range/empty.hpp +34 -0
- data/ext/boost/range/end.hpp +131 -0
- data/ext/boost/range/functions.hpp +27 -0
- data/ext/boost/range/iterator.hpp +72 -0
- data/ext/boost/range/iterator_range.hpp +643 -0
- data/ext/boost/range/mutable_iterator.hpp +64 -0
- data/ext/boost/range/rbegin.hpp +65 -0
- data/ext/boost/range/rend.hpp +65 -0
- data/ext/boost/range/reverse_iterator.hpp +40 -0
- data/ext/boost/range/size.hpp +36 -0
- data/ext/boost/range/size_type.hpp +78 -0
- data/ext/boost/range/value_type.hpp +34 -0
- data/ext/boost/shared_ptr.hpp +619 -558
- data/ext/boost/src/pthread/exceptions.cpp +146 -0
- data/ext/boost/src/pthread/once.cpp +51 -0
- data/ext/boost/src/pthread/thread.cpp +709 -0
- data/ext/boost/src/pthread/timeconv.inl +130 -0
- data/ext/boost/src/tss_null.cpp +2 -1
- data/ext/boost/src/win32/exceptions.cpp +124 -0
- data/ext/boost/src/win32/thread.cpp +629 -0
- data/ext/boost/src/win32/timeconv.inl +130 -0
- data/ext/boost/src/{tss_dll.cpp → win32/tss_dll.cpp} +0 -0
- data/ext/boost/src/win32/tss_pe.cpp +269 -0
- data/ext/boost/static_assert.hpp +122 -118
- data/ext/boost/thread.hpp +21 -19
- data/ext/boost/thread/condition.hpp +16 -201
- data/ext/boost/thread/condition_variable.hpp +21 -0
- data/ext/boost/thread/detail/config.hpp +94 -95
- data/ext/boost/thread/detail/move.hpp +33 -0
- data/ext/boost/thread/detail/platform.hpp +71 -0
- data/ext/boost/thread/exceptions.hpp +103 -92
- data/ext/boost/thread/locks.hpp +589 -0
- data/ext/boost/thread/mutex.hpp +21 -170
- data/ext/boost/thread/once.hpp +29 -37
- data/ext/boost/thread/pthread/condition_variable.hpp +184 -0
- data/ext/boost/thread/pthread/condition_variable_fwd.hpp +66 -0
- data/ext/boost/thread/pthread/mutex.hpp +211 -0
- data/ext/boost/thread/pthread/once.hpp +85 -0
- data/ext/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +50 -0
- data/ext/boost/thread/pthread/recursive_mutex.hpp +249 -0
- data/ext/boost/thread/pthread/thread.hpp +331 -0
- data/ext/boost/thread/pthread/thread_data.hpp +101 -0
- data/ext/boost/thread/pthread/timespec.hpp +28 -0
- data/ext/boost/thread/pthread/tss.hpp +103 -0
- data/ext/boost/thread/recursive_mutex.hpp +21 -184
- data/ext/boost/thread/thread.hpp +22 -90
- data/ext/boost/thread/thread_time.hpp +46 -0
- data/ext/boost/thread/tss.hpp +18 -128
- data/ext/boost/thread/xtime.hpp +88 -54
- data/ext/boost/throw_exception.hpp +46 -46
- data/ext/boost/token_functions.hpp +621 -0
- data/ext/boost/token_iterator.hpp +128 -0
- data/ext/boost/tokenizer.hpp +98 -0
- data/ext/boost/type.hpp +18 -18
- data/ext/boost/type_traits/add_const.hpp +47 -47
- data/ext/boost/type_traits/add_pointer.hpp +72 -72
- data/ext/boost/type_traits/add_reference.hpp +89 -89
- data/ext/boost/type_traits/alignment_of.hpp +100 -100
- data/ext/boost/type_traits/broken_compiler_spec.hpp +117 -117
- data/ext/boost/type_traits/composite_traits.hpp +29 -29
- data/ext/boost/type_traits/config.hpp +76 -76
- data/ext/boost/type_traits/conversion_traits.hpp +17 -17
- data/ext/boost/type_traits/detail/bool_trait_def.hpp +173 -173
- data/ext/boost/type_traits/detail/bool_trait_undef.hpp +27 -27
- data/ext/boost/type_traits/detail/cv_traits_impl.hpp +97 -97
- data/ext/boost/type_traits/detail/false_result.hpp +28 -28
- data/ext/boost/type_traits/detail/ice_and.hpp +35 -35
- data/ext/boost/type_traits/detail/ice_eq.hpp +36 -36
- data/ext/boost/type_traits/detail/ice_not.hpp +31 -31
- data/ext/boost/type_traits/detail/ice_or.hpp +34 -34
- data/ext/boost/type_traits/detail/is_function_ptr_helper.hpp +220 -220
- data/ext/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +817 -817
- data/ext/boost/type_traits/detail/size_t_trait_def.hpp +58 -58
- data/ext/boost/type_traits/detail/size_t_trait_undef.hpp +16 -16
- data/ext/boost/type_traits/detail/template_arity_spec.hpp +31 -31
- data/ext/boost/type_traits/detail/type_trait_def.hpp +61 -61
- data/ext/boost/type_traits/detail/type_trait_undef.hpp +19 -19
- data/ext/boost/type_traits/detail/yes_no_type.hpp +26 -26
- data/ext/boost/type_traits/function_traits.hpp +236 -236
- data/ext/boost/type_traits/has_nothrow_copy.hpp +39 -38
- data/ext/boost/type_traits/has_trivial_copy.hpp +49 -48
- data/ext/boost/type_traits/ice.hpp +20 -20
- data/ext/boost/type_traits/integral_constant.hpp +53 -53
- data/ext/boost/type_traits/intrinsics.hpp +153 -137
- data/ext/boost/type_traits/is_abstract.hpp +144 -137
- data/ext/boost/type_traits/is_arithmetic.hpp +43 -43
- data/ext/boost/type_traits/is_array.hpp +90 -90
- data/ext/boost/type_traits/is_class.hpp +128 -128
- data/ext/boost/type_traits/is_const.hpp +142 -142
- data/ext/boost/type_traits/is_convertible.hpp +418 -416
- data/ext/boost/type_traits/is_enum.hpp +180 -180
- data/ext/boost/type_traits/is_float.hpp +27 -27
- data/ext/boost/type_traits/is_function.hpp +95 -88
- data/ext/boost/type_traits/is_integral.hpp +73 -71
- data/ext/boost/type_traits/is_member_function_pointer.hpp +134 -126
- data/ext/boost/type_traits/is_member_pointer.hpp +114 -108
- data/ext/boost/type_traits/is_pod.hpp +135 -135
- data/ext/boost/type_traits/is_pointer.hpp +160 -149
- data/ext/boost/type_traits/is_reference.hpp +116 -116
- data/ext/boost/type_traits/is_same.hpp +103 -103
- data/ext/boost/type_traits/is_scalar.hpp +55 -55
- data/ext/boost/type_traits/is_union.hpp +49 -49
- data/ext/boost/type_traits/is_void.hpp +33 -33
- data/ext/boost/type_traits/is_volatile.hpp +131 -131
- data/ext/boost/type_traits/remove_const.hpp +78 -78
- data/ext/boost/type_traits/remove_cv.hpp +61 -61
- data/ext/boost/type_traits/remove_pointer.hpp +43 -43
- data/ext/boost/type_traits/remove_reference.hpp +50 -50
- data/ext/boost/type_traits/type_with_alignment.hpp +288 -288
- data/ext/boost/utility.hpp +19 -19
- data/ext/boost/utility/addressof.hpp +58 -58
- data/ext/boost/utility/base_from_member.hpp +87 -87
- data/ext/boost/utility/compare_pointees.hpp +68 -68
- data/ext/boost/utility/enable_if.hpp +119 -119
- data/ext/boost/weak_ptr.hpp +0 -6
- data/ext/passenger/extconf.rb +3 -0
- data/ext/passenger/native_support.c +2 -0
- data/lib/passenger/abstract_request_handler.rb +347 -0
- data/lib/passenger/abstract_server.rb +31 -5
- data/lib/passenger/application.rb +5 -16
- data/lib/passenger/console_text_template.rb +2 -0
- data/lib/passenger/constants.rb +26 -0
- data/lib/passenger/dependencies.rb +23 -3
- data/lib/passenger/exceptions.rb +91 -0
- data/lib/passenger/html_template.rb +2 -0
- data/lib/passenger/message_channel.rb +2 -1
- data/lib/passenger/platform_info.rb +2 -0
- data/lib/passenger/rack/application_spawner.rb +108 -0
- data/lib/passenger/rack/request_handler.rb +85 -0
- data/lib/passenger/railz/application_spawner.rb +317 -0
- data/lib/passenger/railz/cgi_fixed.rb +68 -0
- data/lib/passenger/railz/framework_spawner.rb +344 -0
- data/lib/passenger/railz/request_handler.rb +61 -0
- data/lib/passenger/simple_benchmarking.rb +2 -0
- data/lib/passenger/spawn_manager.rb +190 -83
- data/lib/passenger/templates/apache2_config_snippets.txt.erb +2 -2
- data/lib/passenger/templates/apache_must_be_compiled_with_compatible_mpm.txt.erb +9 -0
- data/lib/passenger/templates/app_exited_during_initialization.html.erb +3 -3
- data/lib/passenger/templates/app_init_error.html.erb +2 -2
- data/lib/passenger/templates/database_error.html.erb +19 -12
- data/lib/passenger/templates/deployment_example.txt.erb +3 -1
- data/lib/passenger/templates/error_layout.html.erb +1 -1
- data/lib/passenger/templates/load_error.html.erb +2 -2
- data/lib/passenger/templates/welcome.txt.erb +1 -1
- data/lib/passenger/utils.rb +138 -14
- data/lib/passenger/wsgi/application_spawner.rb +94 -0
- data/lib/passenger/wsgi/request_handler.py +138 -0
- data/man/passenger-config.1 +29 -0
- data/man/passenger-make-enterprisey.8 +23 -0
- data/man/passenger-memory-stats.8 +33 -0
- data/man/passenger-status.8 +43 -0
- data/man/passenger-stress-test.1 +43 -0
- data/misc/copy_boost_headers.rb +102 -0
- data/test/ApplicationPoolServerTest.cpp +5 -3
- data/test/ApplicationPoolServer_ApplicationPoolTest.cpp +6 -2
- data/test/ApplicationPoolTest.cpp +31 -27
- data/test/UtilsTest.cpp +1 -0
- data/test/integration_tests.rb +327 -137
- data/test/ruby/abstract_server_spec.rb +17 -0
- data/test/ruby/application_spec.rb +43 -0
- data/test/ruby/message_channel_spec.rb +170 -0
- data/test/ruby/rack/application_spawner_spec.rb +43 -0
- data/test/ruby/rails/application_spawner_spec.rb +109 -0
- data/test/ruby/rails/framework_spawner_spec.rb +132 -0
- data/test/ruby/rails/minimal_spawner_spec.rb +37 -0
- data/test/ruby/rails/spawner_error_handling_spec.rb +52 -0
- data/test/ruby/rails/spawner_privilege_lowering_spec.rb +97 -0
- data/test/ruby/spawn_manager_spec.rb +178 -0
- data/test/ruby/spawn_server_spec.rb +26 -0
- data/test/stub/apache2/httpd.conf +75 -0
- data/test/stub/apache2/httpd.conf.erb +41 -40
- data/test/stub/message_channel_3.rb +2 -0
- data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_controller.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/activerecord/lib/active_record.rb +0 -0
- data/test/stub/rack/config.ru +4 -0
- data/test/stub/rack/public/rack.jpg +0 -0
- data/test/stub/{railsapp-without-version-spec → rails_apps/foobar}/app/controllers/application.rb +0 -0
- data/test/stub/rails_apps/foobar/app/controllers/bar_controller_1.rb +5 -0
- data/test/stub/rails_apps/foobar/app/controllers/bar_controller_2.rb +5 -0
- data/test/stub/rails_apps/foobar/app/controllers/foo_controller.rb +13 -0
- data/test/stub/{mycook → rails_apps/foobar}/app/helpers/application_helper.rb +0 -0
- data/test/stub/{mycook → rails_apps/foobar}/config/boot.rb +0 -0
- data/test/stub/{mycook → rails_apps/foobar}/config/database.yml +0 -0
- data/test/stub/rails_apps/foobar/config/environment.rb +59 -0
- data/test/stub/{mycook → rails_apps/foobar}/config/environments/development.rb +0 -0
- data/test/stub/{mycook → rails_apps/foobar}/config/environments/production.rb +0 -0
- data/test/stub/{mycook → rails_apps/foobar}/config/initializers/inflections.rb +0 -0
- data/test/stub/{mycook → rails_apps/foobar}/config/initializers/mime_types.rb +0 -0
- data/test/stub/{railsapp-without-version-spec → rails_apps/foobar}/config/routes.rb +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/app/controllers/application.rb +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/app/controllers/recipes_controller.rb +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/app/controllers/uploads_controller.rb +0 -0
- data/test/stub/rails_apps/mycook/app/controllers/welcome_controller.rb +35 -0
- data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/app/helpers/application_helper.rb +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/app/views/layouts/default.rhtml +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/app/views/recipes/create.rhtml +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/app/views/recipes/index.rhtml +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/app/views/recipes/new.rhtml +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/app/views/uploads/index.rhtml +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/app/views/uploads/new.html.erb +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/app/views/welcome/cached.rhtml +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/app/views/welcome/index.rhtml +0 -0
- data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/boot.rb +0 -0
- data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/database.yml +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/config/environment.rb +0 -0
- data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/environments/development.rb +0 -0
- data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/environments/production.rb +0 -0
- data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/initializers/inflections.rb +0 -0
- data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/initializers/mime_types.rb +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/config/routes.rb +0 -0
- data/test/stub/{broken-railsapp/public → rails_apps/mycook/log}/useless.txt +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/404.html +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/422.html +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/500.html +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/dispatch.cgi +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/dispatch.fcgi +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/dispatch.rb +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/favicon.ico +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/images/angrywizard.gif +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/images/cookbook.gif +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/images/header.png +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/images/rails.png +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/javascripts/application.js +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/javascripts/controls.js +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/javascripts/dragdrop.js +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/javascripts/effects.js +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/javascripts/prototype.js +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/robots.txt +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/uploads.html +0 -0
- data/test/stub/{mycook → rails_apps/mycook}/public/welcome/cached.html +0 -0
- data/test/stub/{broken-railsapp4/public → rails_apps/mycook/tmp/cache}/useless.txt +0 -0
- data/test/stub/{broken-railsapp5/public → rails_apps/mycook/tmp/pids}/useless.txt +0 -0
- data/test/stub/{railsapp-without-version-spec/public → rails_apps/mycook/tmp/sessions}/useless.txt +0 -0
- data/test/stub/rails_apps/mycook/tmp/sockets/useless.txt +1 -0
- data/test/stub/spawn_server.rb +6 -2
- data/test/stub/upload_data.txt +494 -0
- data/test/stub/vendor_rails/minimal/README +1 -0
- data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/actionmailer/lib/action_mailer.rb +0 -0
- data/test/stub/vendor_rails/minimal/actionpack/lib/action_controller.rb +19 -0
- data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/actionpack/lib/action_pack.rb +0 -0
- data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/actionpack/lib/action_view.rb +0 -0
- data/test/stub/vendor_rails/minimal/activerecord/lib/active_record.rb +7 -0
- data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/activeresource/lib/active_resource.rb +0 -0
- data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/activesupport/lib/active_support.rb +0 -0
- data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/activesupport/lib/active_support/whiny_nil.rb +0 -0
- data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/railties/lib/dispatcher.rb +0 -0
- data/test/stub/vendor_rails/minimal/railties/lib/initializer.rb +51 -0
- data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/railties/lib/ruby_version_check.rb +0 -0
- data/test/stub/wsgi/passenger_wsgi.py +3 -0
- data/test/stub/wsgi/public/wsgi-snake.jpg +0 -0
- data/test/support/apache2_controller.rb +196 -0
- data/test/support/config.rb +4 -1
- data/test/support/test_helper.rb +94 -0
- metadata +445 -1329
- data/doc/cxxapi/ApplicationPoolClientServer_8h-source.html +0 -673
- data/doc/rdoc/classes/Passenger/ApplicationSpawner.html +0 -334
- data/doc/rdoc/classes/Passenger/ApplicationSpawner/Error.html +0 -98
- data/doc/rdoc/classes/Passenger/CGIFixed.html +0 -200
- data/doc/rdoc/classes/Passenger/FrameworkSpawner.html +0 -429
- data/doc/rdoc/classes/Passenger/FrameworkSpawner/Error.html +0 -98
- data/doc/rdoc/classes/Passenger/RequestHandler.html +0 -425
- data/doc/rdoc/files/lib/passenger/application_spawner_rb.html +0 -128
- data/doc/rdoc/files/lib/passenger/cgi_fixed_rb.html +0 -127
- data/doc/rdoc/files/lib/passenger/framework_spawner_rb.html +0 -135
- data/doc/rdoc/files/lib/passenger/request_handler_rb.html +0 -122
- data/ext/apache2/ApplicationPoolClientServer.h +0 -653
- data/ext/boost/bind/apply.hpp +0 -74
- data/ext/boost/bind/make_adaptable.hpp +0 -187
- data/ext/boost/bind/mem_fn_vw.hpp +0 -130
- data/ext/boost/bind/protect.hpp +0 -144
- data/ext/boost/format.hpp +0 -59
- data/ext/boost/format/alt_sstream.hpp +0 -176
- data/ext/boost/format/alt_sstream_impl.hpp +0 -296
- data/ext/boost/format/detail/compat_workarounds.hpp +0 -86
- data/ext/boost/format/detail/config_macros.hpp +0 -97
- data/ext/boost/format/detail/msvc_disambiguater.hpp +0 -56
- data/ext/boost/format/detail/unset_macros.hpp +0 -34
- data/ext/boost/format/detail/workarounds_gcc-2_95.hpp +0 -162
- data/ext/boost/format/detail/workarounds_stlport.hpp +0 -42
- data/ext/boost/format/exceptions.hpp +0 -103
- data/ext/boost/format/feed_args.hpp +0 -267
- data/ext/boost/format/format_class.hpp +0 -143
- data/ext/boost/format/format_fwd.hpp +0 -49
- data/ext/boost/format/format_implementation.hpp +0 -277
- data/ext/boost/format/free_funcs.hpp +0 -70
- data/ext/boost/format/group.hpp +0 -676
- data/ext/boost/format/internals.hpp +0 -199
- data/ext/boost/format/internals_fwd.hpp +0 -60
- data/ext/boost/format/parsing.hpp +0 -491
- data/ext/boost/function/detail/gen_maybe_include.pl +0 -37
- data/ext/boost/function/function0.hpp +0 -12
- data/ext/boost/function/function1.hpp +0 -12
- data/ext/boost/function/function10.hpp +0 -12
- data/ext/boost/function/function2.hpp +0 -12
- data/ext/boost/function/function3.hpp +0 -12
- data/ext/boost/function/function4.hpp +0 -12
- data/ext/boost/function/function5.hpp +0 -12
- data/ext/boost/function/function6.hpp +0 -12
- data/ext/boost/function/function7.hpp +0 -12
- data/ext/boost/function/function8.hpp +0 -12
- data/ext/boost/function/function9.hpp +0 -12
- data/ext/boost/function/gen_function_N.pl +0 -26
- data/ext/boost/mpl/O1_size.hpp +0 -40
- data/ext/boost/mpl/O1_size_fwd.hpp +0 -24
- data/ext/boost/mpl/accumulate.hpp +0 -39
- data/ext/boost/mpl/advance.hpp +0 -76
- data/ext/boost/mpl/advance_fwd.hpp +0 -28
- data/ext/boost/mpl/alias.hpp +0 -21
- data/ext/boost/mpl/arithmetic.hpp +0 -25
- data/ext/boost/mpl/as_sequence.hpp +0 -38
- data/ext/boost/mpl/at.hpp +0 -52
- data/ext/boost/mpl/at_fwd.hpp +0 -24
- data/ext/boost/mpl/aux_/O1_size_impl.hpp +0 -87
- data/ext/boost/mpl/aux_/advance_backward.hpp +0 -124
- data/ext/boost/mpl/aux_/advance_forward.hpp +0 -123
- data/ext/boost/mpl/aux_/apply_1st.hpp +0 -35
- data/ext/boost/mpl/aux_/arithmetic_op.hpp +0 -92
- data/ext/boost/mpl/aux_/at_impl.hpp +0 -45
- data/ext/boost/mpl/aux_/back_impl.hpp +0 -43
- data/ext/boost/mpl/aux_/basic_bind.hpp +0 -21
- data/ext/boost/mpl/aux_/begin_end_impl.hpp +0 -100
- data/ext/boost/mpl/aux_/clear_impl.hpp +0 -35
- data/ext/boost/mpl/aux_/comparison_op.hpp +0 -83
- data/ext/boost/mpl/aux_/config/dependent_nttp.hpp +0 -35
- data/ext/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp +0 -27
- data/ext/boost/mpl/aux_/config/forwarding.hpp +0 -27
- data/ext/boost/mpl/aux_/config/operators.hpp +0 -33
- data/ext/boost/mpl/aux_/config/typeof.hpp +0 -38
- data/ext/boost/mpl/aux_/contains_impl.hpp +0 -61
- data/ext/boost/mpl/aux_/count_args.hpp +0 -105
- data/ext/boost/mpl/aux_/count_impl.hpp +0 -44
- data/ext/boost/mpl/aux_/empty_impl.hpp +0 -43
- data/ext/boost/mpl/aux_/erase_impl.hpp +0 -69
- data/ext/boost/mpl/aux_/erase_key_impl.hpp +0 -32
- data/ext/boost/mpl/aux_/filter_iter.hpp +0 -140
- data/ext/boost/mpl/aux_/find_if_pred.hpp +0 -31
- data/ext/boost/mpl/aux_/fold_impl.hpp +0 -43
- data/ext/boost/mpl/aux_/fold_impl_body.hpp +0 -365
- data/ext/boost/mpl/aux_/fold_op.hpp +0 -37
- data/ext/boost/mpl/aux_/fold_pred.hpp +0 -37
- data/ext/boost/mpl/aux_/front_impl.hpp +0 -41
- data/ext/boost/mpl/aux_/has_begin.hpp +0 -23
- data/ext/boost/mpl/aux_/has_key_impl.hpp +0 -34
- data/ext/boost/mpl/aux_/has_rebind.hpp +0 -99
- data/ext/boost/mpl/aux_/has_size.hpp +0 -23
- data/ext/boost/mpl/aux_/has_tag.hpp +0 -23
- data/ext/boost/mpl/aux_/insert_impl.hpp +0 -68
- data/ext/boost/mpl/aux_/insert_range_impl.hpp +0 -77
- data/ext/boost/mpl/aux_/inserter_algorithm.hpp +0 -159
- data/ext/boost/mpl/aux_/is_msvc_eti_arg.hpp +0 -64
- data/ext/boost/mpl/aux_/iter_apply.hpp +0 -47
- data/ext/boost/mpl/aux_/iter_fold_if_impl.hpp +0 -210
- data/ext/boost/mpl/aux_/iter_fold_impl.hpp +0 -42
- data/ext/boost/mpl/aux_/iter_push_front.hpp +0 -36
- data/ext/boost/mpl/aux_/joint_iter.hpp +0 -120
- data/ext/boost/mpl/aux_/lambda_no_ctps.hpp +0 -193
- data/ext/boost/mpl/aux_/lambda_spec.hpp +0 -49
- data/ext/boost/mpl/aux_/largest_int.hpp +0 -63
- data/ext/boost/mpl/aux_/logical_op.hpp +0 -165
- data/ext/boost/mpl/aux_/msvc_dtw.hpp +0 -68
- data/ext/boost/mpl/aux_/msvc_eti_base.hpp +0 -77
- data/ext/boost/mpl/aux_/msvc_is_class.hpp +0 -58
- data/ext/boost/mpl/aux_/msvc_type.hpp +0 -62
- data/ext/boost/mpl/aux_/numeric_cast_utils.hpp +0 -77
- data/ext/boost/mpl/aux_/numeric_op.hpp +0 -311
- data/ext/boost/mpl/aux_/order_impl.hpp +0 -76
- data/ext/boost/mpl/aux_/overload_names.hpp +0 -48
- data/ext/boost/mpl/aux_/partition_op.hpp +0 -58
- data/ext/boost/mpl/aux_/pop_back_impl.hpp +0 -34
- data/ext/boost/mpl/aux_/pop_front_impl.hpp +0 -44
- data/ext/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/bcc/and.hpp +0 -69
- data/ext/boost/mpl/aux_/preprocessed/bcc/apply.hpp +0 -169
- data/ext/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp +0 -52
- data/ext/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp +0 -456
- data/ext/boost/mpl/aux_/preprocessed/bcc/arg.hpp +0 -117
- data/ext/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp +0 -300
- data/ext/boost/mpl/aux_/preprocessed/bcc/bind.hpp +0 -397
- data/ext/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp +0 -46
- data/ext/boost/mpl/aux_/preprocessed/bcc/bitand.hpp +0 -147
- data/ext/boost/mpl/aux_/preprocessed/bcc/bitor.hpp +0 -147
- data/ext/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp +0 -147
- data/ext/boost/mpl/aux_/preprocessed/bcc/deque.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/bcc/divides.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp +0 -180
- data/ext/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp +0 -558
- data/ext/boost/mpl/aux_/preprocessed/bcc/greater.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/bcc/inherit.hpp +0 -139
- data/ext/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp +0 -133
- data/ext/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp +0 -180
- data/ext/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp +0 -229
- data/ext/boost/mpl/aux_/preprocessed/bcc/less.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/bcc/list.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/bcc/list_c.hpp +0 -328
- data/ext/boost/mpl/aux_/preprocessed/bcc/map.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/bcc/minus.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/bcc/modulus.hpp +0 -101
- data/ext/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/bcc/or.hpp +0 -69
- data/ext/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp +0 -105
- data/ext/boost/mpl/aux_/preprocessed/bcc/plus.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/bcc/quote.hpp +0 -11
- data/ext/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp +0 -295
- data/ext/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp +0 -295
- data/ext/boost/mpl/aux_/preprocessed/bcc/set.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/bcc/set_c.hpp +0 -328
- data/ext/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp +0 -99
- data/ext/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp +0 -99
- data/ext/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp +0 -40
- data/ext/boost/mpl/aux_/preprocessed/bcc/times.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/bcc/vector.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp +0 -309
- data/ext/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/bcc551/and.hpp +0 -69
- data/ext/boost/mpl/aux_/preprocessed/bcc551/apply.hpp +0 -169
- data/ext/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp +0 -52
- data/ext/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp +0 -456
- data/ext/boost/mpl/aux_/preprocessed/bcc551/arg.hpp +0 -123
- data/ext/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp +0 -306
- data/ext/boost/mpl/aux_/preprocessed/bcc551/bind.hpp +0 -403
- data/ext/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp +0 -46
- data/ext/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp +0 -147
- data/ext/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp +0 -147
- data/ext/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp +0 -147
- data/ext/boost/mpl/aux_/preprocessed/bcc551/deque.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/bcc551/divides.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp +0 -180
- data/ext/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp +0 -558
- data/ext/boost/mpl/aux_/preprocessed/bcc551/greater.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp +0 -141
- data/ext/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp +0 -133
- data/ext/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp +0 -180
- data/ext/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp +0 -229
- data/ext/boost/mpl/aux_/preprocessed/bcc551/less.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/bcc551/list.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp +0 -328
- data/ext/boost/mpl/aux_/preprocessed/bcc551/map.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/bcc551/minus.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp +0 -101
- data/ext/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/bcc551/or.hpp +0 -69
- data/ext/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp +0 -105
- data/ext/boost/mpl/aux_/preprocessed/bcc551/plus.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/bcc551/quote.hpp +0 -11
- data/ext/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp +0 -295
- data/ext/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp +0 -295
- data/ext/boost/mpl/aux_/preprocessed/bcc551/set.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp +0 -328
- data/ext/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp +0 -99
- data/ext/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp +0 -99
- data/ext/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp +0 -40
- data/ext/boost/mpl/aux_/preprocessed/bcc551/times.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/bcc551/vector.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp +0 -309
- data/ext/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/dmc/and.hpp +0 -69
- data/ext/boost/mpl/aux_/preprocessed/dmc/apply.hpp +0 -169
- data/ext/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp +0 -52
- data/ext/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp +0 -84
- data/ext/boost/mpl/aux_/preprocessed/dmc/arg.hpp +0 -123
- data/ext/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp +0 -406
- data/ext/boost/mpl/aux_/preprocessed/dmc/bind.hpp +0 -515
- data/ext/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp +0 -53
- data/ext/boost/mpl/aux_/preprocessed/dmc/bitand.hpp +0 -147
- data/ext/boost/mpl/aux_/preprocessed/dmc/bitor.hpp +0 -147
- data/ext/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp +0 -147
- data/ext/boost/mpl/aux_/preprocessed/dmc/deque.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/dmc/divides.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp +0 -180
- data/ext/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp +0 -536
- data/ext/boost/mpl/aux_/preprocessed/dmc/greater.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/dmc/inherit.hpp +0 -141
- data/ext/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp +0 -133
- data/ext/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp +0 -180
- data/ext/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp +0 -229
- data/ext/boost/mpl/aux_/preprocessed/dmc/less.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/dmc/list.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/dmc/list_c.hpp +0 -328
- data/ext/boost/mpl/aux_/preprocessed/dmc/map.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/dmc/minus.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/dmc/modulus.hpp +0 -101
- data/ext/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/dmc/or.hpp +0 -69
- data/ext/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp +0 -105
- data/ext/boost/mpl/aux_/preprocessed/dmc/plus.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/dmc/quote.hpp +0 -123
- data/ext/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp +0 -231
- data/ext/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp +0 -231
- data/ext/boost/mpl/aux_/preprocessed/dmc/set.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/dmc/set_c.hpp +0 -328
- data/ext/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp +0 -99
- data/ext/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp +0 -99
- data/ext/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp +0 -11
- data/ext/boost/mpl/aux_/preprocessed/dmc/times.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/dmc/vector.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp +0 -309
- data/ext/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp +0 -440
- data/ext/boost/mpl/aux_/preprocessed/gcc/bitand.hpp +0 -147
- data/ext/boost/mpl/aux_/preprocessed/gcc/bitor.hpp +0 -147
- data/ext/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp +0 -147
- data/ext/boost/mpl/aux_/preprocessed/gcc/deque.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/gcc/divides.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp +0 -180
- data/ext/boost/mpl/aux_/preprocessed/gcc/greater.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/gcc/inherit.hpp +0 -141
- data/ext/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp +0 -133
- data/ext/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp +0 -180
- data/ext/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp +0 -229
- data/ext/boost/mpl/aux_/preprocessed/gcc/less.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/gcc/list.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/gcc/list_c.hpp +0 -328
- data/ext/boost/mpl/aux_/preprocessed/gcc/map.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/gcc/minus.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/gcc/modulus.hpp +0 -101
- data/ext/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/gcc/plus.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp +0 -231
- data/ext/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp +0 -231
- data/ext/boost/mpl/aux_/preprocessed/gcc/set.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/gcc/set_c.hpp +0 -328
- data/ext/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp +0 -99
- data/ext/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp +0 -99
- data/ext/boost/mpl/aux_/preprocessed/gcc/times.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/gcc/vector.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp +0 -309
- data/ext/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp +0 -132
- data/ext/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp +0 -132
- data/ext/boost/mpl/aux_/preprocessed/msvc60/and.hpp +0 -73
- data/ext/boost/mpl/aux_/preprocessed/msvc60/apply.hpp +0 -166
- data/ext/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp +0 -46
- data/ext/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp +0 -247
- data/ext/boost/mpl/aux_/preprocessed/msvc60/arg.hpp +0 -123
- data/ext/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp +0 -328
- data/ext/boost/mpl/aux_/preprocessed/msvc60/bind.hpp +0 -432
- data/ext/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp +0 -46
- data/ext/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp +0 -149
- data/ext/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp +0 -149
- data/ext/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp +0 -149
- data/ext/boost/mpl/aux_/preprocessed/msvc60/deque.hpp +0 -556
- data/ext/boost/mpl/aux_/preprocessed/msvc60/divides.hpp +0 -148
- data/ext/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp +0 -102
- data/ext/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp +0 -293
- data/ext/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp +0 -554
- data/ext/boost/mpl/aux_/preprocessed/msvc60/greater.hpp +0 -102
- data/ext/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp +0 -102
- data/ext/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp +0 -166
- data/ext/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp +0 -133
- data/ext/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp +0 -293
- data/ext/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp +0 -229
- data/ext/boost/mpl/aux_/preprocessed/msvc60/less.hpp +0 -102
- data/ext/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp +0 -102
- data/ext/boost/mpl/aux_/preprocessed/msvc60/list.hpp +0 -556
- data/ext/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp +0 -534
- data/ext/boost/mpl/aux_/preprocessed/msvc60/map.hpp +0 -556
- data/ext/boost/mpl/aux_/preprocessed/msvc60/minus.hpp +0 -148
- data/ext/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp +0 -115
- data/ext/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp +0 -102
- data/ext/boost/mpl/aux_/preprocessed/msvc60/or.hpp +0 -73
- data/ext/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp +0 -105
- data/ext/boost/mpl/aux_/preprocessed/msvc60/plus.hpp +0 -148
- data/ext/boost/mpl/aux_/preprocessed/msvc60/quote.hpp +0 -11
- data/ext/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp +0 -343
- data/ext/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp +0 -343
- data/ext/boost/mpl/aux_/preprocessed/msvc60/set.hpp +0 -556
- data/ext/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp +0 -534
- data/ext/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp +0 -114
- data/ext/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp +0 -114
- data/ext/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp +0 -46
- data/ext/boost/mpl/aux_/preprocessed/msvc60/times.hpp +0 -148
- data/ext/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp +0 -109
- data/ext/boost/mpl/aux_/preprocessed/msvc60/vector.hpp +0 -556
- data/ext/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp +0 -534
- data/ext/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/msvc70/and.hpp +0 -71
- data/ext/boost/mpl/aux_/preprocessed/msvc70/apply.hpp +0 -160
- data/ext/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp +0 -46
- data/ext/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp +0 -138
- data/ext/boost/mpl/aux_/preprocessed/msvc70/arg.hpp +0 -123
- data/ext/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp +0 -328
- data/ext/boost/mpl/aux_/preprocessed/msvc70/bind.hpp +0 -432
- data/ext/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp +0 -46
- data/ext/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp +0 -151
- data/ext/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp +0 -151
- data/ext/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp +0 -151
- data/ext/boost/mpl/aux_/preprocessed/msvc70/deque.hpp +0 -556
- data/ext/boost/mpl/aux_/preprocessed/msvc70/divides.hpp +0 -150
- data/ext/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp +0 -102
- data/ext/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp +0 -245
- data/ext/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp +0 -554
- data/ext/boost/mpl/aux_/preprocessed/msvc70/greater.hpp +0 -102
- data/ext/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp +0 -102
- data/ext/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp +0 -166
- data/ext/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp +0 -133
- data/ext/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp +0 -245
- data/ext/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp +0 -229
- data/ext/boost/mpl/aux_/preprocessed/msvc70/less.hpp +0 -102
- data/ext/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp +0 -102
- data/ext/boost/mpl/aux_/preprocessed/msvc70/list.hpp +0 -556
- data/ext/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp +0 -534
- data/ext/boost/mpl/aux_/preprocessed/msvc70/map.hpp +0 -556
- data/ext/boost/mpl/aux_/preprocessed/msvc70/minus.hpp +0 -150
- data/ext/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp +0 -115
- data/ext/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp +0 -102
- data/ext/boost/mpl/aux_/preprocessed/msvc70/or.hpp +0 -71
- data/ext/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp +0 -105
- data/ext/boost/mpl/aux_/preprocessed/msvc70/plus.hpp +0 -150
- data/ext/boost/mpl/aux_/preprocessed/msvc70/quote.hpp +0 -116
- data/ext/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp +0 -295
- data/ext/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp +0 -295
- data/ext/boost/mpl/aux_/preprocessed/msvc70/set.hpp +0 -556
- data/ext/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp +0 -534
- data/ext/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp +0 -114
- data/ext/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp +0 -114
- data/ext/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp +0 -46
- data/ext/boost/mpl/aux_/preprocessed/msvc70/times.hpp +0 -150
- data/ext/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp +0 -109
- data/ext/boost/mpl/aux_/preprocessed/msvc70/vector.hpp +0 -556
- data/ext/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp +0 -534
- data/ext/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/mwcw/and.hpp +0 -69
- data/ext/boost/mpl/aux_/preprocessed/mwcw/apply.hpp +0 -169
- data/ext/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp +0 -52
- data/ext/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp +0 -456
- data/ext/boost/mpl/aux_/preprocessed/mwcw/arg.hpp +0 -123
- data/ext/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp +0 -440
- data/ext/boost/mpl/aux_/preprocessed/mwcw/bind.hpp +0 -561
- data/ext/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp +0 -52
- data/ext/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp +0 -147
- data/ext/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp +0 -147
- data/ext/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp +0 -147
- data/ext/boost/mpl/aux_/preprocessed/mwcw/deque.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/mwcw/divides.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp +0 -180
- data/ext/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp +0 -554
- data/ext/boost/mpl/aux_/preprocessed/mwcw/greater.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp +0 -141
- data/ext/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp +0 -133
- data/ext/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp +0 -180
- data/ext/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp +0 -229
- data/ext/boost/mpl/aux_/preprocessed/mwcw/less.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/mwcw/list.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp +0 -328
- data/ext/boost/mpl/aux_/preprocessed/mwcw/map.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/mwcw/minus.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp +0 -101
- data/ext/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/mwcw/or.hpp +0 -69
- data/ext/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp +0 -105
- data/ext/boost/mpl/aux_/preprocessed/mwcw/plus.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/mwcw/quote.hpp +0 -123
- data/ext/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp +0 -231
- data/ext/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp +0 -231
- data/ext/boost/mpl/aux_/preprocessed/mwcw/set.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp +0 -328
- data/ext/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp +0 -99
- data/ext/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp +0 -99
- data/ext/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp +0 -11
- data/ext/boost/mpl/aux_/preprocessed/mwcw/times.hpp +0 -146
- data/ext/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/mwcw/vector.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp +0 -309
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/and.hpp +0 -73
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp +0 -268
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp +0 -50
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp +0 -78
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp +0 -123
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp +0 -486
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp +0 -590
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp +0 -52
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp +0 -134
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp +0 -134
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp +0 -134
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp +0 -556
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp +0 -133
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp +0 -245
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp +0 -554
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp +0 -166
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp +0 -133
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp +0 -245
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp +0 -229
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/less.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/list.hpp +0 -556
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp +0 -534
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/map.hpp +0 -556
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp +0 -133
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp +0 -101
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/or.hpp +0 -73
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp +0 -105
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp +0 -133
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp +0 -116
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp +0 -295
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp +0 -295
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/set.hpp +0 -556
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp +0 -534
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp +0 -99
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp +0 -99
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp +0 -40
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/times.hpp +0 -133
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp +0 -109
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp +0 -556
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp +0 -534
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/and.hpp +0 -69
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp +0 -169
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp +0 -52
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp +0 -84
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp +0 -123
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp +0 -369
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp +0 -466
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp +0 -52
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp +0 -157
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp +0 -157
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp +0 -157
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp +0 -156
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp +0 -98
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp +0 -180
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp +0 -554
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp +0 -98
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp +0 -98
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp +0 -141
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp +0 -133
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp +0 -180
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp +0 -229
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/less.hpp +0 -98
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp +0 -98
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/list.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp +0 -328
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/map.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp +0 -156
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp +0 -111
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp +0 -98
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/or.hpp +0 -69
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp +0 -105
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp +0 -156
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp +0 -11
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp +0 -231
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp +0 -231
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/set.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp +0 -328
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp +0 -110
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp +0 -110
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp +0 -40
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/times.hpp +0 -156
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp +0 -309
- data/ext/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/plain/and.hpp +0 -64
- data/ext/boost/mpl/aux_/preprocessed/plain/apply.hpp +0 -139
- data/ext/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp +0 -52
- data/ext/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp +0 -84
- data/ext/boost/mpl/aux_/preprocessed/plain/arg.hpp +0 -123
- data/ext/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp +0 -440
- data/ext/boost/mpl/aux_/preprocessed/plain/bind.hpp +0 -561
- data/ext/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp +0 -52
- data/ext/boost/mpl/aux_/preprocessed/plain/bitand.hpp +0 -142
- data/ext/boost/mpl/aux_/preprocessed/plain/bitor.hpp +0 -142
- data/ext/boost/mpl/aux_/preprocessed/plain/bitxor.hpp +0 -142
- data/ext/boost/mpl/aux_/preprocessed/plain/deque.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/plain/divides.hpp +0 -141
- data/ext/boost/mpl/aux_/preprocessed/plain/equal_to.hpp +0 -92
- data/ext/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp +0 -180
- data/ext/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp +0 -554
- data/ext/boost/mpl/aux_/preprocessed/plain/greater.hpp +0 -92
- data/ext/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp +0 -92
- data/ext/boost/mpl/aux_/preprocessed/plain/inherit.hpp +0 -125
- data/ext/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp +0 -133
- data/ext/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp +0 -180
- data/ext/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp +0 -228
- data/ext/boost/mpl/aux_/preprocessed/plain/less.hpp +0 -92
- data/ext/boost/mpl/aux_/preprocessed/plain/less_equal.hpp +0 -92
- data/ext/boost/mpl/aux_/preprocessed/plain/list.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/plain/list_c.hpp +0 -328
- data/ext/boost/mpl/aux_/preprocessed/plain/map.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/plain/minus.hpp +0 -141
- data/ext/boost/mpl/aux_/preprocessed/plain/modulus.hpp +0 -99
- data/ext/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp +0 -92
- data/ext/boost/mpl/aux_/preprocessed/plain/or.hpp +0 -64
- data/ext/boost/mpl/aux_/preprocessed/plain/placeholders.hpp +0 -105
- data/ext/boost/mpl/aux_/preprocessed/plain/plus.hpp +0 -141
- data/ext/boost/mpl/aux_/preprocessed/plain/quote.hpp +0 -123
- data/ext/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp +0 -231
- data/ext/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp +0 -231
- data/ext/boost/mpl/aux_/preprocessed/plain/set.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/plain/set_c.hpp +0 -328
- data/ext/boost/mpl/aux_/preprocessed/plain/shift_left.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/plain/shift_right.hpp +0 -97
- data/ext/boost/mpl/aux_/preprocessed/plain/template_arity.hpp +0 -11
- data/ext/boost/mpl/aux_/preprocessed/plain/times.hpp +0 -141
- data/ext/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp +0 -94
- data/ext/boost/mpl/aux_/preprocessed/plain/vector.hpp +0 -323
- data/ext/boost/mpl/aux_/preprocessed/plain/vector_c.hpp +0 -309
- data/ext/boost/mpl/aux_/preprocessor/add.hpp +0 -65
- data/ext/boost/mpl/aux_/preprocessor/default_params.hpp +0 -67
- data/ext/boost/mpl/aux_/preprocessor/ext_params.hpp +0 -78
- data/ext/boost/mpl/aux_/preprocessor/is_seq.hpp +0 -54
- data/ext/boost/mpl/aux_/preprocessor/partial_spec_params.hpp +0 -32
- data/ext/boost/mpl/aux_/preprocessor/range.hpp +0 -23
- data/ext/boost/mpl/aux_/preprocessor/repeat.hpp +0 -51
- data/ext/boost/mpl/aux_/preprocessor/token_equal.hpp +0 -56
- data/ext/boost/mpl/aux_/preprocessor/tuple.hpp +0 -29
- data/ext/boost/mpl/aux_/ptr_to_ref.hpp +0 -46
- data/ext/boost/mpl/aux_/push_back_impl.hpp +0 -55
- data/ext/boost/mpl/aux_/push_front_impl.hpp +0 -56
- data/ext/boost/mpl/aux_/range_c/O1_size.hpp +0 -31
- data/ext/boost/mpl/aux_/range_c/back.hpp +0 -34
- data/ext/boost/mpl/aux_/range_c/empty.hpp +0 -37
- data/ext/boost/mpl/aux_/range_c/front.hpp +0 -33
- data/ext/boost/mpl/aux_/range_c/iterator.hpp +0 -106
- data/ext/boost/mpl/aux_/range_c/size.hpp +0 -37
- data/ext/boost/mpl/aux_/range_c/tag.hpp +0 -24
- data/ext/boost/mpl/aux_/reverse_fold_impl.hpp +0 -44
- data/ext/boost/mpl/aux_/reverse_fold_impl_body.hpp +0 -412
- data/ext/boost/mpl/aux_/reverse_iter_fold_impl.hpp +0 -43
- data/ext/boost/mpl/aux_/sequence_wrapper.hpp +0 -292
- data/ext/boost/mpl/aux_/shift_op.hpp +0 -87
- data/ext/boost/mpl/aux_/single_element_iter.hpp +0 -118
- data/ext/boost/mpl/aux_/size_impl.hpp +0 -52
- data/ext/boost/mpl/aux_/sort_impl.hpp +0 -121
- data/ext/boost/mpl/aux_/test.hpp +0 -32
- data/ext/boost/mpl/aux_/test/assert.hpp +0 -29
- data/ext/boost/mpl/aux_/test/data.hpp +0 -25
- data/ext/boost/mpl/aux_/test/test_case.hpp +0 -21
- data/ext/boost/mpl/aux_/traits_lambda_spec.hpp +0 -56
- data/ext/boost/mpl/aux_/transform_iter.hpp +0 -123
- data/ext/boost/mpl/aux_/unwrap.hpp +0 -47
- data/ext/boost/mpl/back.hpp +0 -39
- data/ext/boost/mpl/back_fwd.hpp +0 -24
- data/ext/boost/mpl/back_inserter.hpp +0 -34
- data/ext/boost/mpl/base.hpp +0 -35
- data/ext/boost/mpl/begin.hpp +0 -19
- data/ext/boost/mpl/begin_end.hpp +0 -57
- data/ext/boost/mpl/begin_end_fwd.hpp +0 -27
- data/ext/boost/mpl/bitand.hpp +0 -23
- data/ext/boost/mpl/bitor.hpp +0 -23
- data/ext/boost/mpl/bitwise.hpp +0 -24
- data/ext/boost/mpl/bitxor.hpp +0 -23
- data/ext/boost/mpl/clear.hpp +0 -39
- data/ext/boost/mpl/clear_fwd.hpp +0 -24
- data/ext/boost/mpl/comparison.hpp +0 -24
- data/ext/boost/mpl/contains.hpp +0 -41
- data/ext/boost/mpl/contains_fwd.hpp +0 -25
- data/ext/boost/mpl/copy.hpp +0 -58
- data/ext/boost/mpl/copy_if.hpp +0 -96
- data/ext/boost/mpl/count.hpp +0 -40
- data/ext/boost/mpl/count_fwd.hpp +0 -24
- data/ext/boost/mpl/count_if.hpp +0 -79
- data/ext/boost/mpl/deque.hpp +0 -58
- data/ext/boost/mpl/deref.hpp +0 -41
- data/ext/boost/mpl/distance.hpp +0 -78
- data/ext/boost/mpl/distance_fwd.hpp +0 -28
- data/ext/boost/mpl/divides.hpp +0 -21
- data/ext/boost/mpl/empty.hpp +0 -39
- data/ext/boost/mpl/empty_base.hpp +0 -59
- data/ext/boost/mpl/empty_fwd.hpp +0 -24
- data/ext/boost/mpl/empty_sequence.hpp +0 -42
- data/ext/boost/mpl/end.hpp +0 -19
- data/ext/boost/mpl/equal.hpp +0 -112
- data/ext/boost/mpl/equal_to.hpp +0 -21
- data/ext/boost/mpl/erase.hpp +0 -42
- data/ext/boost/mpl/erase_fwd.hpp +0 -24
- data/ext/boost/mpl/erase_key.hpp +0 -41
- data/ext/boost/mpl/erase_key_fwd.hpp +0 -24
- data/ext/boost/mpl/filter_view.hpp +0 -46
- data/ext/boost/mpl/find.hpp +0 -38
- data/ext/boost/mpl/find_if.hpp +0 -50
- data/ext/boost/mpl/fold.hpp +0 -48
- data/ext/boost/mpl/for_each.hpp +0 -112
- data/ext/boost/mpl/front.hpp +0 -39
- data/ext/boost/mpl/front_fwd.hpp +0 -24
- data/ext/boost/mpl/front_inserter.hpp +0 -33
- data/ext/boost/mpl/greater.hpp +0 -21
- data/ext/boost/mpl/greater_equal.hpp +0 -21
- data/ext/boost/mpl/has_key.hpp +0 -41
- data/ext/boost/mpl/has_key_fwd.hpp +0 -25
- data/ext/boost/mpl/index_if.hpp +0 -60
- data/ext/boost/mpl/index_of.hpp +0 -39
- data/ext/boost/mpl/inherit.hpp +0 -229
- data/ext/boost/mpl/inherit_linearly.hpp +0 -39
- data/ext/boost/mpl/insert.hpp +0 -41
- data/ext/boost/mpl/insert_fwd.hpp +0 -24
- data/ext/boost/mpl/insert_range.hpp +0 -41
- data/ext/boost/mpl/insert_range_fwd.hpp +0 -24
- data/ext/boost/mpl/inserter.hpp +0 -32
- data/ext/boost/mpl/is_placeholder.hpp +0 -67
- data/ext/boost/mpl/is_sequence.hpp +0 -112
- data/ext/boost/mpl/iter_fold.hpp +0 -49
- data/ext/boost/mpl/iter_fold_if.hpp +0 -117
- data/ext/boost/mpl/iterator_category.hpp +0 -35
- data/ext/boost/mpl/iterator_range.hpp +0 -42
- data/ext/boost/mpl/iterator_tags.hpp +0 -27
- data/ext/boost/mpl/joint_view.hpp +0 -65
- data/ext/boost/mpl/key_type.hpp +0 -42
- data/ext/boost/mpl/key_type_fwd.hpp +0 -25
- data/ext/boost/mpl/less.hpp +0 -21
- data/ext/boost/mpl/less_equal.hpp +0 -21
- data/ext/boost/mpl/limits/list.hpp +0 -21
- data/ext/boost/mpl/limits/map.hpp +0 -21
- data/ext/boost/mpl/limits/set.hpp +0 -21
- data/ext/boost/mpl/limits/unrolling.hpp +0 -21
- data/ext/boost/mpl/limits/vector.hpp +0 -21
- data/ext/boost/mpl/list.hpp +0 -57
- data/ext/boost/mpl/list/aux_/O1_size.hpp +0 -33
- data/ext/boost/mpl/list/aux_/begin_end.hpp +0 -44
- data/ext/boost/mpl/list/aux_/clear.hpp +0 -34
- data/ext/boost/mpl/list/aux_/empty.hpp +0 -34
- data/ext/boost/mpl/list/aux_/front.hpp +0 -33
- data/ext/boost/mpl/list/aux_/include_preprocessed.hpp +0 -35
- data/ext/boost/mpl/list/aux_/item.hpp +0 -55
- data/ext/boost/mpl/list/aux_/iterator.hpp +0 -76
- data/ext/boost/mpl/list/aux_/numbered.hpp +0 -68
- data/ext/boost/mpl/list/aux_/numbered_c.hpp +0 -71
- data/ext/boost/mpl/list/aux_/pop_front.hpp +0 -34
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list10.hpp +0 -149
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp +0 -164
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list20.hpp +0 -169
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp +0 -173
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list30.hpp +0 -189
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp +0 -183
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list40.hpp +0 -209
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp +0 -193
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list50.hpp +0 -229
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp +0 -203
- data/ext/boost/mpl/list/aux_/push_back.hpp +0 -36
- data/ext/boost/mpl/list/aux_/push_front.hpp +0 -39
- data/ext/boost/mpl/list/aux_/size.hpp +0 -33
- data/ext/boost/mpl/list/aux_/tag.hpp +0 -24
- data/ext/boost/mpl/list/list0.hpp +0 -42
- data/ext/boost/mpl/list/list0_c.hpp +0 -31
- data/ext/boost/mpl/list/list10.hpp +0 -43
- data/ext/boost/mpl/list/list10_c.hpp +0 -43
- data/ext/boost/mpl/list/list20.hpp +0 -43
- data/ext/boost/mpl/list/list20_c.hpp +0 -43
- data/ext/boost/mpl/list/list30.hpp +0 -43
- data/ext/boost/mpl/list/list30_c.hpp +0 -43
- data/ext/boost/mpl/list/list40.hpp +0 -43
- data/ext/boost/mpl/list/list40_c.hpp +0 -43
- data/ext/boost/mpl/list/list50.hpp +0 -43
- data/ext/boost/mpl/list/list50_c.hpp +0 -43
- data/ext/boost/mpl/list_c.hpp +0 -60
- data/ext/boost/mpl/long.hpp +0 -22
- data/ext/boost/mpl/long_fwd.hpp +0 -27
- data/ext/boost/mpl/lower_bound.hpp +0 -143
- data/ext/boost/mpl/map.hpp +0 -57
- data/ext/boost/mpl/map/aux_/at_impl.hpp +0 -144
- data/ext/boost/mpl/map/aux_/begin_end_impl.hpp +0 -50
- data/ext/boost/mpl/map/aux_/clear_impl.hpp +0 -35
- data/ext/boost/mpl/map/aux_/contains_impl.hpp +0 -43
- data/ext/boost/mpl/map/aux_/empty_impl.hpp +0 -34
- data/ext/boost/mpl/map/aux_/erase_impl.hpp +0 -41
- data/ext/boost/mpl/map/aux_/erase_key_impl.hpp +0 -53
- data/ext/boost/mpl/map/aux_/has_key_impl.hpp +0 -44
- data/ext/boost/mpl/map/aux_/include_preprocessed.hpp +0 -53
- data/ext/boost/mpl/map/aux_/insert_impl.hpp +0 -72
- data/ext/boost/mpl/map/aux_/item.hpp +0 -138
- data/ext/boost/mpl/map/aux_/iterator.hpp +0 -169
- data/ext/boost/mpl/map/aux_/key_type_impl.hpp +0 -36
- data/ext/boost/mpl/map/aux_/map0.hpp +0 -74
- data/ext/boost/mpl/map/aux_/numbered.hpp +0 -110
- data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp +0 -350
- data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp +0 -370
- data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp +0 -390
- data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp +0 -410
- data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp +0 -430
- data/ext/boost/mpl/map/aux_/preprocessed/plain/map10.hpp +0 -290
- data/ext/boost/mpl/map/aux_/preprocessed/plain/map20.hpp +0 -310
- data/ext/boost/mpl/map/aux_/preprocessed/plain/map30.hpp +0 -330
- data/ext/boost/mpl/map/aux_/preprocessed/plain/map40.hpp +0 -350
- data/ext/boost/mpl/map/aux_/preprocessed/plain/map50.hpp +0 -370
- data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp +0 -150
- data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp +0 -170
- data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp +0 -190
- data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp +0 -210
- data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp +0 -230
- data/ext/boost/mpl/map/aux_/size_impl.hpp +0 -33
- data/ext/boost/mpl/map/aux_/tag.hpp +0 -24
- data/ext/boost/mpl/map/aux_/value_type_impl.hpp +0 -36
- data/ext/boost/mpl/map/map0.hpp +0 -36
- data/ext/boost/mpl/map/map10.hpp +0 -44
- data/ext/boost/mpl/map/map20.hpp +0 -44
- data/ext/boost/mpl/map/map30.hpp +0 -44
- data/ext/boost/mpl/map/map40.hpp +0 -44
- data/ext/boost/mpl/map/map50.hpp +0 -44
- data/ext/boost/mpl/math/fixed_c.hpp +0 -36
- data/ext/boost/mpl/math/is_even.hpp +0 -54
- data/ext/boost/mpl/math/rational_c.hpp +0 -37
- data/ext/boost/mpl/max.hpp +0 -19
- data/ext/boost/mpl/max_element.hpp +0 -72
- data/ext/boost/mpl/min.hpp +0 -19
- data/ext/boost/mpl/min_element.hpp +0 -40
- data/ext/boost/mpl/min_max.hpp +0 -46
- data/ext/boost/mpl/minus.hpp +0 -21
- data/ext/boost/mpl/modulus.hpp +0 -22
- data/ext/boost/mpl/multiplies.hpp +0 -53
- data/ext/boost/mpl/multiset/aux_/count_impl.hpp +0 -82
- data/ext/boost/mpl/multiset/aux_/insert_impl.hpp +0 -34
- data/ext/boost/mpl/multiset/aux_/item.hpp +0 -114
- data/ext/boost/mpl/multiset/aux_/multiset0.hpp +0 -34
- data/ext/boost/mpl/multiset/aux_/tag.hpp +0 -23
- data/ext/boost/mpl/multiset/multiset0.hpp +0 -36
- data/ext/boost/mpl/negate.hpp +0 -81
- data/ext/boost/mpl/not_equal_to.hpp +0 -21
- data/ext/boost/mpl/numeric_cast.hpp +0 -41
- data/ext/boost/mpl/order.hpp +0 -41
- data/ext/boost/mpl/order_fwd.hpp +0 -25
- data/ext/boost/mpl/pair.hpp +0 -70
- data/ext/boost/mpl/pair_view.hpp +0 -169
- data/ext/boost/mpl/partition.hpp +0 -53
- data/ext/boost/mpl/plus.hpp +0 -21
- data/ext/boost/mpl/pop_back.hpp +0 -39
- data/ext/boost/mpl/pop_back_fwd.hpp +0 -24
- data/ext/boost/mpl/pop_front.hpp +0 -39
- data/ext/boost/mpl/pop_front_fwd.hpp +0 -24
- data/ext/boost/mpl/print.hpp +0 -74
- data/ext/boost/mpl/prior.hpp +0 -19
- data/ext/boost/mpl/push_back.hpp +0 -53
- data/ext/boost/mpl/push_back_fwd.hpp +0 -24
- data/ext/boost/mpl/push_front.hpp +0 -52
- data/ext/boost/mpl/push_front_fwd.hpp +0 -24
- data/ext/boost/mpl/range_c.hpp +0 -48
- data/ext/boost/mpl/remove.hpp +0 -52
- data/ext/boost/mpl/remove_if.hpp +0 -83
- data/ext/boost/mpl/replace.hpp +0 -55
- data/ext/boost/mpl/replace_if.hpp +0 -88
- data/ext/boost/mpl/reverse.hpp +0 -38
- data/ext/boost/mpl/reverse_fold.hpp +0 -50
- data/ext/boost/mpl/reverse_iter_fold.hpp +0 -56
- data/ext/boost/mpl/same_as.hpp +0 -55
- data/ext/boost/mpl/sequence_tag.hpp +0 -124
- data/ext/boost/mpl/sequence_tag_fwd.hpp +0 -26
- data/ext/boost/mpl/set.hpp +0 -57
- data/ext/boost/mpl/set/aux_/at_impl.hpp +0 -40
- data/ext/boost/mpl/set/aux_/begin_end_impl.hpp +0 -43
- data/ext/boost/mpl/set/aux_/clear_impl.hpp +0 -35
- data/ext/boost/mpl/set/aux_/empty_impl.hpp +0 -34
- data/ext/boost/mpl/set/aux_/erase_impl.hpp +0 -41
- data/ext/boost/mpl/set/aux_/erase_key_impl.hpp +0 -53
- data/ext/boost/mpl/set/aux_/has_key_impl.hpp +0 -60
- data/ext/boost/mpl/set/aux_/include_preprocessed.hpp +0 -42
- data/ext/boost/mpl/set/aux_/insert_impl.hpp +0 -65
- data/ext/boost/mpl/set/aux_/item.hpp +0 -82
- data/ext/boost/mpl/set/aux_/iterator.hpp +0 -97
- data/ext/boost/mpl/set/aux_/key_type_impl.hpp +0 -34
- data/ext/boost/mpl/set/aux_/numbered.hpp +0 -48
- data/ext/boost/mpl/set/aux_/numbered_c.hpp +0 -48
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set10.hpp +0 -140
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp +0 -145
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set20.hpp +0 -168
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp +0 -154
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set30.hpp +0 -195
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp +0 -164
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set40.hpp +0 -221
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp +0 -174
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set50.hpp +0 -250
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp +0 -184
- data/ext/boost/mpl/set/aux_/set0.hpp +0 -69
- data/ext/boost/mpl/set/aux_/size_impl.hpp +0 -33
- data/ext/boost/mpl/set/aux_/tag.hpp +0 -24
- data/ext/boost/mpl/set/aux_/value_type_impl.hpp +0 -34
- data/ext/boost/mpl/set/set0.hpp +0 -35
- data/ext/boost/mpl/set/set0_c.hpp +0 -32
- data/ext/boost/mpl/set/set10.hpp +0 -44
- data/ext/boost/mpl/set/set10_c.hpp +0 -45
- data/ext/boost/mpl/set/set20.hpp +0 -44
- data/ext/boost/mpl/set/set20_c.hpp +0 -45
- data/ext/boost/mpl/set/set30.hpp +0 -44
- data/ext/boost/mpl/set/set30_c.hpp +0 -45
- data/ext/boost/mpl/set/set40.hpp +0 -44
- data/ext/boost/mpl/set/set40_c.hpp +0 -45
- data/ext/boost/mpl/set/set50.hpp +0 -44
- data/ext/boost/mpl/set/set50_c.hpp +0 -45
- data/ext/boost/mpl/set_c.hpp +0 -60
- data/ext/boost/mpl/shift_left.hpp +0 -22
- data/ext/boost/mpl/shift_right.hpp +0 -22
- data/ext/boost/mpl/single_view.hpp +0 -38
- data/ext/boost/mpl/size.hpp +0 -42
- data/ext/boost/mpl/size_fwd.hpp +0 -24
- data/ext/boost/mpl/sizeof.hpp +0 -36
- data/ext/boost/mpl/sort.hpp +0 -27
- data/ext/boost/mpl/stable_partition.hpp +0 -75
- data/ext/boost/mpl/switch.hpp +0 -49
- data/ext/boost/mpl/tag.hpp +0 -52
- data/ext/boost/mpl/times.hpp +0 -21
- data/ext/boost/mpl/transform.hpp +0 -145
- data/ext/boost/mpl/transform_view.hpp +0 -46
- data/ext/boost/mpl/unique.hpp +0 -85
- data/ext/boost/mpl/unpack_args.hpp +0 -146
- data/ext/boost/mpl/upper_bound.hpp +0 -141
- data/ext/boost/mpl/value_type.hpp +0 -42
- data/ext/boost/mpl/value_type_fwd.hpp +0 -25
- data/ext/boost/mpl/vector.hpp +0 -57
- data/ext/boost/mpl/vector/aux_/O1_size.hpp +0 -56
- data/ext/boost/mpl/vector/aux_/at.hpp +0 -116
- data/ext/boost/mpl/vector/aux_/back.hpp +0 -59
- data/ext/boost/mpl/vector/aux_/begin_end.hpp +0 -49
- data/ext/boost/mpl/vector/aux_/clear.hpp +0 -55
- data/ext/boost/mpl/vector/aux_/empty.hpp +0 -68
- data/ext/boost/mpl/vector/aux_/front.hpp +0 -56
- data/ext/boost/mpl/vector/aux_/include_preprocessed.hpp +0 -55
- data/ext/boost/mpl/vector/aux_/item.hpp +0 -103
- data/ext/boost/mpl/vector/aux_/iterator.hpp +0 -130
- data/ext/boost/mpl/vector/aux_/numbered.hpp +0 -218
- data/ext/boost/mpl/vector/aux_/numbered_c.hpp +0 -77
- data/ext/boost/mpl/vector/aux_/pop_back.hpp +0 -40
- data/ext/boost/mpl/vector/aux_/pop_front.hpp +0 -40
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp +0 -1528
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp +0 -149
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp +0 -1804
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp +0 -195
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp +0 -2124
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp +0 -238
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp +0 -2444
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp +0 -281
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp +0 -2764
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp +0 -325
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp +0 -829
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp +0 -149
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp +0 -1144
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp +0 -195
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp +0 -1464
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp +0 -238
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp +0 -1784
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp +0 -281
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp +0 -2104
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp +0 -325
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp +0 -139
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp +0 -154
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp +0 -159
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp +0 -163
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp +0 -179
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp +0 -173
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp +0 -199
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp +0 -183
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp +0 -219
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp +0 -193
- data/ext/boost/mpl/vector/aux_/push_back.hpp +0 -40
- data/ext/boost/mpl/vector/aux_/push_front.hpp +0 -40
- data/ext/boost/mpl/vector/aux_/size.hpp +0 -49
- data/ext/boost/mpl/vector/aux_/tag.hpp +0 -32
- data/ext/boost/mpl/vector/aux_/vector0.hpp +0 -52
- data/ext/boost/mpl/vector/vector0.hpp +0 -34
- data/ext/boost/mpl/vector/vector0_c.hpp +0 -31
- data/ext/boost/mpl/vector/vector10.hpp +0 -45
- data/ext/boost/mpl/vector/vector10_c.hpp +0 -46
- data/ext/boost/mpl/vector/vector20.hpp +0 -45
- data/ext/boost/mpl/vector/vector20_c.hpp +0 -46
- data/ext/boost/mpl/vector/vector30.hpp +0 -45
- data/ext/boost/mpl/vector/vector30_c.hpp +0 -47
- data/ext/boost/mpl/vector/vector40.hpp +0 -45
- data/ext/boost/mpl/vector/vector40_c.hpp +0 -46
- data/ext/boost/mpl/vector/vector50.hpp +0 -45
- data/ext/boost/mpl/vector/vector50_c.hpp +0 -46
- data/ext/boost/mpl/vector_c.hpp +0 -60
- data/ext/boost/mpl/zip_view.hpp +0 -64
- data/ext/boost/optional/optional_io.hpp +0 -84
- data/ext/boost/preprocessor/arithmetic.hpp +0 -25
- data/ext/boost/preprocessor/arithmetic/detail/div_base.hpp +0 -61
- data/ext/boost/preprocessor/arithmetic/div.hpp +0 -39
- data/ext/boost/preprocessor/arithmetic/mod.hpp +0 -39
- data/ext/boost/preprocessor/arithmetic/mul.hpp +0 -53
- data/ext/boost/preprocessor/array.hpp +0 -27
- data/ext/boost/preprocessor/array/insert.hpp +0 -55
- data/ext/boost/preprocessor/array/pop_back.hpp +0 -37
- data/ext/boost/preprocessor/array/pop_front.hpp +0 -38
- data/ext/boost/preprocessor/array/push_back.hpp +0 -33
- data/ext/boost/preprocessor/array/push_front.hpp +0 -33
- data/ext/boost/preprocessor/array/remove.hpp +0 -54
- data/ext/boost/preprocessor/array/replace.hpp +0 -49
- data/ext/boost/preprocessor/array/reverse.hpp +0 -29
- data/ext/boost/preprocessor/assert_msg.hpp +0 -17
- data/ext/boost/preprocessor/comma.hpp +0 -17
- data/ext/boost/preprocessor/comparison.hpp +0 -24
- data/ext/boost/preprocessor/comparison/equal.hpp +0 -34
- data/ext/boost/preprocessor/comparison/greater.hpp +0 -38
- data/ext/boost/preprocessor/comparison/greater_equal.hpp +0 -38
- data/ext/boost/preprocessor/comparison/less.hpp +0 -46
- data/ext/boost/preprocessor/comparison/less_equal.hpp +0 -39
- data/ext/boost/preprocessor/comparison/not_equal.hpp +0 -814
- data/ext/boost/preprocessor/config/limits.hpp +0 -29
- data/ext/boost/preprocessor/control.hpp +0 -22
- data/ext/boost/preprocessor/control/deduce_d.hpp +0 -22
- data/ext/boost/preprocessor/control/detail/dmc/while.hpp +0 -536
- data/ext/boost/preprocessor/control/detail/edg/while.hpp +0 -534
- data/ext/boost/preprocessor/control/detail/msvc/while.hpp +0 -277
- data/ext/boost/preprocessor/control/expr_if.hpp +0 -30
- data/ext/boost/preprocessor/debug.hpp +0 -18
- data/ext/boost/preprocessor/debug/assert.hpp +0 -44
- data/ext/boost/preprocessor/debug/line.hpp +0 -35
- data/ext/boost/preprocessor/dec.hpp +0 -17
- data/ext/boost/preprocessor/detail/dmc/auto_rec.hpp +0 -286
- data/ext/boost/preprocessor/detail/is_nullary.hpp +0 -30
- data/ext/boost/preprocessor/detail/is_unary.hpp +0 -30
- data/ext/boost/preprocessor/detail/null.hpp +0 -17
- data/ext/boost/preprocessor/detail/split.hpp +0 -35
- data/ext/boost/preprocessor/enum_params_with_a_default.hpp +0 -17
- data/ext/boost/preprocessor/enum_params_with_defaults.hpp +0 -17
- data/ext/boost/preprocessor/enum_shifted.hpp +0 -17
- data/ext/boost/preprocessor/enum_shifted_params.hpp +0 -17
- data/ext/boost/preprocessor/expand.hpp +0 -17
- data/ext/boost/preprocessor/expr_if.hpp +0 -17
- data/ext/boost/preprocessor/facilities.hpp +0 -21
- data/ext/boost/preprocessor/facilities/apply.hpp +0 -34
- data/ext/boost/preprocessor/facilities/expand.hpp +0 -28
- data/ext/boost/preprocessor/facilities/intercept.hpp +0 -277
- data/ext/boost/preprocessor/facilities/is_1.hpp +0 -23
- data/ext/boost/preprocessor/facilities/is_empty.hpp +0 -43
- data/ext/boost/preprocessor/facilities/is_empty_or_1.hpp +0 -30
- data/ext/boost/preprocessor/for.hpp +0 -17
- data/ext/boost/preprocessor/if.hpp +0 -17
- data/ext/boost/preprocessor/iteration.hpp +0 -19
- data/ext/boost/preprocessor/iteration/detail/bounds/lower2.hpp +0 -99
- data/ext/boost/preprocessor/iteration/detail/bounds/lower3.hpp +0 -99
- data/ext/boost/preprocessor/iteration/detail/bounds/lower4.hpp +0 -99
- data/ext/boost/preprocessor/iteration/detail/bounds/lower5.hpp +0 -99
- data/ext/boost/preprocessor/iteration/detail/bounds/upper2.hpp +0 -99
- data/ext/boost/preprocessor/iteration/detail/bounds/upper3.hpp +0 -99
- data/ext/boost/preprocessor/iteration/detail/bounds/upper4.hpp +0 -99
- data/ext/boost/preprocessor/iteration/detail/bounds/upper5.hpp +0 -99
- data/ext/boost/preprocessor/iteration/detail/finish.hpp +0 -99
- data/ext/boost/preprocessor/iteration/detail/iter/forward2.hpp +0 -1338
- data/ext/boost/preprocessor/iteration/detail/iter/forward3.hpp +0 -1338
- data/ext/boost/preprocessor/iteration/detail/iter/forward4.hpp +0 -1338
- data/ext/boost/preprocessor/iteration/detail/iter/forward5.hpp +0 -1338
- data/ext/boost/preprocessor/iteration/detail/iter/reverse1.hpp +0 -1296
- data/ext/boost/preprocessor/iteration/detail/iter/reverse2.hpp +0 -1296
- data/ext/boost/preprocessor/iteration/detail/iter/reverse3.hpp +0 -1296
- data/ext/boost/preprocessor/iteration/detail/iter/reverse4.hpp +0 -1296
- data/ext/boost/preprocessor/iteration/detail/iter/reverse5.hpp +0 -1296
- data/ext/boost/preprocessor/iteration/detail/local.hpp +0 -812
- data/ext/boost/preprocessor/iteration/detail/rlocal.hpp +0 -782
- data/ext/boost/preprocessor/iteration/detail/self.hpp +0 -21
- data/ext/boost/preprocessor/iteration/detail/start.hpp +0 -99
- data/ext/boost/preprocessor/iteration/local.hpp +0 -26
- data/ext/boost/preprocessor/iteration/self.hpp +0 -19
- data/ext/boost/preprocessor/library.hpp +0 -34
- data/ext/boost/preprocessor/limits.hpp +0 -17
- data/ext/boost/preprocessor/list.hpp +0 -35
- data/ext/boost/preprocessor/list/at.hpp +0 -39
- data/ext/boost/preprocessor/list/cat.hpp +0 -42
- data/ext/boost/preprocessor/list/detail/dmc/fold_left.hpp +0 -279
- data/ext/boost/preprocessor/list/detail/edg/fold_left.hpp +0 -536
- data/ext/boost/preprocessor/list/detail/edg/fold_right.hpp +0 -794
- data/ext/boost/preprocessor/list/enum.hpp +0 -41
- data/ext/boost/preprocessor/list/filter.hpp +0 -54
- data/ext/boost/preprocessor/list/first_n.hpp +0 -58
- data/ext/boost/preprocessor/list/for_each.hpp +0 -49
- data/ext/boost/preprocessor/list/for_each_product.hpp +0 -141
- data/ext/boost/preprocessor/list/rest_n.hpp +0 -55
- data/ext/boost/preprocessor/list/size.hpp +0 -58
- data/ext/boost/preprocessor/list/to_tuple.hpp +0 -38
- data/ext/boost/preprocessor/logical.hpp +0 -29
- data/ext/boost/preprocessor/logical/bitnor.hpp +0 -38
- data/ext/boost/preprocessor/logical/bitor.hpp +0 -38
- data/ext/boost/preprocessor/logical/bitxor.hpp +0 -38
- data/ext/boost/preprocessor/logical/nor.hpp +0 -30
- data/ext/boost/preprocessor/logical/not.hpp +0 -30
- data/ext/boost/preprocessor/logical/or.hpp +0 -30
- data/ext/boost/preprocessor/logical/xor.hpp +0 -30
- data/ext/boost/preprocessor/max.hpp +0 -17
- data/ext/boost/preprocessor/min.hpp +0 -17
- data/ext/boost/preprocessor/punctuation.hpp +0 -20
- data/ext/boost/preprocessor/punctuation/paren.hpp +0 -23
- data/ext/boost/preprocessor/punctuation/paren_if.hpp +0 -38
- data/ext/boost/preprocessor/repeat_2nd.hpp +0 -17
- data/ext/boost/preprocessor/repeat_3rd.hpp +0 -17
- data/ext/boost/preprocessor/repeat_from_to.hpp +0 -17
- data/ext/boost/preprocessor/repeat_from_to_2nd.hpp +0 -17
- data/ext/boost/preprocessor/repeat_from_to_3rd.hpp +0 -17
- data/ext/boost/preprocessor/repetition.hpp +0 -32
- data/ext/boost/preprocessor/repetition/deduce_r.hpp +0 -22
- data/ext/boost/preprocessor/repetition/deduce_z.hpp +0 -22
- data/ext/boost/preprocessor/repetition/detail/dmc/for.hpp +0 -536
- data/ext/boost/preprocessor/repetition/detail/edg/for.hpp +0 -534
- data/ext/boost/preprocessor/repetition/detail/msvc/for.hpp +0 -277
- data/ext/boost/preprocessor/repetition/enum_params_with_a_default.hpp +0 -25
- data/ext/boost/preprocessor/repetition/enum_params_with_defaults.hpp +0 -24
- data/ext/boost/preprocessor/repetition/enum_shifted.hpp +0 -68
- data/ext/boost/preprocessor/repetition/enum_shifted_binary_params.hpp +0 -51
- data/ext/boost/preprocessor/repetition/enum_shifted_params.hpp +0 -44
- data/ext/boost/preprocessor/repetition/enum_trailing.hpp +0 -63
- data/ext/boost/preprocessor/repetition/enum_trailing_binary_params.hpp +0 -53
- data/ext/boost/preprocessor/repetition/enum_trailing_params.hpp +0 -38
- data/ext/boost/preprocessor/selection.hpp +0 -18
- data/ext/boost/preprocessor/selection/max.hpp +0 -39
- data/ext/boost/preprocessor/selection/min.hpp +0 -39
- data/ext/boost/preprocessor/seq.hpp +0 -41
- data/ext/boost/preprocessor/seq/cat.hpp +0 -48
- data/ext/boost/preprocessor/seq/detail/split.hpp +0 -284
- data/ext/boost/preprocessor/seq/filter.hpp +0 -54
- data/ext/boost/preprocessor/seq/first_n.hpp +0 -30
- data/ext/boost/preprocessor/seq/fold_left.hpp +0 -1070
- data/ext/boost/preprocessor/seq/fold_right.hpp +0 -288
- data/ext/boost/preprocessor/seq/for_each.hpp +0 -60
- data/ext/boost/preprocessor/seq/for_each_product.hpp +0 -126
- data/ext/boost/preprocessor/seq/insert.hpp +0 -28
- data/ext/boost/preprocessor/seq/pop_back.hpp +0 -29
- data/ext/boost/preprocessor/seq/pop_front.hpp +0 -27
- data/ext/boost/preprocessor/seq/push_back.hpp +0 -19
- data/ext/boost/preprocessor/seq/push_front.hpp +0 -19
- data/ext/boost/preprocessor/seq/remove.hpp +0 -29
- data/ext/boost/preprocessor/seq/replace.hpp +0 -29
- data/ext/boost/preprocessor/seq/rest_n.hpp +0 -30
- data/ext/boost/preprocessor/seq/reverse.hpp +0 -39
- data/ext/boost/preprocessor/seq/subseq.hpp +0 -28
- data/ext/boost/preprocessor/seq/to_array.hpp +0 -28
- data/ext/boost/preprocessor/seq/to_tuple.hpp +0 -27
- data/ext/boost/preprocessor/seq/transform.hpp +0 -48
- data/ext/boost/preprocessor/slot.hpp +0 -17
- data/ext/boost/preprocessor/slot/counter.hpp +0 -25
- data/ext/boost/preprocessor/slot/detail/counter.hpp +0 -269
- data/ext/boost/preprocessor/slot/detail/slot1.hpp +0 -267
- data/ext/boost/preprocessor/slot/detail/slot2.hpp +0 -267
- data/ext/boost/preprocessor/slot/detail/slot3.hpp +0 -267
- data/ext/boost/preprocessor/slot/detail/slot4.hpp +0 -267
- data/ext/boost/preprocessor/slot/detail/slot5.hpp +0 -267
- data/ext/boost/preprocessor/tuple.hpp +0 -24
- data/ext/boost/preprocessor/tuple/reverse.hpp +0 -62
- data/ext/boost/preprocessor/tuple/to_seq.hpp +0 -60
- data/ext/boost/preprocessor/while.hpp +0 -17
- data/ext/boost/preprocessor/wstringize.hpp +0 -29
- data/ext/boost/src/barrier.cpp +0 -42
- data/ext/boost/src/condition.cpp +0 -692
- data/ext/boost/src/exceptions.cpp +0 -147
- data/ext/boost/src/mutex.cpp +0 -561
- data/ext/boost/src/mutex.inl +0 -128
- data/ext/boost/src/once.cpp +0 -213
- data/ext/boost/src/recursive_mutex.cpp +0 -1040
- data/ext/boost/src/thread.cpp +0 -371
- data/ext/boost/src/timeconv.inl +0 -130
- data/ext/boost/src/tss.cpp +0 -251
- data/ext/boost/src/tss_hooks.cpp +0 -212
- data/ext/boost/src/tss_pe.cpp +0 -179
- data/ext/boost/src/xtime.cpp +0 -158
- data/ext/boost/thread/barrier.hpp +0 -44
- data/ext/boost/thread/detail/force_cast.hpp +0 -39
- data/ext/boost/thread/detail/lock.hpp +0 -209
- data/ext/boost/thread/detail/read_write_lock.hpp +0 -1106
- data/ext/boost/thread/detail/singleton.hpp +0 -59
- data/ext/boost/thread/detail/tss_hooks.hpp +0 -78
- data/ext/boost/type_traits/add_cv.hpp +0 -48
- data/ext/boost/type_traits/add_volatile.hpp +0 -47
- data/ext/boost/type_traits/aligned_storage.hpp +0 -13
- data/ext/boost/type_traits/alignment_traits.hpp +0 -15
- data/ext/boost/type_traits/arithmetic_traits.hpp +0 -20
- data/ext/boost/type_traits/array_traits.hpp +0 -15
- data/ext/boost/type_traits/cv_traits.hpp +0 -24
- data/ext/boost/type_traits/decay.hpp +0 -44
- data/ext/boost/type_traits/detail/is_function_ptr_tester.hpp +0 -654
- data/ext/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +0 -2759
- data/ext/boost/type_traits/detail/wrap.hpp +0 -18
- data/ext/boost/type_traits/extent.hpp +0 -134
- data/ext/boost/type_traits/has_nothrow_assign.hpp +0 -38
- data/ext/boost/type_traits/has_nothrow_constructor.hpp +0 -38
- data/ext/boost/type_traits/has_nothrow_destructor.hpp +0 -25
- data/ext/boost/type_traits/has_trivial_assign.hpp +0 -50
- data/ext/boost/type_traits/has_trivial_constructor.hpp +0 -42
- data/ext/boost/type_traits/has_trivial_destructor.hpp +0 -42
- data/ext/boost/type_traits/has_virtual_destructor.hpp +0 -25
- data/ext/boost/type_traits/is_base_and_derived.hpp +0 -223
- data/ext/boost/type_traits/is_base_of.hpp +0 -40
- data/ext/boost/type_traits/is_compound.hpp +0 -40
- data/ext/boost/type_traits/is_empty.hpp +0 -211
- data/ext/boost/type_traits/is_floating_point.hpp +0 -27
- data/ext/boost/type_traits/is_fundamental.hpp +0 -41
- data/ext/boost/type_traits/is_member_object_pointer.hpp +0 -46
- data/ext/boost/type_traits/is_object.hpp +0 -53
- data/ext/boost/type_traits/is_polymorphic.hpp +0 -102
- data/ext/boost/type_traits/is_signed.hpp +0 -117
- data/ext/boost/type_traits/is_stateless.hpp +0 -48
- data/ext/boost/type_traits/is_unsigned.hpp +0 -114
- data/ext/boost/type_traits/msvc/remove_all_extents.hpp +0 -47
- data/ext/boost/type_traits/msvc/remove_bounds.hpp +0 -43
- data/ext/boost/type_traits/msvc/remove_const.hpp +0 -143
- data/ext/boost/type_traits/msvc/remove_cv.hpp +0 -190
- data/ext/boost/type_traits/msvc/remove_extent.hpp +0 -43
- data/ext/boost/type_traits/msvc/remove_pointer.hpp +0 -42
- data/ext/boost/type_traits/msvc/remove_reference.hpp +0 -42
- data/ext/boost/type_traits/msvc/remove_volatile.hpp +0 -143
- data/ext/boost/type_traits/msvc/typeof.hpp +0 -50
- data/ext/boost/type_traits/object_traits.hpp +0 -33
- data/ext/boost/type_traits/rank.hpp +0 -81
- data/ext/boost/type_traits/reference_traits.hpp +0 -15
- data/ext/boost/type_traits/remove_all_extents.hpp +0 -48
- data/ext/boost/type_traits/remove_bounds.hpp +0 -48
- data/ext/boost/type_traits/remove_extent.hpp +0 -48
- data/ext/boost/type_traits/remove_volatile.hpp +0 -77
- data/ext/boost/type_traits/same_traits.hpp +0 -15
- data/ext/boost/type_traits/transform_traits.hpp +0 -21
- data/ext/boost/type_traits/transform_traits_spec.hpp +0 -14
- data/ext/boost/utility/in_place_factory.hpp +0 -58
- data/ext/boost/utility/result_of.hpp +0 -66
- data/ext/boost/utility/typed_in_place_factory.hpp +0 -57
- data/ext/boost/utility/value_init.hpp +0 -77
- data/lib/passenger/application_spawner.rb +0 -329
- data/lib/passenger/cgi_fixed.rb +0 -66
- data/lib/passenger/framework_spawner.rb +0 -351
- data/lib/passenger/request_handler.rb +0 -333
- data/lib/passenger/templates/apache_must_be_compiled_with_prefork_mpm.txt.erb +0 -8
- data/test/abstract_server_spec.rb +0 -17
- data/test/application_spawner_spec.rb +0 -80
- data/test/application_spec.rb +0 -25
- data/test/framework_spawner_spec.rb +0 -101
- data/test/message_channel_spec.rb +0 -171
- data/test/minimal_spawner_spec.rb +0 -19
- data/test/spawn_manager_spec.rb +0 -107
- data/test/spawn_server_spec.rb +0 -25
- data/test/spawner_error_handling_spec.rb +0 -35
- data/test/spawner_privilege_lowering_spec.rb +0 -72
- data/test/stub/broken-railsapp/config/environment.rb +0 -2
- data/test/stub/broken-railsapp2/config/environment.rb +0 -3
- data/test/stub/broken-railsapp3/config/environment.rb +0 -4
- data/test/stub/broken-railsapp4/config/environment.rb +0 -1
- data/test/stub/broken-railsapp5/config/environment.rb +0 -1
- data/test/stub/broken-railsapp5/vendor/rails/actionpack/lib/action_controller.rb +0 -0
- data/test/stub/broken-railsapp5/vendor/rails/activerecord/lib/active_record.rb +0 -0
- data/test/stub/broken-railsapp5/vendor/rails/railties/lib/initializer.rb +0 -9
- data/test/stub/mycook/app/controllers/welcome_controller.rb +0 -23
- data/test/stub/railsapp-without-version-spec/app/controllers/foo_controller.rb +0 -5
- data/test/stub/railsapp-without-version-spec/config/environment.rb +0 -58
- data/test/support/apache2_config_writer.rb +0 -44
data/doc/Users guide.html
CHANGED
@@ -375,11 +375,11 @@ function generateToc(toclevels) {
|
|
375
375
|
}
|
376
376
|
/*]]>*/
|
377
377
|
</script>
|
378
|
-
<title>Passenger users guide</title>
|
378
|
+
<title>Phusion Passenger users guide</title>
|
379
379
|
</head>
|
380
380
|
<body>
|
381
381
|
<div id="header">
|
382
|
-
<h1>Passenger users guide</h1>
|
382
|
+
<h1>Phusion Passenger users guide</h1>
|
383
383
|
<div id="toc">
|
384
384
|
<div id="toctitle">Table of Contents</div>
|
385
385
|
<noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
|
@@ -392,19 +392,20 @@ function generateToc(toclevels) {
|
|
392
392
|
<img src="images/phusion_banner.png" alt="images/phusion_banner.png" />
|
393
393
|
</a>
|
394
394
|
</span></p></div>
|
395
|
-
<div class="para"><p>Passenger is an Apache module, which makes deploying Ruby
|
396
|
-
on Apache a breeze. It follows the usual Ruby on Rails
|
397
|
-
"Don't-Repeat-Yourself" and ease of setup
|
395
|
+
<div class="para"><p>Phusion Passenger is an Apache module, which makes deploying Ruby and Ruby on
|
396
|
+
Rails applications on Apache a breeze. It follows the usual Ruby on Rails
|
397
|
+
conventions, such as "Don't-Repeat-Yourself" and ease of setup, while at the
|
398
|
+
same time providing enough flexibility.</p></div>
|
398
399
|
<div class="para"><p>This users guide will teach you:</p></div>
|
399
400
|
<div class="ilist"><ul>
|
400
401
|
<li>
|
401
402
|
<p>
|
402
|
-
How to install Passenger.
|
403
|
+
How to install Phusion Passenger.
|
403
404
|
</p>
|
404
405
|
</li>
|
405
406
|
<li>
|
406
407
|
<p>
|
407
|
-
How to configure Passenger.
|
408
|
+
How to configure Phusion Passenger.
|
408
409
|
</p>
|
409
410
|
</li>
|
410
411
|
<li>
|
@@ -414,6 +415,11 @@ How to deploy a Ruby on Rails application.
|
|
414
415
|
</li>
|
415
416
|
<li>
|
416
417
|
<p>
|
418
|
+
How to deploy a <a href="http://rack.rubyforge.org/">Rack</a>-based Ruby application.
|
419
|
+
</p>
|
420
|
+
</li>
|
421
|
+
<li>
|
422
|
+
<p>
|
417
423
|
How to solve common problems.
|
418
424
|
</p>
|
419
425
|
</li>
|
@@ -424,9 +430,9 @@ using the commandline.</p></div>
|
|
424
430
|
</div>
|
425
431
|
<h2 id="_supported_operating_systems">1. Supported operating systems</h2>
|
426
432
|
<div class="sectionbody">
|
427
|
-
<div class="para"><p>Passenger works on any POSIX-compliant operating system. In other
|
428
|
-
practically any operating system on earth, except Microsoft Windows.</p></div>
|
429
|
-
<div class="para"><p>Passenger has been tested on:</p></div>
|
433
|
+
<div class="para"><p>Phusion Passenger works on any POSIX-compliant operating system. In other
|
434
|
+
words: practically any operating system on earth, except Microsoft Windows.</p></div>
|
435
|
+
<div class="para"><p>Phusion Passenger has been tested on:</p></div>
|
430
436
|
<div class="ilist"><ul>
|
431
437
|
<li>
|
432
438
|
<p>
|
@@ -484,39 +490,46 @@ MacOS X Leopard (x86)
|
|
484
490
|
</p>
|
485
491
|
</li>
|
486
492
|
</ul></div>
|
487
|
-
<div class="para"><p>Other operating systems have not been tested, but Passenger will probably
|
488
|
-
fine on them. Please
|
493
|
+
<div class="para"><p>Other operating systems have not been tested, but Phusion Passenger will probably
|
494
|
+
work fine on them. Please
|
489
495
|
<a href="http://code.google.com/p/phusion-passenger/issues/list">report a bug</a>
|
490
496
|
or
|
491
497
|
<a href="http://groups.google.com/group/phusion-passenger">join our discussion list</a>
|
492
498
|
if it doesn't.</p></div>
|
493
499
|
</div>
|
494
|
-
<h2 id="
|
500
|
+
<h2 id="_installing_phusion_passenger">2. Installing Phusion Passenger</h2>
|
495
501
|
<div class="sectionbody">
|
496
502
|
<h3 id="_generic_installation_instructions">2.1. Generic installation instructions</h3><div style="clear:left"></div>
|
497
503
|
<h4 id="install_passenger">2.1.1. Overview of download and installation methods</h4>
|
498
|
-
<div class="para"><p>There are two ways to install Passenger:</p></div>
|
504
|
+
<div class="para"><p>There are two ways to install Phusion Passenger:</p></div>
|
499
505
|
<div class="olist"><ol>
|
500
506
|
<li>
|
501
507
|
<p>
|
502
|
-
By installing the Passenger gem, as instructed on the
|
503
|
-
on the
|
508
|
+
By installing the Phusion Passenger gem, as instructed on the
|
509
|
+
<a href="http://www.modrails.com/install.html">“Install” page on the Phusion
|
510
|
+
Passenger website</a>.
|
511
|
+
</p>
|
512
|
+
</li>
|
513
|
+
<li>
|
514
|
+
<p>
|
515
|
+
By downloading a native Linux package (e.g. Debian package) from the
|
516
|
+
Phusion Passenger website.
|
504
517
|
</p>
|
505
518
|
</li>
|
506
519
|
<li>
|
507
520
|
<p>
|
508
|
-
By downloading the source tarball from the Passenger website
|
521
|
+
By downloading the source tarball from the Phusion Passenger website
|
509
522
|
(<em>passenger-x.x.x.tar.gz</em>).
|
510
523
|
</p>
|
511
524
|
</li>
|
512
525
|
</ol></div>
|
513
|
-
<div class="para"><p>In our opinion, installing the gem is easiest.</p></div>
|
514
|
-
<div class="para"><p>Passenger provides an easy-to-use installer for installing the
|
515
|
-
Apache module (<em>mod_passenger</em>).</p></div>
|
526
|
+
<div class="para"><p>In our opinion, installing the gem or the native package is easiest.</p></div>
|
527
|
+
<div class="para"><p>Phusion Passenger provides an easy-to-use installer for installing the Phusion
|
528
|
+
Passenger Apache module (<em>mod_passenger</em>).</p></div>
|
516
529
|
<div class="admonitionblock">
|
517
530
|
<table><tr>
|
518
531
|
<td class="icon">
|
519
|
-
<img src="./images/icons/
|
532
|
+
<img src="./images/icons/tip.png" alt="Tip" />
|
520
533
|
</td>
|
521
534
|
<td class="content">You might have to run the installation commands in the following sections
|
522
535
|
as <em>root</em>. If the installer fails because of permission errors, it will tell
|
@@ -524,13 +537,23 @@ you.</td>
|
|
524
537
|
</tr></table>
|
525
538
|
</div>
|
526
539
|
<h4 id="specifying_correct_apache_install">2.1.2. Specifying the correct Apache installation</h4>
|
540
|
+
<div class="admonitionblock">
|
541
|
+
<table><tr>
|
542
|
+
<td class="icon">
|
543
|
+
<img src="./images/icons/note.png" alt="Note" />
|
544
|
+
</td>
|
545
|
+
<td class="content">You can skip this section if you've installed Phusion Passenger via a
|
546
|
+
native Linux package, because no compilation is necessary.</td>
|
547
|
+
</tr></table>
|
548
|
+
</div>
|
527
549
|
<div class="para"><p>If your system has multiple Apache installations (this is likely the case on
|
528
|
-
MacOS X), then you will need to tell the Passenger installer which one
|
529
|
-
If you only have one Apache installation (the case on most Linux
|
530
|
-
you can skip this section because Passenger will
|
550
|
+
MacOS X), then you will need to tell the Phusion Passenger installer which one
|
551
|
+
to use. If you only have one Apache installation (the case on most Linux
|
552
|
+
systems), then you can skip this section because Phusion Passenger will
|
553
|
+
automatically detect it.</p></div>
|
531
554
|
<div class="para"><p>Every Apache installation has its own <tt>apxs</tt> program. You will need to tell
|
532
|
-
Passenger the location of this program, by specifying the <tt>APXS2</tt>
|
533
|
-
variable. Suppose that you want to use the Apache installation in
|
555
|
+
Phusion Passenger the location of this program, by specifying the <tt>APXS2</tt>
|
556
|
+
environment variable. Suppose that you want to use the Apache installation in
|
534
557
|
<em>/opt/apache2</em>. Then, assuming that the corresponding <tt>apxs</tt> program is located
|
535
558
|
<em>/opt/apache2/bin/apxs</em>, type:</p></div>
|
536
559
|
<div class="listingblock">
|
@@ -547,10 +570,19 @@ be located in the <tt>sbin</tt> folder instead of the <tt>bin</tt> folder.</td>
|
|
547
570
|
</tr></table>
|
548
571
|
</div>
|
549
572
|
<h4 id="specifying_ruby_installation">2.1.3. Specifying the correct Ruby installation</h4>
|
573
|
+
<div class="admonitionblock">
|
574
|
+
<table><tr>
|
575
|
+
<td class="icon">
|
576
|
+
<img src="./images/icons/note.png" alt="Note" />
|
577
|
+
</td>
|
578
|
+
<td class="content">You can skip this section if you've installed Phusion Passenger via a
|
579
|
+
native Linux package, because no compilation is necessary.</td>
|
580
|
+
</tr></table>
|
581
|
+
</div>
|
550
582
|
<div class="para"><p>If your system has multiple Ruby installations (this is likely the case on
|
551
|
-
MacOS X), then you will need to tell the Passenger installer which one
|
552
|
-
If you only have one Ruby installation (the case on most Linux systems),
|
553
|
-
you can skip this section because Passenger will automatically detect it.</p></div>
|
583
|
+
MacOS X), then you will need to tell the Phusion Passenger installer which one
|
584
|
+
to use. If you only have one Ruby installation (the case on most Linux systems),
|
585
|
+
then you can skip this section because Phusion Passenger will automatically detect it.</p></div>
|
554
586
|
<div class="para"><p>To specify the Ruby installation, prepend your Ruby installation's <tt>bin</tt>
|
555
587
|
directory to the <tt>PATH</tt> environment variable. For example, if you have the
|
556
588
|
following Ruby installations:</p></div>
|
@@ -572,7 +604,7 @@ following Ruby installations:</p></div>
|
|
572
604
|
<pre><tt>export PATH=/opt/myruby/bin:$PATH</tt></pre>
|
573
605
|
</div></div>
|
574
606
|
<h4 id="_installing_via_the_gem">2.1.4. Installing via the gem</h4>
|
575
|
-
<div class="para"><p>Please install the gem and then run the Passenger installer, by typing the
|
607
|
+
<div class="para"><p>Please install the gem and then run the Phusion Passenger installer, by typing the
|
576
608
|
following commands:</p></div>
|
577
609
|
<div class="listingblock">
|
578
610
|
<div class="content">
|
@@ -580,10 +612,32 @@ following commands:</p></div>
|
|
580
612
|
passenger-install-apache2-module</tt></pre>
|
581
613
|
</div></div>
|
582
614
|
<div class="para"><p>Please follow the instructions given by the installer.</p></div>
|
583
|
-
<h4 id="
|
584
|
-
<div class="para"><p>
|
615
|
+
<h4 id="_installing_via_a_native_linux_package">2.1.5. Installing via a native Linux package</h4>
|
616
|
+
<div class="para"><p>Please install the native Linux package, e.g.:</p></div>
|
617
|
+
<div class="listingblock">
|
618
|
+
<div class="content">
|
619
|
+
<pre><tt>gdebi passenger_x.x.x-i386.deb</tt></pre>
|
620
|
+
</div></div>
|
621
|
+
<div class="para"><p>Next, you'll need to configure Apache. Run the "installer", as it will tell you
|
622
|
+
the correct configuration options for Apache:</p></div>
|
623
|
+
<div class="listingblock">
|
624
|
+
<div class="content">
|
625
|
+
<pre><tt>passenger-install-apache2-module</tt></pre>
|
626
|
+
</div></div>
|
627
|
+
<div class="admonitionblock">
|
628
|
+
<table><tr>
|
629
|
+
<td class="icon">
|
630
|
+
<img src="./images/icons/note.png" alt="Note" />
|
631
|
+
</td>
|
632
|
+
<td class="content">The installer doesn't actually install anything because it will automatically
|
633
|
+
detect that Phusion Passenger has already been installed. The only thing the
|
634
|
+
installer will do in this case, is showing the correct Apache configurations.</td>
|
635
|
+
</tr></table>
|
636
|
+
</div>
|
637
|
+
<h4 id="_installing_via_the_source_tarball">2.1.6. Installing via the source tarball</h4>
|
638
|
+
<div class="para"><p>Extract the tarball to whatever location you prefer. The Phusion Passenger files
|
585
639
|
are to reside in that location permanently. For example, if you would like
|
586
|
-
Passenger to reside in <tt>/opt/passenger-x.x.x</tt>:</p></div>
|
640
|
+
Phusion Passenger to reside in <tt>/opt/passenger-x.x.x</tt>:</p></div>
|
587
641
|
<div class="listingblock">
|
588
642
|
<div class="content">
|
589
643
|
<pre><tt>cd /opt
|
@@ -610,12 +664,12 @@ installation. Furthermore, the <em>passenger-x.x.x</em> folder must be accessibl
|
|
610
664
|
<a href="http://benr75.com/articles/2008/04/12/setup-mod_rails-phusion-mac-os-x-leopard">tutorial
|
611
665
|
on installing Phusion Passenger on OS X</a>.</p></div>
|
612
666
|
<h4 id="_ubuntu_linux">2.2.2. Ubuntu Linux</h4>
|
613
|
-
<div class="para"><p>Ben Hughes has written an <a href="http://www.railsgarden.com/2008/04/12/configurating-passenger-mod_rails-on-slicehost-with-ubuntu-710/">article on installing Passenger on Ubuntu</a>.</p></div>
|
667
|
+
<div class="para"><p>Ben Hughes has written an <a href="http://www.railsgarden.com/2008/04/12/configurating-passenger-mod_rails-on-slicehost-with-ubuntu-710/">article on installing Phusion Passenger on Ubuntu</a>.</p></div>
|
614
668
|
</div>
|
615
669
|
<h2 id="_deploying_a_ruby_on_rails_application">3. Deploying a Ruby on Rails application</h2>
|
616
670
|
<div class="sectionbody">
|
617
671
|
<div class="para"><p>Suppose you have a Ruby on Rails application in <em>/webapps/mycook</em>, and you own
|
618
|
-
the domain <em>www.mycook.com</em>. You can either deploy your application
|
672
|
+
the domain <em>www.mycook.com</em>. You can either deploy your application to the
|
619
673
|
virtual host's root (i.e. the application will be accessible from the root URL,
|
620
674
|
<em>http://www.mycook.com/</em>), or in a sub URI (i.e. the application will be
|
621
675
|
accessible from a sub URL, such as <em>http://www.mycook.com/railsapplication</em>).</p></div>
|
@@ -641,7 +695,7 @@ For example:</p></div>
|
|
641
695
|
</VirtualHost></tt></pre>
|
642
696
|
</div></div>
|
643
697
|
<div class="para"><p>Then restart Apache. The application has now been deployed.</p></div>
|
644
|
-
<h3 id="
|
698
|
+
<h3 id="deploying_rails_to_sub_uri">3.2. Deploying to a sub URI</h3><div style="clear:left"></div>
|
645
699
|
<div class="para"><p>Suppose that you already have a virtual host:</p></div>
|
646
700
|
<div class="listingblock">
|
647
701
|
<div class="content">
|
@@ -658,7 +712,7 @@ folder to a directory in the document root. For example:</p></div>
|
|
658
712
|
<div class="content">
|
659
713
|
<pre><tt>ln -s /webapps/mycook/public /websites/phusion/rails</tt></pre>
|
660
714
|
</div></div>
|
661
|
-
<div class="para"><p>Next, add a <
|
715
|
+
<div class="para"><p>Next, add a <a href="#RailsBaseURI">RailsBaseURI</a> option to the virtual host configuration:</p></div>
|
662
716
|
<div class="listingblock">
|
663
717
|
<div class="content">
|
664
718
|
<pre><tt><VirtualHost *:80>
|
@@ -668,6 +722,26 @@ folder to a directory in the document root. For example:</p></div>
|
|
668
722
|
</VirtualHost></tt></pre>
|
669
723
|
</div></div>
|
670
724
|
<div class="para"><p>Then restart Apache. The application has now been deployed.</p></div>
|
725
|
+
<div class="admonitionblock">
|
726
|
+
<table><tr>
|
727
|
+
<td class="icon">
|
728
|
+
<img src="./images/icons/tip.png" alt="Tip" />
|
729
|
+
</td>
|
730
|
+
<td class="content">
|
731
|
+
<div class="para"><p>You can deploy multiple Rails applications under a virtual host, by specifying
|
732
|
+
<a href="#RailsBaseURI">RailsBaseURI</a> multiple times. For example:</p></div>
|
733
|
+
<div class="listingblock">
|
734
|
+
<div class="content">
|
735
|
+
<pre><tt><VirtualHost *:80>
|
736
|
+
....
|
737
|
+
RailsBaseURI /app1
|
738
|
+
RailsBaseURI /app2
|
739
|
+
RailsBaseURI /app3
|
740
|
+
</VirtualHost></tt></pre>
|
741
|
+
</div></div>
|
742
|
+
</td>
|
743
|
+
</tr></table>
|
744
|
+
</div>
|
671
745
|
<h3 id="_redeploying_restarting_the_ruby_on_rails_application">3.3. Redeploying (restarting the Ruby on Rails application)</h3><div style="clear:left"></div>
|
672
746
|
<div class="para"><p>Deploying a new version of a Ruby on Rails application is as simple as
|
673
747
|
re-uploading the application files, and restarting the application.</p></div>
|
@@ -681,8 +755,8 @@ By restarting Apache.
|
|
681
755
|
<li>
|
682
756
|
<p>
|
683
757
|
By creating or modifying the file <em>tmp/restart.txt</em> in the Rails
|
684
|
-
application's root folder. Passenger will automatically
|
685
|
-
application.
|
758
|
+
application's root folder. Phusion Passenger will automatically
|
759
|
+
restart the application.
|
686
760
|
</p>
|
687
761
|
</li>
|
688
762
|
</ol></div>
|
@@ -692,202 +766,518 @@ command line:</p></div>
|
|
692
766
|
<div class="content">
|
693
767
|
<pre><tt>touch /webapps/mycook/tmp/restart.txt</tt></pre>
|
694
768
|
</div></div>
|
769
|
+
<h3 id="_migrations">3.4. Migrations</h3><div style="clear:left"></div>
|
770
|
+
<div class="para"><p>Phusion Passenger is not related to Ruby on Rails migrations in any way. To
|
771
|
+
run migrations on your deployment server, please login to your deployment
|
772
|
+
server (e.g. with <em>ssh</em>) and type <tt>rake db:migrate RAILS_ENV=production</tt> in
|
773
|
+
a shell console, just like one would normally run migrations.</p></div>
|
774
|
+
<h3 id="_capistrano_integration">3.5. Capistrano integration</h3><div style="clear:left"></div>
|
775
|
+
<div class="para"><p>See <a href="#capistrano">Capistrano recipe</a>.</p></div>
|
695
776
|
</div>
|
696
|
-
<h2 id="
|
777
|
+
<h2 id="_deploying_a_rack_based_ruby_application">4. Deploying a Rack-based Ruby application</h2>
|
697
778
|
<div class="sectionbody">
|
698
|
-
<div class="para"><p>
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
<
|
704
|
-
|
705
|
-
</dt>
|
706
|
-
<dd>
|
779
|
+
<div class="para"><p>Phusion Passenger supports arbitrary Ruby web applications that follow the
|
780
|
+
<a href="http://rack.rubyforge.org/">Rack</a> interface.</p></div>
|
781
|
+
<div class="para"><p>Phusion Passenger assumes that Rack application directories have a certain layout.
|
782
|
+
Suppose that you have a Rack application in <em>/webapps/rackapp</em>. Then that
|
783
|
+
folder must contain at least two entries:</p></div>
|
784
|
+
<div class="ilist"><ul>
|
785
|
+
<li>
|
707
786
|
<p>
|
708
|
-
|
709
|
-
|
710
|
-
and should usually not be changed manually.
|
787
|
+
<em>config.ru</em>, a Rackup file for starting the Rack application. This file must contain
|
788
|
+
the complete logic for initializing the application.
|
711
789
|
</p>
|
712
|
-
|
713
|
-
|
714
|
-
<tt>passenger-spawn-server</tt> in <tt>$PATH</tt>.</p></div>
|
715
|
-
</dd>
|
716
|
-
<dt>
|
717
|
-
RailsBaseURI <uri>
|
718
|
-
</dt>
|
719
|
-
<dd>
|
790
|
+
</li>
|
791
|
+
<li>
|
720
792
|
<p>
|
721
|
-
|
722
|
-
<a href="#deploying_to_sub_uri">Deploying to a sub URI</a> for an example.
|
793
|
+
<em>public/</em>, a folder containing public static web assets, like images and stylesheets.
|
723
794
|
</p>
|
724
|
-
|
725
|
-
|
726
|
-
</dd>
|
727
|
-
<dt>
|
728
|
-
RailsAutoDetect <on|off>
|
729
|
-
</dt>
|
730
|
-
<dd>
|
795
|
+
</li>
|
796
|
+
<li>
|
731
797
|
<p>
|
732
|
-
|
733
|
-
|
798
|
+
<em>tmp/</em>, used for <em>restart.txt</em> (our application restart mechanism). This will
|
799
|
+
be explained in a following subsection.
|
734
800
|
</p>
|
735
|
-
|
736
|
-
|
737
|
-
<div class="para"><p>
|
801
|
+
</li>
|
802
|
+
</ul></div>
|
803
|
+
<div class="para"><p>So <em>/webapps/rackapp</em> must, at minimum, look like this:</p></div>
|
738
804
|
<div class="listingblock">
|
739
805
|
<div class="content">
|
740
|
-
<pre><tt
|
741
|
-
|
742
|
-
|
743
|
-
|
806
|
+
<pre><tt>/webapps/rackapp
|
807
|
+
|
|
808
|
+
+-- config.ru
|
809
|
+
|
|
810
|
+
+-- public/
|
811
|
+
|
|
812
|
+
+-- tmp/</tt></pre>
|
813
|
+
</div></div>
|
814
|
+
<div class="para"><p>Suppose you own the domain <em>www.rackapp.com</em>. You can either deploy your application
|
815
|
+
to the virtual host's root (i.e. the application will be accessible from the root URL,
|
816
|
+
<em>http://www.rackapp.com/</em>), or in a sub URI (i.e. the application will be
|
817
|
+
accessible from a sub URL, such as <em>http://www.rackapp.com/rackapp</em>).</p></div>
|
818
|
+
<div class="admonitionblock">
|
819
|
+
<table><tr>
|
820
|
+
<td class="icon">
|
821
|
+
<img src="./images/icons/note.png" alt="Note" />
|
822
|
+
</td>
|
823
|
+
<td class="content">The default <tt>RACK_ENV</tt> environment in which deployed Rack applications
|
824
|
+
are run, is “production”. You can change this by changing the
|
825
|
+
<a href="#rack_env"><em>RackEnv</em></a> configuration option.</td>
|
826
|
+
</tr></table>
|
827
|
+
</div>
|
828
|
+
<h3 id="_tutorial_example_writing_and_deploying_a_hello_world_rack_application">4.1. Tutorial/example: writing and deploying a Hello World Rack application</h3><div style="clear:left"></div>
|
829
|
+
<div class="para"><p>First we create a Phusion Passenger-compliant Rack directory structure:</p></div>
|
830
|
+
<div class="listingblock">
|
831
|
+
<div class="content">
|
832
|
+
<pre><tt>$ mkdir /webapps/rack_example
|
833
|
+
$ mkdir /webapps/rack_example/public
|
834
|
+
$ mkdir /webapps/rack_example/tmp</tt></pre>
|
835
|
+
</div></div>
|
836
|
+
<div class="para"><p>Next, we write a minimal "hello world" Rack application:</p></div>
|
837
|
+
<div class="listingblock">
|
838
|
+
<div class="content">
|
839
|
+
<pre><tt>$ cd /webapps/rack_example
|
840
|
+
$ some_awesome_editor config.ru
|
841
|
+
...type in some source code...
|
842
|
+
$ cat config.ru
|
843
|
+
app = proc do |env|
|
844
|
+
return [200, { "Content-Type" => "text/html" }, "hello <b>world</b>"]
|
845
|
+
end
|
846
|
+
run app</tt></pre>
|
847
|
+
</div></div>
|
848
|
+
<div class="para"><p>Finally, we deploy it by adding the following configuration options to
|
849
|
+
the Apache configuration file:</p></div>
|
850
|
+
<div class="listingblock">
|
851
|
+
<div class="content">
|
852
|
+
<pre><tt><VirtualHost *:80>
|
853
|
+
ServerName www.rackexample.com
|
854
|
+
DocumentRoot /webapps/rack_example/public
|
744
855
|
</VirtualHost></tt></pre>
|
745
856
|
</div></div>
|
746
|
-
<div class="para"><p>
|
747
|
-
the <em
|
748
|
-
|
749
|
-
<div class="para"><p>
|
750
|
-
|
857
|
+
<div class="para"><p>And we're done! After an Apache restart, the above Rack application will be available
|
858
|
+
under the URL <em>http://www.rackexample.com/</em>.</p></div>
|
859
|
+
<h3 id="_deploying_to_a_virtual_host_s_root_2">4.2. Deploying to a virtual host's root</h3><div style="clear:left"></div>
|
860
|
+
<div class="para"><p>Add a virtual host entry to your Apache configuration file. The virtual host's
|
861
|
+
document root must point to your Rack application's <em>public</em> folder.
|
862
|
+
For example:</p></div>
|
751
863
|
<div class="listingblock">
|
752
864
|
<div class="content">
|
753
|
-
<pre><tt
|
754
|
-
|
755
|
-
|
756
|
-
DocumentRoot /webapps/mycook/public
|
757
|
-
RailsBaseURI /
|
865
|
+
<pre><tt><VirtualHost *:80>
|
866
|
+
ServerName www.rackapp.com
|
867
|
+
DocumentRoot /webapps/rackapp/public
|
758
868
|
</VirtualHost></tt></pre>
|
759
869
|
</div></div>
|
760
|
-
|
761
|
-
</
|
762
|
-
<div class="
|
763
|
-
<
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
<div
|
772
|
-
|
773
|
-
|
774
|
-
<
|
775
|
-
|
776
|
-
</
|
777
|
-
|
778
|
-
<p>
|
779
|
-
|
780
|
-
|
781
|
-
<
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
</dt>
|
789
|
-
<dd>
|
790
|
-
<p>
|
791
|
-
This option allows one to specify the default <tt>RAILS_ENV</tt> value.
|
792
|
-
</p>
|
793
|
-
<div class="para"><p>This option may only occur once, in the global server configuration.
|
794
|
-
The default is <em>production</em>.</p></div>
|
870
|
+
<div class="para"><p>Then restart Apache. The application has now been deployed.</p></div>
|
871
|
+
<h3 id="deploying_rack_to_sub_uri">4.3. Deploying to a sub URI</h3><div style="clear:left"></div>
|
872
|
+
<div class="para"><p>Suppose that you already have a virtual host:</p></div>
|
873
|
+
<div class="listingblock">
|
874
|
+
<div class="content">
|
875
|
+
<pre><tt><VirtualHost *:80>
|
876
|
+
ServerName www.phusion.nl
|
877
|
+
DocumentRoot /websites/phusion
|
878
|
+
</VirtualHost></tt></pre>
|
879
|
+
</div></div>
|
880
|
+
<div class="para"><p>And you want your Rack application to be accessible from the URL
|
881
|
+
<em>http://www.phusion.nl/rack</em>.</p></div>
|
882
|
+
<div class="para"><p>To do this, make a symlink from your Rack application's <em>public</em>
|
883
|
+
folder to a directory in the document root. For example:</p></div>
|
884
|
+
<div class="listingblock">
|
885
|
+
<div class="content">
|
886
|
+
<pre><tt>ln -s /webapps/rackapp/public /websites/phusion/rack</tt></pre>
|
887
|
+
</div></div>
|
888
|
+
<div class="para"><p>Next, add a <a href="#RackBaseURI">RackBaseURI</a> option to the virtual host configuration:</p></div>
|
889
|
+
<div class="listingblock">
|
890
|
+
<div class="content">
|
891
|
+
<pre><tt><VirtualHost *:80>
|
892
|
+
ServerName www.phusion.nl
|
893
|
+
DocumentRoot /websites/phusion
|
894
|
+
RackBaseURI /rack # This line has been added.
|
895
|
+
</VirtualHost></tt></pre>
|
896
|
+
</div></div>
|
897
|
+
<div class="para"><p>Then restart Apache. The application has now been deployed.</p></div>
|
795
898
|
<div class="admonitionblock">
|
796
899
|
<table><tr>
|
797
900
|
<td class="icon">
|
798
901
|
<img src="./images/icons/tip.png" alt="Tip" />
|
799
902
|
</td>
|
800
|
-
<td class="content">
|
801
|
-
|
802
|
-
|
803
|
-
<
|
903
|
+
<td class="content">
|
904
|
+
<div class="para"><p>You can deploy multiple Rack applications under a virtual host, by specifying
|
905
|
+
<a href="#RackBaseURI">RackBaseURI</a> multiple times. For example:</p></div>
|
906
|
+
<div class="listingblock">
|
907
|
+
<div class="content">
|
908
|
+
<pre><tt><VirtualHost *:80>
|
909
|
+
....
|
910
|
+
RackBaseURI /app1
|
911
|
+
RackBaseURI /app2
|
912
|
+
RackBaseURI /app3
|
913
|
+
</VirtualHost></tt></pre>
|
914
|
+
</div></div>
|
915
|
+
</td>
|
804
916
|
</tr></table>
|
805
917
|
</div>
|
806
|
-
</
|
807
|
-
<
|
808
|
-
|
809
|
-
|
810
|
-
<
|
918
|
+
<h3 id="_redeploying_restarting_the_rack_application">4.4. Redeploying (restarting the Rack application)</h3><div style="clear:left"></div>
|
919
|
+
<div class="para"><p>Deploying a new version of a Rack application is as simple as
|
920
|
+
re-uploading the application files, and restarting the application.</p></div>
|
921
|
+
<div class="para"><p>There are two ways to restart the application:</p></div>
|
922
|
+
<div class="olist"><ol>
|
923
|
+
<li>
|
811
924
|
<p>
|
812
|
-
|
813
|
-
be simultaneously active. A larger number results in higher memory usage,
|
814
|
-
but improved ability to handle concurrent HTTP clients.
|
925
|
+
By restarting Apache.
|
815
926
|
</p>
|
927
|
+
</li>
|
928
|
+
<li>
|
929
|
+
<p>
|
930
|
+
By creating or modifying the file <em>tmp/restart.txt</em> in the Rack
|
931
|
+
application's root folder. Phusion Passenger will automatically restart the
|
932
|
+
application.
|
933
|
+
</p>
|
934
|
+
</li>
|
935
|
+
</ol></div>
|
936
|
+
<div class="para"><p>For example, to restart our example application, we type this in the
|
937
|
+
command line:</p></div>
|
938
|
+
<div class="listingblock">
|
939
|
+
<div class="content">
|
940
|
+
<pre><tt>touch /webapps/rackapp/tmp/restart.txt</tt></pre>
|
941
|
+
</div></div>
|
942
|
+
<h3 id="_rackup_specifications_for_various_web_frameworks">4.5. Rackup specifications for various web frameworks</h3><div style="clear:left"></div>
|
943
|
+
<div class="para"><p>This subsection shows example <em>config.ru</em> files for various web frameworks.</p></div>
|
944
|
+
<h4 id="_camping">4.5.1. Camping</h4>
|
945
|
+
<div class="listingblock">
|
946
|
+
<div class="content">
|
947
|
+
<pre><tt>require 'rubygems'
|
948
|
+
require 'rack'
|
949
|
+
require 'camping'
|
950
|
+
|
951
|
+
##### Begin Camping application
|
952
|
+
Camping.goes :Blog
|
953
|
+
|
954
|
+
...your application code here...
|
955
|
+
##### End Camping application
|
956
|
+
|
957
|
+
run Rack::Adapter::Camping.new(Blog)</tt></pre>
|
958
|
+
</div></div>
|
959
|
+
<div class="para"><p>For Camping versions 2.0 and up, using <tt>run Blog</tt> as the final line will do.</p></div>
|
960
|
+
<h4 id="_halcyon">4.5.2. Halcyon</h4>
|
961
|
+
<div class="listingblock">
|
962
|
+
<div class="content">
|
963
|
+
<pre><tt>require 'rubygems'
|
964
|
+
require 'halcyon'
|
965
|
+
$LOAD_PATH.unshift(Halcyon.root / 'lib')
|
966
|
+
Halcyon::Runner.load_config Halcyon.root/'config'/'config.yml'
|
967
|
+
run Halcyon::Runner.new</tt></pre>
|
968
|
+
</div></div>
|
969
|
+
<h4 id="_mack">4.5.3. Mack</h4>
|
970
|
+
<div class="listingblock">
|
971
|
+
<div class="content">
|
972
|
+
<pre><tt>ENV["MACK_ENV"] = ENV["RACK_ENV"]
|
973
|
+
load("Rakefile")
|
974
|
+
require 'rubygems'
|
975
|
+
require 'mack'
|
976
|
+
run Mack::Utils::Server.build_app</tt></pre>
|
977
|
+
</div></div>
|
978
|
+
<h4 id="_merb">4.5.4. Merb</h4>
|
979
|
+
<div class="listingblock">
|
980
|
+
<div class="content">
|
981
|
+
<pre><tt>require 'rubygems'
|
982
|
+
require 'merb-core'
|
983
|
+
|
984
|
+
Merb::Config.setup(:merb_root => ".",
|
985
|
+
:environment => ENV['RACK_ENV'])
|
986
|
+
Merb.environment = Merb::Config[:environment]
|
987
|
+
Merb.root = Merb::Config[:merb_root]
|
988
|
+
Merb::BootLoader.run
|
989
|
+
|
990
|
+
run Merb::Rack::Application.new</tt></pre>
|
991
|
+
</div></div>
|
992
|
+
<h4 id="_ramaze">4.5.5. Ramaze</h4>
|
993
|
+
<div class="listingblock">
|
994
|
+
<div class="content">
|
995
|
+
<pre><tt>require "start"
|
996
|
+
Ramaze.trait[:essentials].delete Ramaze::Adapter
|
997
|
+
Ramaze.start :force => true
|
998
|
+
run Ramaze::Adapter::Base</tt></pre>
|
999
|
+
</div></div>
|
1000
|
+
<h4 id="_sinatra">4.5.6. Sinatra</h4>
|
1001
|
+
<div class="listingblock">
|
1002
|
+
<div class="content">
|
1003
|
+
<pre><tt>require 'rubygems'
|
1004
|
+
require 'sinatra'
|
1005
|
+
Sinatra::Application.default_options.merge!(
|
1006
|
+
:run => false,
|
1007
|
+
:env => ENV['RACK_ENV']
|
1008
|
+
)
|
1009
|
+
|
1010
|
+
### ...your Sinatra application code here... ###
|
1011
|
+
|
1012
|
+
run Sinatra.application</tt></pre>
|
1013
|
+
</div></div>
|
1014
|
+
</div>
|
1015
|
+
<h2 id="_configuring_phusion_passenger">5. Configuring Phusion Passenger</h2>
|
1016
|
+
<div class="sectionbody">
|
1017
|
+
<div class="para"><p>After installation, Phusion Passenger does not need any further configurations.
|
1018
|
+
Nevertheless, the system administrator may be interested in changing
|
1019
|
+
Phusion Passenger's behavior. Phusion Passenger's Apache module supports the
|
1020
|
+
following configuration options:</p></div>
|
1021
|
+
<h3 id="_passengerroot_lt_directory_gt">5.1. PassengerRoot <directory></h3><div style="clear:left"></div>
|
1022
|
+
<div class="para"><p>The location to the Phusion Passenger root directory. This configuration option
|
1023
|
+
is essential to Phusion Passenger. The correct value is given by the installer,
|
1024
|
+
and should usually not be changed manually.</p></div>
|
1025
|
+
<div class="para"><p>This required option may only occur once, in the global server configuration.</p></div>
|
1026
|
+
<h3 id="_passengerloglevel_lt_integer_gt">5.2. PassengerLogLevel <integer></h3><div style="clear:left"></div>
|
1027
|
+
<div class="para"><p>This option allows one to specify how much information Phusion Passenger should
|
1028
|
+
write to the Apache error log file. A higher log level value means that more
|
1029
|
+
information will be logged.</p></div>
|
1030
|
+
<div class="para"><p>Possible values are:</p></div>
|
1031
|
+
<div class="ilist"><ul>
|
1032
|
+
<li>
|
1033
|
+
<p>
|
1034
|
+
<em>0</em>: Show only errors and warnings.
|
1035
|
+
</p>
|
1036
|
+
</li>
|
1037
|
+
<li>
|
1038
|
+
<p>
|
1039
|
+
<em>1</em>: Show the most important debugging information. This might be useful for
|
1040
|
+
system administrators who are trying to figure out the cause of a
|
1041
|
+
problem.
|
1042
|
+
</p>
|
1043
|
+
</li>
|
1044
|
+
<li>
|
1045
|
+
<p>
|
1046
|
+
<em>2</em>: Show more debugging information. This is typically only useful for developers.
|
1047
|
+
</p>
|
1048
|
+
</li>
|
1049
|
+
<li>
|
1050
|
+
<p>
|
1051
|
+
<em>3</em>: Show even more debugging information.
|
1052
|
+
</p>
|
1053
|
+
</li>
|
1054
|
+
</ul></div>
|
1055
|
+
<div class="para"><p>This option may only occur once, in the global server configuration.
|
1056
|
+
The default is <em>0</em>.</p></div>
|
1057
|
+
<h3 id="PassengerRuby">5.3. PassengerRuby <filename></h3><div style="clear:left"></div>
|
1058
|
+
<div class="para"><p>This option allows one to specify the Ruby interpreter to use.</p></div>
|
1059
|
+
<div class="para"><p>This option may only occur once, in the global server configuration.
|
1060
|
+
The default is <em>ruby</em>.</p></div>
|
1061
|
+
<h3 id="PassengerUserSwitching">5.4. PassengerUserSwitching <on|off></h3><div style="clear:left"></div>
|
1062
|
+
<div class="para"><p>Whether to enable <a href="#user_switching">user switching support</a>.</p></div>
|
1063
|
+
<div class="para"><p>This option may only occur once, in the global server configuration.
|
1064
|
+
The default value is <em>on</em>.</p></div>
|
1065
|
+
<h3 id="PassengerDefaultUser">5.5. PassengerDefaultUser <username></h3><div style="clear:left"></div>
|
1066
|
+
<div class="para"><p>Passenger enables <a href="#user_switching">user switching support</a> by default.
|
1067
|
+
This configuration option allows one to specify which user Rails/Rack
|
1068
|
+
applications must run as, if user switching fails or is disabled.</p></div>
|
1069
|
+
<div class="para"><p>This option may only occur once, in the global server configuration.
|
1070
|
+
The default value is <em>nobody</em>.</p></div>
|
1071
|
+
<h3 id="_resource_control_and_optimization_options">5.6. Resource control and optimization options</h3><div style="clear:left"></div>
|
1072
|
+
<h4 id="_passengermaxpoolsize_lt_integer_gt">5.6.1. PassengerMaxPoolSize <integer></h4>
|
1073
|
+
<div class="para"><p>The maximum number of Ruby on Rails or Rack application instances that may
|
1074
|
+
be simultaneously active. A larger number results in higher memory usage,
|
1075
|
+
but improved ability to handle concurrent HTTP clients.</p></div>
|
816
1076
|
<div class="para"><p>The optimal value depends on your system's hardware and the server's average
|
817
1077
|
load. You should experiment with different values. But generally speaking,
|
818
1078
|
the value should be at least equal to the number of CPUs (or CPU cores) that
|
819
1079
|
you have. If your system has 2 GB of RAM, then we recommend a value of <em>30</em>.
|
820
1080
|
If your system is a Virtual Private Server (VPS) and has about 256 MB RAM, and
|
821
1081
|
is also running other services such as MySQL, then we recommend a value of <em>2</em>.</p></div>
|
822
|
-
<div class="para"><p>If you find that your server is unable to handle the load on your Rails websites
|
1082
|
+
<div class="para"><p>If you find that your server is unable to handle the load on your Rails/Rack websites
|
823
1083
|
(i.e. running out of memory) then you should lower this value. (Though if your
|
824
1084
|
sites are really that popular, then you should strongly consider upgrading your
|
825
1085
|
hardware or getting more servers.)</p></div>
|
826
1086
|
<div class="para"><p>This option may only occur once, in the global server configuration.
|
827
|
-
The default value is <em>
|
1087
|
+
The default value is <em>6</em>.</p></div>
|
828
1088
|
<div class="admonitionblock">
|
829
1089
|
<table><tr>
|
830
1090
|
<td class="icon">
|
831
1091
|
<img src="./images/icons/tip.png" alt="Tip" />
|
832
1092
|
</td>
|
833
|
-
<td class="content">We strongly recommend you to <a href="#reducing_memory_usage">use Ruby Enterprise Edition</a>. This allows you to reduce
|
834
|
-
not hard to install.</td>
|
1093
|
+
<td class="content">We strongly recommend you to <a href="#reducing_memory_usage">use Ruby Enterprise Edition</a>. This allows you to reduce the memory usage of your Ruby on Rails applications
|
1094
|
+
by about 33%. And it's not hard to install.</td>
|
835
1095
|
</tr></table>
|
836
1096
|
</div>
|
837
|
-
|
838
|
-
<
|
839
|
-
|
840
|
-
|
841
|
-
<
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
<div class="para"><p>
|
1097
|
+
<h4 id="_passengermaxinstancesperapp_lt_integer_gt">5.6.2. PassengerMaxInstancesPerApp <integer></h4>
|
1098
|
+
<div class="para"><p>The maximum number of application instances that may be simultaneously active
|
1099
|
+
for a single application. This helps to make sure that a single application
|
1100
|
+
will not occupy all available slots in the application pool.</p></div>
|
1101
|
+
<div class="para"><p>This value must be less than <a href="#PassengerMaxPoolSize">PassengerMaxPoolSize</a>. A value of 0
|
1102
|
+
means that there is no limit placed on the number of instances a single application
|
1103
|
+
may use, i.e. only the global limit of <a href="#PassengerMaxPoolSize">PassengerMaxPoolSize</a>
|
1104
|
+
will be enforced.</p></div>
|
1105
|
+
<div class="para"><p>This option may only occur once, in the global server configuration.
|
1106
|
+
The default value is <em>0</em>.</p></div>
|
1107
|
+
<h4 id="PassengerPoolIdleTime">5.6.3. PassengerPoolIdleTime <integer></h4>
|
1108
|
+
<div class="para"><p>The maximum number of seconds that a Ruby on Rails or Rack application instance
|
1109
|
+
may be idle. That is, if an application instance hasn't done anything after
|
1110
|
+
the given number of seconds, then it will be shutdown in order to conserve
|
1111
|
+
memory.</p></div>
|
1112
|
+
<div class="para"><p>Decreasing this value means that applications will have to be spawned
|
849
1113
|
more often. Since spawning is a relatively slow operation, some visitors may
|
850
|
-
notice a small delay when they visit your Rails
|
851
|
-
free up resources used by
|
1114
|
+
notice a small delay when they visit your Rails/Rack website. However, it will also
|
1115
|
+
free up resources used by applications more quickly.</p></div>
|
852
1116
|
<div class="para"><p>The optimal value depends on the average time that a visitor spends on a single
|
853
|
-
Rails web page. We recommend a value of <tt>2 * x</tt>, where <tt>x</tt> is the average
|
854
|
-
number of seconds that a visitor spends on a single Rails web page. But your
|
1117
|
+
Rails/Rack web page. We recommend a value of <tt>2 * x</tt>, where <tt>x</tt> is the average
|
1118
|
+
number of seconds that a visitor spends on a single Rails/Rack web page. But your
|
855
1119
|
mileage may vary.</p></div>
|
856
1120
|
<div class="para"><p>This option may only occur once, in the global server configuration.
|
857
|
-
The default value is <em>
|
858
|
-
</
|
859
|
-
|
860
|
-
<div class="
|
1121
|
+
The default value is <em>300</em>.</p></div>
|
1122
|
+
<h3 id="_ruby_on_rails_specific_options">5.7. Ruby on Rails-specific options</h3><div style="clear:left"></div>
|
1123
|
+
<h4 id="_railsautodetect_lt_on_off_gt">5.7.1. RailsAutoDetect <on|off></h4>
|
1124
|
+
<div class="para"><p>Whether Phusion Passenger should automatically detect whether a virtual host's
|
1125
|
+
document root is a Ruby on Rails application. The default is <em>on</em>.</p></div>
|
1126
|
+
<div class="para"><p>This option may occur in the global server configuration or in a virtual host
|
1127
|
+
configuration block.</p></div>
|
1128
|
+
<div class="para"><p>For example, consider the following configuration:</p></div>
|
1129
|
+
<div class="listingblock">
|
1130
|
+
<div class="content">
|
1131
|
+
<pre><tt>RailsAutoDetect off
|
1132
|
+
<VirtualHost *:80>
|
1133
|
+
ServerName www.mycook.com
|
1134
|
+
DocumentRoot /webapps/mycook/public
|
1135
|
+
</VirtualHost></tt></pre>
|
1136
|
+
</div></div>
|
1137
|
+
<div class="para"><p>If one goes to <em>http://www.mycook.com/</em>, the visitor will see the contents of
|
1138
|
+
the <em>/webapps/mycook/public</em> folder, instead of the output of the Ruby on Rails
|
1139
|
+
application.</p></div>
|
1140
|
+
<div class="para"><p>It is possible to explicitly specify that the host is a Ruby on Rails
|
1141
|
+
application by using the <a href="#RailsBaseURI">RailsBaseURI</a> configuration option:</p></div>
|
1142
|
+
<div class="listingblock">
|
1143
|
+
<div class="content">
|
1144
|
+
<pre><tt>RailsAutoDetect off
|
1145
|
+
<VirtualHost *:80>
|
1146
|
+
ServerName www.mycook.com
|
1147
|
+
DocumentRoot /webapps/mycook/public
|
1148
|
+
RailsBaseURI / # This line has been added.
|
1149
|
+
</VirtualHost></tt></pre>
|
1150
|
+
</div></div>
|
1151
|
+
<h4 id="RailsBaseURI">5.7.2. RailsBaseURI <uri></h4>
|
1152
|
+
<div class="para"><p>Used to specify that the given URI is a Rails application. See
|
1153
|
+
<a href="#deploying_rails_to_sub_uri">Deploying Rails to a sub URI</a> for an example.</p></div>
|
1154
|
+
<div class="para"><p>It is allowed to specify this option multiple times. Do this to deploy multiple
|
1155
|
+
Rails applications in different sub-URIs under the same virtual host.</p></div>
|
1156
|
+
<div class="para"><p>This option may occur in the global server configuration or in a
|
1157
|
+
virtual host configuration block.</p></div>
|
1158
|
+
<h4 id="RailsAllowModRewrite">5.7.3. RailsAllowModRewrite <on|off></h4>
|
1159
|
+
<div class="para"><p>If enabled, Phusion Passenger will not override mod_rewrite rules. Please read
|
1160
|
+
<a href="#conflicting_apache_modules">Conflicting Apache modules</a> for details.</p></div>
|
1161
|
+
<div class="para"><p>This option may occur once, in the global server configuration or in a virtual host
|
1162
|
+
configuration block. The default value is <em>off</em>.</p></div>
|
1163
|
+
<h4 id="rails_env">5.7.4. RailsEnv <string></h4>
|
1164
|
+
<div class="para"><p>This option allows one to specify the default <tt>RAILS_ENV</tt> value.</p></div>
|
1165
|
+
<div class="para"><p>This option may occur once, in the global server configuration or in a virtual host
|
1166
|
+
configuration block. The default value is <em>production</em>.</p></div>
|
1167
|
+
<h4 id="RailsSpawnMethod">5.7.5. RailsSpawnMethod <string></h4>
|
1168
|
+
<div class="admonitionblock">
|
1169
|
+
<table><tr>
|
1170
|
+
<td class="icon">
|
1171
|
+
<img src="./images/icons/tip.png" alt="Tip" />
|
1172
|
+
</td>
|
1173
|
+
<td class="content">
|
1174
|
+
<div class="title">"What spawn method should I use?"</div>
|
1175
|
+
<div class="para"><p>This subsection attempts to describe spawn methods, but it's okay if you don't (want to)
|
1176
|
+
understand it, as it's mostly a technical detail. You can basically follow this rule of thumb:</p></div>
|
1177
|
+
<div class="sidebarblock">
|
1178
|
+
<div class="sidebar-content">
|
1179
|
+
<div class="para"><p>If your application works on Mongrel, but not on Phusion Passenger, then set
|
1180
|
+
<tt>RailsSpawnMethod</tt> to <em>conservative</em>. Otherwise, leave it at <em>smart</em> (the default).</p></div>
|
1181
|
+
</div></div>
|
1182
|
+
<div class="para"><p>However, we do recommend you to try to understand it. The <em>smart</em> spawn method brings
|
1183
|
+
many benefits.</p></div>
|
1184
|
+
</td>
|
1185
|
+
</tr></table>
|
1186
|
+
</div>
|
1187
|
+
<div class="para"><p>Internally, Phusion Passenger spawns multiple Ruby on Rails processes in order to handle
|
1188
|
+
requests. But there are multiple ways with which processes can be spawned, each having
|
1189
|
+
its own set of pros and cons. Supported spawn methods are:</p></div>
|
1190
|
+
<div class="vlist"><dl>
|
861
1191
|
<dt>
|
862
|
-
|
1192
|
+
smart
|
863
1193
|
</dt>
|
864
1194
|
<dd>
|
865
1195
|
<p>
|
866
|
-
|
1196
|
+
When this spawn method is used, Phusion Passenger will attempt to cache Ruby on Rails
|
1197
|
+
framework code and application code for a limited period of time.
|
867
1198
|
</p>
|
868
|
-
<div class="para"><p>
|
869
|
-
|
1199
|
+
<div class="para"><p><strong>Pros:</strong>
|
1200
|
+
This can significantly decrease spawn time (by as much as 90%). And, when Ruby Enterprise
|
1201
|
+
Edition is used, <a href="#reducing_memory_usage">memory usage can be reduced by 33% on average</a>.</p></div>
|
1202
|
+
<div class="para"><p><strong>Cons:</strong>
|
1203
|
+
Some Ruby on Rails applications and libraries are not compatible with smart spawning.
|
1204
|
+
If that's the case for your application, then you should use <em>conservative</em> as
|
1205
|
+
spawning method.</p></div>
|
870
1206
|
</dd>
|
871
|
-
</dl></div>
|
872
|
-
<div class="vlist" id="RailsDefaultUser"><dl>
|
873
1207
|
<dt>
|
874
|
-
|
1208
|
+
conservative
|
875
1209
|
</dt>
|
876
1210
|
<dd>
|
877
1211
|
<p>
|
878
|
-
|
879
|
-
|
880
|
-
applications must run as, if user switching fails or is disabled.
|
1212
|
+
This spawning method is similar to the one used in Mongrel Cluster. It does not perform
|
1213
|
+
any code caching at all.
|
881
1214
|
</p>
|
882
|
-
<div class="para"><p>
|
883
|
-
|
1215
|
+
<div class="para"><p><strong>Pros:</strong>
|
1216
|
+
Conservative spawning is guaranteed to be compatible with all applications and libraries.</p></div>
|
1217
|
+
<div class="para"><p><strong>Cons:</strong>
|
1218
|
+
Much slower than smart spawning. Every spawn action will be equally slow, though no slower than
|
1219
|
+
the startup time of a single server in Mongrel Cluster. Conservative spawning will also
|
1220
|
+
render <a href="#reducing_memory_usage">Ruby Enterprise Edition's memory reduction technology</a> useless.</p></div>
|
884
1221
|
</dd>
|
885
1222
|
</dl></div>
|
1223
|
+
<div class="para"><p>This option may occur once, in the global server configuration or in a virtual host
|
1224
|
+
configuration block. The default value is <em>smart</em>.</p></div>
|
1225
|
+
<h3 id="_rack_specific_options">5.8. Rack-specific options</h3><div style="clear:left"></div>
|
1226
|
+
<h4 id="_rackautodetect_lt_on_off_gt">5.8.1. RackAutoDetect <on|off></h4>
|
1227
|
+
<div class="para"><p>Whether Phusion Passenger should automatically detect whether a virtual host's
|
1228
|
+
document root is a Rack application. The default is <em>on</em>.</p></div>
|
1229
|
+
<div class="para"><p>This option may occur in the global server configuration or in a virtual host
|
1230
|
+
configuration block.</p></div>
|
1231
|
+
<div class="para"><p>For example, consider the following configuration:</p></div>
|
1232
|
+
<div class="listingblock">
|
1233
|
+
<div class="content">
|
1234
|
+
<pre><tt>RackAutoDetect off
|
1235
|
+
<VirtualHost *:80>
|
1236
|
+
ServerName www.rackapp.com
|
1237
|
+
DocumentRoot /webapps/my_rack_app/public
|
1238
|
+
</VirtualHost></tt></pre>
|
1239
|
+
</div></div>
|
1240
|
+
<div class="para"><p>If one goes to <em>http://www.rackapp.com/</em>, the visitor will see the contents of
|
1241
|
+
the <em>/webapps/my_rack_app/public</em> folder, instead of the output of the Rack
|
1242
|
+
application.</p></div>
|
1243
|
+
<div class="para"><p>It is possible to explicitly specify that the host is a Rack
|
1244
|
+
application by using the <a href="#RackBaseURI">RackBaseURI</a> configuration option:</p></div>
|
1245
|
+
<div class="listingblock">
|
1246
|
+
<div class="content">
|
1247
|
+
<pre><tt>RackAutoDetect off
|
1248
|
+
<VirtualHost *:80>
|
1249
|
+
ServerName www.rackapp.com
|
1250
|
+
DocumentRoot /webapps/my_rack_app/public
|
1251
|
+
RackBaseURI / # This line was added
|
1252
|
+
</VirtualHost></tt></pre>
|
1253
|
+
</div></div>
|
1254
|
+
<h4 id="RackBaseURI">5.8.2. RackBaseURI <uri></h4>
|
1255
|
+
<div class="para"><p>Used to specify that the given URI is a Rack application. See
|
1256
|
+
<a href="#deploying_rack_to_sub_uri">Deploying Rack to a sub URI</a> for an example.</p></div>
|
1257
|
+
<div class="para"><p>It is allowed to specify this option multiple times. Do this to deploy multiple
|
1258
|
+
Rack applications in different sub-URIs under the same virtual host.</p></div>
|
1259
|
+
<div class="para"><p>This option may occur in the global server configuration or in a
|
1260
|
+
virtual host configuration block.</p></div>
|
1261
|
+
<h4 id="rack_env">5.8.3. RackEnv <string></h4>
|
1262
|
+
<div class="para"><p>The given value will be accessible in Rack applications in the <tt>RACK_ENV</tt>
|
1263
|
+
environment variable. This allows one to define the environment in which
|
1264
|
+
Rack applications are run, very similar to <tt>RAILS_ENV</tt>.</p></div>
|
1265
|
+
<div class="para"><p>This option may occur once, in the global server configuration or in a virtual host
|
1266
|
+
configuration block. The default value is <em>production</em>.</p></div>
|
1267
|
+
<h3 id="_deprecated_options">5.9. Deprecated options</h3><div style="clear:left"></div>
|
1268
|
+
<div class="para"><p>The following options have been deprecated, but are still supported for backwards
|
1269
|
+
compatibility reasons.</p></div>
|
1270
|
+
<h4 id="_railsruby">5.9.1. RailsRuby</h4>
|
1271
|
+
<div class="para"><p>Deprecated in favor of <a href="#PassengerRuby">PassengerRuby</a>.</p></div>
|
1272
|
+
<h4 id="_railsuserswitching">5.9.2. RailsUserSwitching</h4>
|
1273
|
+
<div class="para"><p>Deprecated in favor of <a href="#PassengerUserSwitching">PassengerUserSwitching</a>.</p></div>
|
1274
|
+
<h4 id="_railsdefaultuser">5.9.3. RailsDefaultUser</h4>
|
1275
|
+
<div class="para"><p>Deprecated in favor of <a href="#PassengerDefaultUser">PassengerDefaultUser</a>.</p></div>
|
886
1276
|
</div>
|
887
|
-
<h2 id="_troubleshooting">
|
1277
|
+
<h2 id="_troubleshooting">6. Troubleshooting</h2>
|
888
1278
|
<div class="sectionbody">
|
889
|
-
<h3 id="_operating_system_specific_problems">
|
890
|
-
<h4 id="_macos_x_the_installer_cannot_locate_mamp_s_apache">
|
1279
|
+
<h3 id="_operating_system_specific_problems">6.1. Operating system-specific problems</h3><div style="clear:left"></div>
|
1280
|
+
<h4 id="_macos_x_the_installer_cannot_locate_mamp_s_apache">6.1.1. MacOS X: The installer cannot locate MAMP's Apache</h4>
|
891
1281
|
<div class="sidebarblock">
|
892
1282
|
<div class="sidebar-content">
|
893
1283
|
<div class="sidebar-title">Symptoms</div>
|
@@ -903,17 +1293,17 @@ No such file or directory at /Applications/MAMP/Library/bin/apxs line 218.</tt><
|
|
903
1293
|
Please read <a href="http://forum.mamp.info/viewtopic.php?t=1866">this forum topic</a> to learn how
|
904
1294
|
to fix this problem.</p></div>
|
905
1295
|
<div class="para"><p>See also <a href="http://code.google.com/p/phusion-passenger/issues/detail?id=12">this bug report</a>.</p></div>
|
906
|
-
<h3 id="_problems_during_installation">
|
907
|
-
<h4 id="installing_ruby_dev">
|
1296
|
+
<h3 id="_problems_during_installation">6.2. Problems during installation</h3><div style="clear:left"></div>
|
1297
|
+
<h4 id="installing_ruby_dev">6.2.1. Ruby development headers aren't installed</h4>
|
908
1298
|
<div class="sidebarblock">
|
909
1299
|
<div class="sidebar-content">
|
910
1300
|
<div class="sidebar-title">Symptoms</div>
|
911
|
-
<div class="para"><p>Installing Passenger fails because of one of the following errors:</p></div>
|
1301
|
+
<div class="para"><p>Installing Phusion Passenger fails because of one of the following errors:</p></div>
|
912
1302
|
<div class="ilist"><ul>
|
913
1303
|
<li>
|
914
1304
|
<p>
|
915
|
-
The Passenger installer tells you that the Ruby development headers
|
916
|
-
installed.
|
1305
|
+
The Phusion Passenger installer tells you that the Ruby development headers
|
1306
|
+
aren't installed.
|
917
1307
|
</p>
|
918
1308
|
</li>
|
919
1309
|
<li>
|
@@ -928,7 +1318,7 @@ The error message “<em>ruby.h: No such file or directory”</em> occur
|
|
928
1318
|
</li>
|
929
1319
|
</ul></div>
|
930
1320
|
</div></div>
|
931
|
-
<div class="para"><p>Passenger makes use of a native extension, so the Ruby development headers
|
1321
|
+
<div class="para"><p>Phusion Passenger makes use of a native extension, so the Ruby development headers
|
932
1322
|
must be installed. On most Linux systems, Ruby and the Ruby development headers
|
933
1323
|
are contained in separate packages, so having Ruby installed does not
|
934
1324
|
automatically imply having the development headers installed.</p></div>
|
@@ -992,16 +1382,16 @@ Other operating systems
|
|
992
1382
|
<img src="./images/icons/note.png" alt="Note" />
|
993
1383
|
</td>
|
994
1384
|
<td class="content">If you've installed a new Ruby version (i.e. your system now contains
|
995
|
-
multiple Ruby installations), then you will need to tell Passenger
|
996
|
-
installation you want to use. Please read
|
1385
|
+
multiple Ruby installations), then you will need to tell Phusion Passenger
|
1386
|
+
which Ruby installation you want to use. Please read
|
997
1387
|
<a href="#specifying_ruby_installation">Specifying the correct Ruby installation</a>.</td>
|
998
1388
|
</tr></table>
|
999
1389
|
</div>
|
1000
|
-
<h4 id="_apache_development_headers_aren_t_installed">
|
1390
|
+
<h4 id="_apache_development_headers_aren_t_installed">6.2.2. Apache development headers aren't installed</h4>
|
1001
1391
|
<div class="sidebarblock">
|
1002
1392
|
<div class="sidebar-content">
|
1003
1393
|
<div class="sidebar-title">Symptoms</div>
|
1004
|
-
<div class="para"><p>Installing Passenger fails because of one of the following errors:</p></div>
|
1394
|
+
<div class="para"><p>Installing Phusion Passenger fails because of one of the following errors:</p></div>
|
1005
1395
|
<div class="ilist"><ul>
|
1006
1396
|
<li>
|
1007
1397
|
<p>
|
@@ -1082,11 +1472,11 @@ Other operating systems
|
|
1082
1472
|
</p>
|
1083
1473
|
</dd>
|
1084
1474
|
</dl></div>
|
1085
|
-
<h4 id="_apr_development_headers_aren_t_installed">
|
1475
|
+
<h4 id="_apr_development_headers_aren_t_installed">6.2.3. APR development headers aren't installed</h4>
|
1086
1476
|
<div class="sidebarblock">
|
1087
1477
|
<div class="sidebar-content">
|
1088
1478
|
<div class="sidebar-title">Symptoms</div>
|
1089
|
-
<div class="para"><p>Installing Passenger fails because one of the following errors:</p></div>
|
1479
|
+
<div class="para"><p>Installing Phusion Passenger fails because one of the following errors:</p></div>
|
1090
1480
|
<div class="ilist"><ul>
|
1091
1481
|
<li>
|
1092
1482
|
<p>
|
@@ -1162,11 +1552,11 @@ Other operating systems
|
|
1162
1552
|
</p>
|
1163
1553
|
</dd>
|
1164
1554
|
</dl></div>
|
1165
|
-
<h4 id="
|
1166
|
-
<div class="para"><p>Please <a href="#specifying_correct_apache_install">Specifying the correct Apache installation</a>, and re-run the Passenger installer.</p></div>
|
1167
|
-
<h4 id="
|
1168
|
-
<div class="para"><p>Please <a href="#specifying_ruby_installation">Specifying the correct Ruby installation</a>, and re-run the Passenger installer.</p></div>
|
1169
|
-
<h3 id="_problems_after_installation">
|
1555
|
+
<h4 id="_phusion_passenger_is_using_the_wrong_apache_during_installation">6.2.4. Phusion Passenger is using the wrong Apache during installation</h4>
|
1556
|
+
<div class="para"><p>Please <a href="#specifying_correct_apache_install">Specifying the correct Apache installation</a>, and re-run the Phusion Passenger installer.</p></div>
|
1557
|
+
<h4 id="_phusion_passenger_is_using_the_wrong_ruby_during_installation">6.2.5. Phusion Passenger is using the wrong Ruby during installation</h4>
|
1558
|
+
<div class="para"><p>Please <a href="#specifying_ruby_installation">Specifying the correct Ruby installation</a>, and re-run the Phusion Passenger installer.</p></div>
|
1559
|
+
<h3 id="_problems_after_installation">6.3. Problems after installation</h3><div style="clear:left"></div>
|
1170
1560
|
<div class="admonitionblock">
|
1171
1561
|
<table><tr>
|
1172
1562
|
<td class="icon">
|
@@ -1180,7 +1570,9 @@ inside the Apache error logs. It will tell you what exactly went wrong.</p></div
|
|
1180
1570
|
</td>
|
1181
1571
|
</tr></table>
|
1182
1572
|
</div>
|
1183
|
-
<h4 id="
|
1573
|
+
<h4 id="_my_rails_application_works_on_mongrel_but_not_on_phusion_passenger">6.3.1. My Rails application works on Mongrel, but not on Phusion Passenger</h4>
|
1574
|
+
<div class="para"><p>Please try setting <a href="#RailsSpawnMethod">RailsSpawnMethod</a> to <em>conservative</em>.</p></div>
|
1575
|
+
<h4 id="_phusion_passenger_has_been_compiled_against_the_wrong_apache_installation">6.3.2. Phusion Passenger has been compiled against the wrong Apache installation</h4>
|
1184
1576
|
<div class="sidebarblock">
|
1185
1577
|
<div class="sidebar-content">
|
1186
1578
|
<div class="sidebar-title">Symptoms</div>
|
@@ -1189,10 +1581,10 @@ says “<em>seg fault or similar nasty error detected in the parent process&
|
|
1189
1581
|
</div></div>
|
1190
1582
|
<div class="para"><p>This problem is most likely to occur on MacOS X. Most OS X users have multiple
|
1191
1583
|
Apache installations on their system.</p></div>
|
1192
|
-
<div class="para"><p>To solve this problem, please <a href="#specifying_correct_apache_install">specify the correct Apache installation</a>, and <a href="#install_passenger">reinstall Passenger</a>.</p></div>
|
1193
|
-
<h4 id="_i_get_a_304_forbidden_error">
|
1584
|
+
<div class="para"><p>To solve this problem, please <a href="#specifying_correct_apache_install">specify the correct Apache installation</a>, and <a href="#install_passenger">reinstall Phusion Passenger</a>.</p></div>
|
1585
|
+
<h4 id="_i_get_a_304_forbidden_error">6.3.3. I get a "304 Forbidden" error</h4>
|
1194
1586
|
<div class="para"><p>See next subsection.</p></div>
|
1195
|
-
<h4 id="_static_assets_such_as_images_and_stylesheets_aren_t_being_displayed">
|
1587
|
+
<h4 id="_static_assets_such_as_images_and_stylesheets_aren_t_being_displayed">6.3.4. Static assets such as images and stylesheets aren't being displayed</h4>
|
1196
1588
|
<div class="para"><p>Static assets are accelerated, i.e. they are served directly by Apache and do not
|
1197
1589
|
go through the Rails stack. There are two reasons why Apache doesn't serve static
|
1198
1590
|
assets correctly:</p></div>
|
@@ -1222,18 +1614,18 @@ The Apache process doesn't have permission to access your Rails application's fo
|
|
1222
1614
|
</p>
|
1223
1615
|
</li>
|
1224
1616
|
</ol></div>
|
1225
|
-
<h4 id="_the_apache_error_log_says_that_the_spawn_manager_script_does_not_exist_or_that_it_does_not_have_permission_to_execute_it">
|
1226
|
-
<div class="para"><p>If you are sure that the
|
1617
|
+
<h4 id="_the_apache_error_log_says_that_the_spawn_manager_script_does_not_exist_or_that_it_does_not_have_permission_to_execute_it">6.3.5. The Apache error log says that the spawn manager script does not exist, or that it does not have permission to execute it</h4>
|
1618
|
+
<div class="para"><p>If you are sure that the <em>PassengerRoot</em> configuration option is set correctly,
|
1227
1619
|
then this problem is most likely caused by the fact that you're running Apache
|
1228
1620
|
with SELinux. On Fedora, CentOS and RedHat Enterprise Linux, Apache is locked
|
1229
1621
|
down by SELinux policies.</p></div>
|
1230
|
-
<div class="para"><p>To solve this problem, you must set some permissions on the Passenger files
|
1231
|
-
folders, so that Apache can access them.</p></div>
|
1622
|
+
<div class="para"><p>To solve this problem, you must set some permissions on the Phusion Passenger files
|
1623
|
+
and folders, so that Apache can access them.</p></div>
|
1232
1624
|
<div class="ilist"><ul>
|
1233
1625
|
<li>
|
1234
1626
|
<p>
|
1235
|
-
If you've installed Passenger via a gem, then run this command to determine
|
1236
|
-
Passenger's root folder:
|
1627
|
+
If you've installed Phusion Passenger via a gem, then run this command to determine
|
1628
|
+
Phusion Passenger's root folder:
|
1237
1629
|
</p>
|
1238
1630
|
<div class="listingblock">
|
1239
1631
|
<div class="content">
|
@@ -1249,7 +1641,7 @@ If you've installed Passenger via a gem, then run this command to determine
|
|
1249
1641
|
</li>
|
1250
1642
|
<li>
|
1251
1643
|
<p>
|
1252
|
-
If you've installed Passenger via the source tarball, then run the following
|
1644
|
+
If you've installed Phusion Passenger via the source tarball, then run the following
|
1253
1645
|
command:
|
1254
1646
|
</p>
|
1255
1647
|
<div class="listingblock">
|
@@ -1259,7 +1651,7 @@ If you've installed Passenger via the source tarball, then run the following
|
|
1259
1651
|
</li>
|
1260
1652
|
</ul></div>
|
1261
1653
|
<div class="para"><p>Once the permissions are fixed, restart Apache.</p></div>
|
1262
|
-
<h4 id="_the_rails_application_reports_that_it_s_unable_to_start_because_of_a_permission_error">
|
1654
|
+
<h4 id="_the_rails_application_reports_that_it_s_unable_to_start_because_of_a_permission_error">6.3.6. The Rails application reports that it's unable to start because of a permission error</h4>
|
1263
1655
|
<div class="para"><p>Please check whether your Rails application's folder has the correct
|
1264
1656
|
permissions. By default, Rails applications are started as the owner of the
|
1265
1657
|
file <em>config/environment.rb</em>, except if the file is owned by root. If the
|
@@ -1267,19 +1659,19 @@ file is owned by root, then the Rails application will be started as <em>nobody<
|
|
1267
1659
|
(or as the user specify by <a href="#RailsDefaultUser">RailsDefaultUser</a>, if that's
|
1268
1660
|
specified).</p></div>
|
1269
1661
|
<div class="para"><p>Please read <a href="#user_switching">User switching (security)</a> for details.</p></div>
|
1270
|
-
<h4 id="_my_rails_application_s_log_file_is_not_being_written_to">
|
1662
|
+
<h4 id="_my_rails_application_s_log_file_is_not_being_written_to">6.3.7. My Rails application's log file is not being written to</h4>
|
1271
1663
|
<div class="para"><p>There are a couple things that you should be aware of:</p></div>
|
1272
1664
|
<div class="ilist"><ul>
|
1273
1665
|
<li>
|
1274
1666
|
<p>
|
1275
|
-
By default, Passenger runs Rails applications in <em>production</em> mode,
|
1276
|
-
be sure to check <em>production.log</em> instead of <em>development.log</em>. See
|
1667
|
+
By default, Phusion Passenger runs Rails applications in <em>production</em> mode,
|
1668
|
+
so please be sure to check <em>production.log</em> instead of <em>development.log</em>. See
|
1277
1669
|
<a href="#RailsEnv">RailsEnv</a> for configuration.
|
1278
1670
|
</p>
|
1279
1671
|
</li>
|
1280
1672
|
<li>
|
1281
1673
|
<p>
|
1282
|
-
By default, Passenger runs Rails applications as the owner of <em>environment.rb</em>.
|
1674
|
+
By default, Phusion Passenger runs Rails applications as the owner of <em>environment.rb</em>.
|
1283
1675
|
So the log file can only be written to if that user has write permission to the
|
1284
1676
|
log file. Please <em>chmod</em> or <em>chown</em> your log file accordingly.
|
1285
1677
|
</p>
|
@@ -1295,45 +1687,213 @@ following command to give your Rails application folder that context:</p></div>
|
|
1295
1687
|
<div class="content">
|
1296
1688
|
<pre><tt>chcon -R -h -t httpd_sys_content_t /path/to/your/rails/app</tt></pre>
|
1297
1689
|
</div></div>
|
1298
|
-
<h3 id="conflicting_apache_modules">
|
1299
|
-
<h4 id="_mod_rewrite_and_mod_alias">
|
1300
|
-
<div class="para"><p>Passenger conflicts with <em>mod_rewrite</em> and <em>mod_alias</em>. Those modules may be
|
1690
|
+
<h3 id="conflicting_apache_modules">6.4. Conflicting Apache modules</h3><div style="clear:left"></div>
|
1691
|
+
<h4 id="_mod_rewrite_and_mod_alias">6.4.1. mod_rewrite and mod_alias</h4>
|
1692
|
+
<div class="para"><p>Phusion Passenger conflicts with <em>mod_rewrite</em> and <em>mod_alias</em>. Those modules may be
|
1301
1693
|
installed and loaded together with <em>mod_passenger</em>, and they will work fine
|
1302
1694
|
outside virtual hosts that contain a Rails application, but we recommend you
|
1303
1695
|
not to use their features inside virtual hosts that contain a Rails
|
1304
1696
|
application.</p></div>
|
1305
|
-
<div class="para"><p>By default, Passenger will override mod_rewrite rules on Rails hosts.
|
1306
|
-
because the default .htaccess, as provided by Ruby on Rails, redirects all
|
1697
|
+
<div class="para"><p>By default, Phusion Passenger will override mod_rewrite rules on Rails hosts.
|
1698
|
+
This is because the default .htaccess, as provided by Ruby on Rails, redirects all
|
1307
1699
|
requests to `dispatch.cgi' using mod_rewrite. This is a CGI application which
|
1308
1700
|
loads the entire Ruby on Rails framework for every request, and thus is very
|
1309
1701
|
slow. If we do not override mod_rewrite, then Ruby on Rails apps will be slow
|
1310
|
-
on Passenger by default — but we want a good out-of-the-box experience.</p></div>
|
1702
|
+
on Phusion Passenger by default — but we want a good out-of-the-box experience.</p></div>
|
1311
1703
|
<div class="para"><p>Furthermore, the primary reason why people use mod_rewrite with Rails
|
1312
|
-
applications, is to accelerate page caching. Passenger supports page
|
1313
|
-
out-of-the-box, without mod_rewrite.</p></div>
|
1314
|
-
<div class="para"><p>It is not fully understood how mod_alias conflicts with Passenger, but we
|
1704
|
+
applications, is to accelerate page caching. Phusion Passenger supports page
|
1705
|
+
caching out-of-the-box, without mod_rewrite.</p></div>
|
1706
|
+
<div class="para"><p>It is not fully understood how mod_alias conflicts with Phusion Passenger, but we
|
1315
1707
|
recommend you not to use it on Rails virtual hosts. mod_alias rules can result
|
1316
1708
|
in surprising problems.</p></div>
|
1317
1709
|
<div class="para"><p>If you really want to use mod_rewrite on Rails virtual hosts, then please set
|
1318
1710
|
the <a href="#RailsAllowModRewrite">RailsAllowModRewrite</a> configuration option. But
|
1319
1711
|
please note that you will have to delete Rails applications' default .htaccess
|
1320
1712
|
file, or add rewrite rules to negate its effects.</p></div>
|
1321
|
-
<h4 id="_mod_userdir">
|
1713
|
+
<h4 id="_mod_userdir">6.4.2. mod_userdir</h4>
|
1322
1714
|
<div class="para"><p><em>mod_userdir</em> is not compatible with Phusion Passenger at the moment.</p></div>
|
1323
|
-
<h4 id="_virtualdocumentroot">
|
1715
|
+
<h4 id="_virtualdocumentroot">6.4.3. VirtualDocumentRoot</h4>
|
1324
1716
|
<div class="para"><p>VirtualDocumentRoot is not compatible with Phusion Passenger at the moment.</p></div>
|
1325
1717
|
</div>
|
1326
|
-
<h2 id="
|
1718
|
+
<h2 id="_analysis_and_system_maintenance_tools">7. Analysis and system maintenance tools</h2>
|
1719
|
+
<div class="sectionbody">
|
1720
|
+
<div class="para"><p>Phusion Passenger provides a set of tools, which are useful for system analysis,
|
1721
|
+
maintenance and troubleshooting.</p></div>
|
1722
|
+
<h3 id="_inspecting_memory_usage">7.1. Inspecting memory usage</h3><div style="clear:left"></div>
|
1723
|
+
<div class="para"><p>Process inspection tools such as <tt>ps</tt> and <tt>top</tt> are useful, but they
|
1724
|
+
<a href="http://groups.google.com/group/phusion-passenger/msg/1fd1c233456d3180">rarely show the correct memory usage</a>.
|
1725
|
+
The real memory usage is usually lower than what <tt>ps</tt> and <tt>top</tt> report.</p></div>
|
1726
|
+
<div class="para"><p>There are many technical reasons why this is so, but an explanation is beyond
|
1727
|
+
the scope of this Users Guide. We kindly refer the interested reader to
|
1728
|
+
operating systems literature about <em>virtual memory</em> and <em>copy-on-write</em>.</p></div>
|
1729
|
+
<div class="para"><p>The tool <tt>passenger-memory-stats</tt> allows one to easily analyze Phusion Passenger's
|
1730
|
+
and Apache's real memory usage. For example:</p></div>
|
1731
|
+
<div class="listingblock">
|
1732
|
+
<div class="content">
|
1733
|
+
<pre><tt>[bash@localhost root]# passenger-memory-stats
|
1734
|
+
------------- Apache processes --------------.
|
1735
|
+
PID PPID Threads VMSize Private Name
|
1736
|
+
---------------------------------------------.
|
1737
|
+
5947 1 9 90.6 MB 0.5 MB /usr/sbin/apache2 -k start
|
1738
|
+
5948 5947 1 18.9 MB 0.7 MB /usr/sbin/fcgi-pm -k start
|
1739
|
+
6029 5947 1 42.7 MB 0.5 MB /usr/sbin/apache2 -k start
|
1740
|
+
6030 5947 1 42.7 MB 0.5 MB /usr/sbin/apache2 -k start
|
1741
|
+
6031 5947 1 42.5 MB 0.3 MB /usr/sbin/apache2 -k start
|
1742
|
+
6033 5947 1 42.5 MB 0.4 MB /usr/sbin/apache2 -k start
|
1743
|
+
6034 5947 1 50.5 MB 0.4 MB /usr/sbin/apache2 -k start
|
1744
|
+
23482 5947 1 82.6 MB 0.4 MB /usr/sbin/apache2 -k start
|
1745
|
+
### Processes: 8
|
1746
|
+
### Total private dirty RSS: 3.50 MB
|
1747
|
+
|
1748
|
+
--------- Passenger processes ---------.
|
1749
|
+
PID Threads VMSize Private Name
|
1750
|
+
---------------------------------------.
|
1751
|
+
6026 1 10.9 MB 4.7 MB Passenger spawn server
|
1752
|
+
23481 1 26.7 MB 3.0 MB Passenger FrameworkSpawner: 2.0.2
|
1753
|
+
23791 1 26.8 MB 2.9 MB Passenger ApplicationSpawner: /var/www/projects/app1-foobar
|
1754
|
+
23793 1 26.9 MB 17.1 MB Rails: /var/www/projects/app1-foobar
|
1755
|
+
### Processes: 4
|
1756
|
+
### Total private dirty RSS: 27.76 M</tt></pre>
|
1757
|
+
</div></div>
|
1758
|
+
<div class="para"><p>The <em>Private</em> or <em>private dirty RSS</em> field shows the <strong>real</strong> memory usage of processes. Here,
|
1759
|
+
we see that all the Apache worker processes only take less than 1 MB memory each.
|
1760
|
+
This is a lot less than the 50 MB-ish memory usage as shown in the <em>VMSize</em> column
|
1761
|
+
(which is what a lot of people think is the real memory usage, but is actually not).</p></div>
|
1762
|
+
<div class="admonitionblock">
|
1763
|
+
<table><tr>
|
1764
|
+
<td class="icon">
|
1765
|
+
<img src="./images/icons/note.png" alt="Note" />
|
1766
|
+
</td>
|
1767
|
+
<td class="content">This tool only works on Linux. Unfortunately other operating systems don't
|
1768
|
+
provide facilities for determining processes' private dirty RSS.</td>
|
1769
|
+
</tr></table>
|
1770
|
+
</div>
|
1771
|
+
<h3 id="_inspecting_phusion_passenger_s_internal_status">7.2. Inspecting Phusion Passenger's internal status</h3><div style="clear:left"></div>
|
1772
|
+
<div class="para"><p>One can inspect Phusion Passenger's internal status with the tool <tt>passenger-status</tt>.
|
1773
|
+
This tool must typically be run as root. For example:</p></div>
|
1774
|
+
<div class="listingblock">
|
1775
|
+
<div class="content">
|
1776
|
+
<pre><tt>[bash@localhost root]# passenger-status
|
1777
|
+
----------- General information -----------
|
1778
|
+
max = 6
|
1779
|
+
count = 1
|
1780
|
+
active = 0
|
1781
|
+
inactive = 1
|
1782
|
+
|
1783
|
+
----------- Applications -----------
|
1784
|
+
/var/www/projects/app1-foobar:
|
1785
|
+
PID: 9617 Sessions: 0</tt></pre>
|
1786
|
+
</div></div>
|
1787
|
+
<div class="para"><p>The <em>general information</em> section shows the following information:</p></div>
|
1788
|
+
<div class="hlist"><table>
|
1789
|
+
<tr>
|
1790
|
+
<td class="hlist1">
|
1791
|
+
max
|
1792
|
+
</td>
|
1793
|
+
<td class="hlist2">
|
1794
|
+
The maximum number of application instances that Phusion Passenger will
|
1795
|
+
spawn. This equals the value given for <a href="#PassengerMaxPoolSize">PassengerMaxPoolSize</a>.
|
1796
|
+
</td>
|
1797
|
+
</tr>
|
1798
|
+
<tr>
|
1799
|
+
<td class="hlist1">
|
1800
|
+
count
|
1801
|
+
</td>
|
1802
|
+
<td class="hlist2">
|
1803
|
+
The number of application instances that are currently alive. This value
|
1804
|
+
is always less than or equal to <em>max</em>.
|
1805
|
+
</td>
|
1806
|
+
</tr>
|
1807
|
+
<tr>
|
1808
|
+
<td class="hlist1">
|
1809
|
+
active
|
1810
|
+
</td>
|
1811
|
+
<td class="hlist2">
|
1812
|
+
The number of application instances that are currently processing
|
1813
|
+
requests. This value is always less than or equal to <em>count</em>.
|
1814
|
+
</td>
|
1815
|
+
</tr>
|
1816
|
+
<tr>
|
1817
|
+
<td class="hlist1">
|
1818
|
+
inactive
|
1819
|
+
</td>
|
1820
|
+
<td class="hlist2">
|
1821
|
+
The number of application instances that are currently <strong>not</strong> processing
|
1822
|
+
requests, i.e. are idle. Idle application instances will be shutdown after a while,
|
1823
|
+
as can be specified with <a href="#PassengerPoolIdleTime">PassengerPoolIdleTime</a>. The value of <em>inactive</em>
|
1824
|
+
equals <tt>count - active</tt>.
|
1825
|
+
</td>
|
1826
|
+
</tr>
|
1827
|
+
</table></div>
|
1828
|
+
<div class="para"><p>The <em>applications</em> section shows each application instance, which directory it belongs
|
1829
|
+
to. The <em>sessions</em> field shows how many HTTP client are currently being processed by
|
1830
|
+
that application instance.</p></div>
|
1831
|
+
<div class="para"><p>Since Phusion Passenger uses fair load balancing by default, the number of sessions for the
|
1832
|
+
application instances should be fairly close to each other. For example, this is fairly
|
1833
|
+
normal:</p></div>
|
1834
|
+
<div class="listingblock">
|
1835
|
+
<div class="content">
|
1836
|
+
<pre><tt> PID: 4281 Sessions: 2
|
1837
|
+
PID: 4268 Sessions: 0
|
1838
|
+
PID: 4265 Sessions: 1
|
1839
|
+
PID: 4275 Sessions: 1</tt></pre>
|
1840
|
+
</div></div>
|
1841
|
+
<div class="para"><p>But if you see a "spike", i.e. an application instance has an unusually high number of
|
1842
|
+
sessions compared to the others, then there might be a problem:</p></div>
|
1843
|
+
<div class="listingblock">
|
1844
|
+
<div class="content">
|
1845
|
+
<pre><tt> PID: 4281 Sessions: 2
|
1846
|
+
PID: 17468 Sessions: 8 <---- "spike"
|
1847
|
+
PID: 4265 Sessions: 1
|
1848
|
+
PID: 4275 Sessions: 1</tt></pre>
|
1849
|
+
</div></div>
|
1850
|
+
<div class="para"><p>Possible reasons why spikes can occur:</p></div>
|
1851
|
+
<div class="olist"><ol>
|
1852
|
+
<li>
|
1853
|
+
<p>
|
1854
|
+
Your application is busy processing a request that takes a very long time.
|
1855
|
+
</p>
|
1856
|
+
</li>
|
1857
|
+
<li>
|
1858
|
+
<p>
|
1859
|
+
Your application is frozen, i.e. has stopped responding. See
|
1860
|
+
<a href="#debugging_frozen">Debugging frozen applications</a> for tips.
|
1861
|
+
</p>
|
1862
|
+
</li>
|
1863
|
+
</ol></div>
|
1864
|
+
<h3 id="debugging_frozen">7.3. Debugging frozen applications</h3><div style="clear:left"></div>
|
1865
|
+
<div class="para"><p>If one of your application instances is frozen (stopped responding), then you
|
1866
|
+
can figure out where it is frozen by killing it with <em>SIGABRT</em>. This will cause the
|
1867
|
+
application to raise an exception, with a backtrace.</p></div>
|
1868
|
+
<div class="para"><p>The exception (with full backtrace information) is normally logged into the Apache
|
1869
|
+
error log. But if your application or if its web framework has its own exception logging
|
1870
|
+
routines, then exceptions might be logged into the application's log files instead.
|
1871
|
+
This is the case with Ruby on Rails. So if you kill a Ruby on Rails application with
|
1872
|
+
<em>SIGABRT</em>, please check the application's <em>production.log</em> first (assuming that you're
|
1873
|
+
running it in a <em>production</em> environment). If you don't see a backtrace there, check
|
1874
|
+
the Apache error log.</p></div>
|
1875
|
+
<div class="admonitionblock">
|
1876
|
+
<table><tr>
|
1877
|
+
<td class="icon">
|
1878
|
+
<img src="./images/icons/note.png" alt="Note" />
|
1879
|
+
</td>
|
1880
|
+
<td class="content">It is safe to kill application instances, even in live environments. Phusion Passenger
|
1881
|
+
will restart killed application instances, as if nothing bad happened.</td>
|
1882
|
+
</tr></table>
|
1883
|
+
</div>
|
1884
|
+
</div>
|
1885
|
+
<h2 id="_tips">8. Tips</h2>
|
1327
1886
|
<div class="sectionbody">
|
1328
|
-
<h3 id="user_switching">
|
1887
|
+
<h3 id="user_switching">8.1. User switching (security)</h3><div style="clear:left"></div>
|
1329
1888
|
<div class="para"><p>There is a problem that plagues most PHP web host, namely the fact that all PHP
|
1330
1889
|
applications are run in the same user context as the web server. So for
|
1331
1890
|
example, Joe's PHP application will be able to read Jane's PHP application's
|
1332
1891
|
passwords. This is obviously undesirable on many servers.</p></div>
|
1333
|
-
<div class="para"><p>Passenger solves this problem by implementing <em>user switching</em>. A Rails
|
1334
|
-
application is started as the owner of the file <em>config/environment.rb</em
|
1335
|
-
|
1336
|
-
|
1892
|
+
<div class="para"><p>Phusion Passenger solves this problem by implementing <em>user switching</em>. A Rails
|
1893
|
+
application is started as the owner of the file <em>config/environment.rb</em>,
|
1894
|
+
and a Rack application is started as the owner of the file <em>config.ru</em>.
|
1895
|
+
So if <em>/home/webapps/foo/config/environment.rb</em> is owned by <em>joe</em>, then Phusion
|
1896
|
+
Passenger will launch the corresponding Rails application as <em>joe</em> as well.</p></div>
|
1337
1897
|
<div class="para"><p>This behavior is the default, and you don't need to configure anything. But
|
1338
1898
|
there are things that you should keep in mind:</p></div>
|
1339
1899
|
<div class="ilist"><ul>
|
@@ -1341,6 +1901,8 @@ there are things that you should keep in mind:</p></div>
|
|
1341
1901
|
<p>
|
1342
1902
|
The owner of <em>environment.rb</em> must have read access to the Rails application's
|
1343
1903
|
folder, and read/write access to the Rails application's <em>logs</em> folder.
|
1904
|
+
Likewise, the owner of <em>config.ru</em> must have read access to the Rack application's
|
1905
|
+
folder.
|
1344
1906
|
</p>
|
1345
1907
|
</li>
|
1346
1908
|
<li>
|
@@ -1351,21 +1913,78 @@ This feature is only available if Apache is started by <em>root</em>. This is th
|
|
1351
1913
|
</li>
|
1352
1914
|
<li>
|
1353
1915
|
<p>
|
1354
|
-
Under no circumstances will
|
1355
|
-
<em>environment.rb</em> is owned as root or by an unknown user, then the
|
1356
|
-
application will run as the user specified by
|
1357
|
-
<a href="#
|
1916
|
+
Under no circumstances will applications be run as <em>root</em>. If
|
1917
|
+
<em>environment.rb</em>/<em>config.ru</em> is owned as root or by an unknown user, then the
|
1918
|
+
Rails/Rack application will run as the user specified by
|
1919
|
+
<a href="#PassengerDefaultUser">PassengerDefaultUser</a>.
|
1358
1920
|
</p>
|
1359
1921
|
</li>
|
1360
1922
|
</ul></div>
|
1361
1923
|
<div class="para"><p>User switching can be disabled with the
|
1362
|
-
<a href="#
|
1363
|
-
<h3 id="reducing_memory_usage">
|
1364
|
-
<div class="para"><p>Is it possible to reduce memory consumption of your Rails
|
1924
|
+
<a href="#PassengerUserSwitching">PassengerUserSwitching</a> option.</p></div>
|
1925
|
+
<h3 id="reducing_memory_usage">8.2. Reducing memory consumption of Ruby on Rails applications by 33%</h3><div style="clear:left"></div>
|
1926
|
+
<div class="para"><p>Is it possible to reduce memory consumption of your Rails applications by 33% on average,
|
1365
1927
|
by using <a href="http://www.rubyenterpriseedition.com/">Ruby Enterprise Edition</a>.
|
1366
1928
|
Please visit the website for details.</p></div>
|
1367
|
-
<
|
1368
|
-
<
|
1929
|
+
<div class="para"><p>Note that this feature does not apply to Rack applications.</p></div>
|
1930
|
+
<h3 id="capistrano">8.3. Capistrano recipe</h3><div style="clear:left"></div>
|
1931
|
+
<div class="para"><p>Phusion Passenger can be combined with <a href="http://capify.org/">Capistrano</a>.
|
1932
|
+
The following Capistrano recipe demonstrates Phusion Passenger support.
|
1933
|
+
It assumes that you're using Git as version control system.</p></div>
|
1934
|
+
<div class="listingblock">
|
1935
|
+
<div class="content">
|
1936
|
+
<pre><tt>set :application, "myapp"
|
1937
|
+
set :domain, "example.com"
|
1938
|
+
set :repository, "ssh://#{domain}/path-to-your-git-repo/#{application}.git"
|
1939
|
+
set :use_sudo, false
|
1940
|
+
set :deploy_to, "/path-to-your-web-app-directory/#{application}"
|
1941
|
+
set :scm, "git"
|
1942
|
+
|
1943
|
+
role :app, domain
|
1944
|
+
role :web, domain
|
1945
|
+
role :db, domain, :primary => true
|
1946
|
+
|
1947
|
+
namespace :deploy do
|
1948
|
+
desc "Restart Application"
|
1949
|
+
task :restart, :roles => :app do
|
1950
|
+
run "touch #{current_path}/tmp/restart.txt"
|
1951
|
+
end
|
1952
|
+
end</tt></pre>
|
1953
|
+
</div></div>
|
1954
|
+
<div class="admonitionblock">
|
1955
|
+
<table><tr>
|
1956
|
+
<td class="icon">
|
1957
|
+
<img src="./images/icons/note.png" alt="Note" />
|
1958
|
+
</td>
|
1959
|
+
<td class="content">
|
1960
|
+
<div class="para"><p>You may notice that for each deploy, a new spawner server is
|
1961
|
+
created (it'll show up in <tt>passenger-memory-stats</tt>). Indeed, Capistrano will deploy
|
1962
|
+
to a path ending with <em>/current</em> (ie : <em>/var/www/yourapp/current</em>), so that you don't
|
1963
|
+
have to care about revisions in your virtual host configuration. This <em>/current</em> directory
|
1964
|
+
is a symlink to the current revision deployed (<em>/path_to_app/releases/date_of_the_release</em>).
|
1965
|
+
Therefore, when deploying a new version, the symlink will change, and Phusion Passenger
|
1966
|
+
will think it's a new application, thereby creating a new spawner server:</p></div>
|
1967
|
+
<div class="listingblock">
|
1968
|
+
<div class="content">
|
1969
|
+
<pre><tt>1001 30291 [...] Passenger ApplicationSpawner: /var/www/my_app/releases/20080509104413
|
1970
|
+
1001 31371 [...] Passenger ApplicationSpawner: /var/www/my_app/releases/20080509104632</tt></pre>
|
1971
|
+
</div></div>
|
1972
|
+
<div class="para"><p>Don't worry about this. The (old) spawner server will terminate itself after its default
|
1973
|
+
timeout (10 minutes), so you will not run out of memory.</p></div>
|
1974
|
+
<div class="para"><p>If you really want to release the spawner server's memory immediately, then you can add a command
|
1975
|
+
to your Capistrano script to terminate the Passenger spawn server after each deploy. That
|
1976
|
+
command is as follows:</p></div>
|
1977
|
+
<div class="listingblock">
|
1978
|
+
<div class="content">
|
1979
|
+
<pre><tt>kill $( passenger-memory-stats | grep 'Passenger spawn server' | awk '{ print $1 }' )</tt></pre>
|
1980
|
+
</div></div>
|
1981
|
+
<div class="para"><p>Killing the spawn server is completely safe, because Phusion Passenger will restart the
|
1982
|
+
spawn server if it has been terminated.</p></div>
|
1983
|
+
</td>
|
1984
|
+
</tr></table>
|
1985
|
+
</div>
|
1986
|
+
<h3 id="_moving_phusion_passenger_to_a_different_directory">8.4. Moving Phusion Passenger to a different directory</h3><div style="clear:left"></div>
|
1987
|
+
<div class="para"><p>It is possible to relocate the Phusion Passenger files to a different directory. It
|
1369
1988
|
involves two steps:</p></div>
|
1370
1989
|
<div class="olist"><ol>
|
1371
1990
|
<li>
|
@@ -1375,11 +1994,11 @@ Moving the directory.
|
|
1375
1994
|
</li>
|
1376
1995
|
<li>
|
1377
1996
|
<p>
|
1378
|
-
Updating the “
|
1997
|
+
Updating the “PassengerRoot” configuration option in Apache.
|
1379
1998
|
</p>
|
1380
1999
|
</li>
|
1381
2000
|
</ol></div>
|
1382
|
-
<div class="para"><p>For example, if Passenger is located in <em>/opt/passenger/</em>, and you'd like to
|
2001
|
+
<div class="para"><p>For example, if Phusion Passenger is located in <em>/opt/passenger/</em>, and you'd like to
|
1383
2002
|
move it to <em>/usr/local/passenger/</em>, then do this:</p></div>
|
1384
2003
|
<div class="olist"><ol>
|
1385
2004
|
<li>
|
@@ -1397,11 +2016,11 @@ Edit your Apache configuration file, and set:
|
|
1397
2016
|
</p>
|
1398
2017
|
<div class="listingblock">
|
1399
2018
|
<div class="content">
|
1400
|
-
<pre><tt>
|
2019
|
+
<pre><tt>PassengerRoot /usr/local/passenger</tt></pre>
|
1401
2020
|
</div></div>
|
1402
2021
|
</li>
|
1403
2022
|
</ol></div>
|
1404
|
-
<h3 id="_installing_multiple_ruby_on_rails_versions">
|
2023
|
+
<h3 id="_installing_multiple_ruby_on_rails_versions">8.5. Installing multiple Ruby on Rails versions</h3><div style="clear:left"></div>
|
1405
2024
|
<div class="para"><p>Each Ruby on Rails applications that are going to be deployed may require a
|
1406
2025
|
specific Ruby on Rails version. You can install a specific version with
|
1407
2026
|
this command:</p></div>
|
@@ -1411,12 +2030,16 @@ this command:</p></div>
|
|
1411
2030
|
</div></div>
|
1412
2031
|
<div class="para"><p>where <em>X.X.X</em> is the version number of Ruby on Rails.</p></div>
|
1413
2032
|
<div class="para"><p>All of these versions will exist in parallel, and will not conflict with each
|
1414
|
-
other. Passenger will automatically make use of the correct version.</p></div>
|
1415
|
-
<h3 id="_x_sendfile_support">6.
|
1416
|
-
<div class="para"><p>Passenger does not provide X-Sendfile support by itself. Please install
|
2033
|
+
other. Phusion Passenger will automatically make use of the correct version.</p></div>
|
2034
|
+
<h3 id="_x_sendfile_support">8.6. X-Sendfile support</h3><div style="clear:left"></div>
|
2035
|
+
<div class="para"><p>Phusion Passenger does not provide X-Sendfile support by itself. Please install
|
1417
2036
|
<a href="http://tn123.ath.cx/mod_xsendfile/">mod_xsendfile</a> for X-Sendfile support.</p></div>
|
2037
|
+
<h3 id="_upload_progress">8.7. Upload progress</h3><div style="clear:left"></div>
|
2038
|
+
<div class="para"><p>Phusion Passenger does not provide upload progress support by itself. Please
|
2039
|
+
try drogus's <a href="http://github.com/drogus/apache-upload-progress-module/tree/master">
|
2040
|
+
Apache upload progress module</a> instead.</p></div>
|
1418
2041
|
</div>
|
1419
|
-
<h2 id="_appendix_a_about_this_document">
|
2042
|
+
<h2 id="_appendix_a_about_this_document">9. Appendix A: About this document</h2>
|
1420
2043
|
<div class="sectionbody">
|
1421
2044
|
<div class="para"><p>The text of this document is licensed under the
|
1422
2045
|
<a href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons
|
@@ -1426,16 +2049,17 @@ Attribution-Share Alike 3.0 Unported License</a>.</p></div>
|
|
1426
2049
|
<img src="images/by_sa.png" alt="images/by_sa.png" />
|
1427
2050
|
</a>
|
1428
2051
|
</span></p></div>
|
1429
|
-
<div class="para"><p>Passenger is brought to you by Phusion
|
2052
|
+
<div class="para"><p>Phusion Passenger is brought to you by <a href="http://www.phusion.nl/">Phusion</a>.</p></div>
|
1430
2053
|
<div class="para"><p><span class="image">
|
1431
2054
|
<a class="image" href="http://www.phusion.nl/">
|
1432
2055
|
<img src="images/phusion_banner.png" alt="images/phusion_banner.png" />
|
1433
2056
|
</a>
|
1434
2057
|
</span></p></div>
|
2058
|
+
<div class="para"><p>Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.</p></div>
|
1435
2059
|
</div>
|
1436
2060
|
<div id="footer">
|
1437
2061
|
<div id="footer-text">
|
1438
|
-
Last updated 2008-
|
2062
|
+
Last updated 2008-06-24 14:03:45 CEST
|
1439
2063
|
</div>
|
1440
2064
|
</div>
|
1441
2065
|
</body>
|