passenger 2.2.15 → 3.0.0.pre1
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 +21 -12
- data/LICENSE +1 -1
- data/NEWS +8 -1
- data/PACKAGING.TXT +25 -0
- data/Rakefile +28 -891
- data/bin/passenger +32 -0
- data/bin/passenger-config +5 -5
- data/bin/passenger-install-apache2-module +37 -24
- data/bin/passenger-install-nginx-module +48 -46
- data/bin/passenger-make-enterprisey +8 -9
- data/bin/passenger-memory-stats +20 -150
- data/bin/passenger-status +130 -44
- data/bin/passenger-stress-test +5 -4
- data/build/agents.rb +73 -0
- data/build/apache2.rb +165 -0
- data/build/basics.rb +81 -0
- data/build/common_library.rb +198 -0
- data/build/config.rb +35 -0
- data/{misc/rake/cplusplus.rb → build/cplusplus_support.rb} +1 -1
- data/build/cxx_tests.rb +205 -0
- data/build/documentation.rb +77 -0
- data/{misc/rake → build}/gempackagetask.rb +1 -1
- data/build/integration_tests.rb +57 -0
- data/build/misc.rb +146 -0
- data/build/nginx.rb +64 -0
- data/build/oxt_tests.rb +52 -0
- data/{misc/rake → build}/packagetask.rb +0 -0
- data/build/packaging.rb +189 -0
- data/{misc/rake/extensions.rb → build/rake_extensions.rb} +1 -1
- data/{misc/rake → build}/rdoctask.rb +0 -0
- data/build/ruby_extension.rb +46 -0
- data/build/ruby_tests.rb +42 -0
- data/build/test_basics.rb +31 -0
- data/doc/ApplicationPool algorithm.txt +447 -234
- data/doc/Architectural overview.html +47 -56
- data/doc/Doxyfile +1 -1
- data/doc/Security of user switching support.html +46 -57
- data/doc/Users guide Apache.html +1033 -306
- data/doc/Users guide Apache.txt +419 -99
- data/doc/Users guide Nginx.html +1252 -253
- data/doc/Users guide Nginx.txt +711 -87
- data/doc/Users guide Standalone.html +603 -0
- data/doc/Users guide Standalone.txt +40 -0
- data/doc/cxxapi/AbstractSpawnManager_8h_source.html +141 -0
- data/doc/cxxapi/Account_8h_source.html +206 -0
- data/doc/cxxapi/AccountsDatabase_8h_source.html +161 -0
- data/doc/cxxapi/AgentBase_8h_source.html +70 -0
- data/doc/cxxapi/AgentsStarter_8h_source.html +112 -0
- data/doc/cxxapi/BCrypt_8h_source.html +104 -0
- data/doc/cxxapi/Blowfish_8h_source.html +134 -0
- data/doc/cxxapi/Bucket_8h_source.html +4 -3
- data/doc/cxxapi/Constants_8h_source.html +79 -0
- data/doc/cxxapi/ContentHandler_8h_source.html +95 -0
- data/doc/cxxapi/DirectoryMapper_8h_source.html +9 -8
- data/doc/cxxapi/EventedClient_8h_source.html +629 -0
- data/doc/cxxapi/EventedMessageServer_8h_source.html +358 -0
- data/doc/cxxapi/EventedServer_8h_source.html +326 -0
- data/doc/cxxapi/Exceptions_8h_source.html +366 -0
- data/doc/cxxapi/FileDescriptor_8h_source.html +260 -0
- data/doc/cxxapi/Hooks_8h_source.html +2 -1
- data/doc/cxxapi/HttpStatusExtractor_8h_source.html +382 -0
- data/doc/cxxapi/Logging_8h_source.html +726 -0
- data/doc/cxxapi/MessageChannel_8h_source.html +852 -0
- data/doc/cxxapi/MessageClient_8h_source.html +328 -0
- data/doc/cxxapi/MessageReadersWriters_8h_source.html +539 -0
- data/doc/cxxapi/MessageServer_8h_source.html +606 -0
- data/doc/cxxapi/PoolOptions_8h_source.html +548 -0
- data/doc/cxxapi/Process_8h_source.html +286 -0
- data/doc/cxxapi/RandomGenerator_8h_source.html +191 -0
- data/doc/cxxapi/ResourceLocator_8h_source.html +115 -0
- data/doc/cxxapi/ScgiRequestParser_8h_source.html +406 -0
- data/doc/cxxapi/ServerInstanceDir_8h_source.html +374 -0
- data/doc/cxxapi/Session_8h_source.html +501 -0
- data/doc/cxxapi/SpawnManager_8h_source.html +647 -0
- data/doc/cxxapi/StaticContentHandler_8h_source.html +68 -0
- data/doc/cxxapi/StaticString_8h_source.html +254 -0
- data/doc/cxxapi/StringListCreator_8h_source.html +114 -0
- data/doc/cxxapi/Utils_8h_source.html +442 -0
- data/doc/cxxapi/annotated.html +46 -0
- data/doc/cxxapi/apache2_2Configuration_8h_source.html +82 -0
- data/doc/cxxapi/classAgentWatcher-members.html +30 -26
- data/doc/cxxapi/classAgentWatcher.html +168 -194
- data/doc/cxxapi/classClient-members.html +14 -11
- data/doc/cxxapi/classClient.html +35 -35
- data/doc/cxxapi/classHooks-members.html +2 -0
- data/doc/cxxapi/classHooks.html +2 -0
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager-members.html +16 -13
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager.html +78 -82
- data/doc/cxxapi/classPassenger_1_1ArgumentException-members.html +12 -9
- data/doc/cxxapi/classPassenger_1_1ArgumentException.html +26 -22
- data/doc/cxxapi/classPassenger_1_1ArrayMessage-members.html +37 -0
- data/doc/cxxapi/classPassenger_1_1ArrayMessage.html +113 -0
- data/doc/cxxapi/classPassenger_1_1BufferedUpload-members.html +14 -11
- data/doc/cxxapi/classPassenger_1_1BufferedUpload.html +41 -42
- data/doc/cxxapi/classPassenger_1_1BusyException-members.html +12 -9
- data/doc/cxxapi/classPassenger_1_1BusyException.html +24 -20
- data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +12 -9
- data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +23 -19
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +2 -0
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +8 -6
- data/doc/cxxapi/classPassenger_1_1EOFException-members.html +12 -9
- data/doc/cxxapi/classPassenger_1_1EOFException.html +27 -23
- data/doc/cxxapi/classPassenger_1_1EventFd-members.html +12 -9
- data/doc/cxxapi/classPassenger_1_1EventFd.html +24 -21
- data/doc/cxxapi/classPassenger_1_1EventedClient-members.html +54 -0
- data/doc/cxxapi/classPassenger_1_1EventedClient.html +436 -0
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer-members.html +37 -0
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer.html +59 -0
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.map +3 -0
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1EventedServer-members.html +37 -0
- data/doc/cxxapi/classPassenger_1_1EventedServer.html +93 -0
- data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.map +3 -0
- data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +16 -13
- data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +63 -70
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +12 -9
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +26 -22
- data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +17 -14
- data/doc/cxxapi/classPassenger_1_1FileSystemException.html +32 -30
- data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor-members.html +15 -12
- data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor.html +59 -59
- data/doc/cxxapi/classPassenger_1_1IOException-members.html +12 -9
- data/doc/cxxapi/classPassenger_1_1IOException.html +27 -23
- data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +36 -33
- data/doc/cxxapi/classPassenger_1_1MessageChannel.html +326 -344
- data/doc/cxxapi/classPassenger_1_1MessageServer-members.html +25 -22
- data/doc/cxxapi/classPassenger_1_1MessageServer.html +160 -191
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext-members.html +12 -9
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext.html +29 -27
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.map +3 -1
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.md5 +1 -1
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext-members.html +17 -14
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext.html +69 -79
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.map +3 -1
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.md5 +1 -1
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler-members.html +15 -12
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler.html +60 -63
- data/doc/cxxapi/classPassenger_1_1Process-members.html +20 -17
- data/doc/cxxapi/classPassenger_1_1Process.html +88 -95
- data/doc/cxxapi/classPassenger_1_1RandomGenerator-members.html +13 -10
- data/doc/cxxapi/classPassenger_1_1RandomGenerator.html +36 -35
- data/doc/cxxapi/classPassenger_1_1RuntimeException-members.html +12 -9
- data/doc/cxxapi/classPassenger_1_1RuntimeException.html +24 -20
- data/doc/cxxapi/classPassenger_1_1ScalarMessage-members.html +37 -0
- data/doc/cxxapi/classPassenger_1_1ScalarMessage.html +76 -0
- data/doc/cxxapi/classPassenger_1_1ScgiRequestParser-members.html +26 -23
- data/doc/cxxapi/classPassenger_1_1ScgiRequestParser.html +121 -138
- data/doc/cxxapi/classPassenger_1_1SecurityException-members.html +12 -9
- data/doc/cxxapi/classPassenger_1_1SecurityException.html +26 -22
- data/doc/cxxapi/classPassenger_1_1Session-members.html +29 -26
- data/doc/cxxapi/classPassenger_1_1Session.html +219 -240
- data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +14 -11
- data/doc/cxxapi/classPassenger_1_1SpawnException.html +36 -37
- data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +18 -15
- data/doc/cxxapi/classPassenger_1_1SpawnManager.html +115 -110
- data/doc/cxxapi/classPassenger_1_1StandardSession-members.html +30 -27
- data/doc/cxxapi/classPassenger_1_1StandardSession.html +163 -184
- data/doc/cxxapi/classPassenger_1_1StaticString-members.html +12 -9
- data/doc/cxxapi/classPassenger_1_1StaticString.html +27 -25
- data/doc/cxxapi/classPassenger_1_1SystemException-members.html +16 -13
- data/doc/cxxapi/classPassenger_1_1SystemException.html +65 -67
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException-members.html +16 -13
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException.html +27 -23
- data/doc/cxxapi/classPassenger_1_1TimeoutException-members.html +12 -9
- data/doc/cxxapi/classPassenger_1_1TimeoutException.html +24 -20
- data/doc/cxxapi/classPassenger_1_1Uint16Message-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1Uint16Message.html +51 -0
- data/doc/cxxapi/classPassenger_1_1Uint32Message-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1Uint32Message.html +51 -0
- data/doc/cxxapi/classServer-members.html +12 -9
- data/doc/cxxapi/classServer.html +23 -20
- data/doc/cxxapi/classServerInstanceDirToucher-members.html +12 -9
- data/doc/cxxapi/classServerInstanceDirToucher.html +21 -17
- data/doc/cxxapi/classes.html +18 -4
- data/doc/cxxapi/definitions_8h_source.html +1 -0
- data/doc/cxxapi/files.html +36 -1
- data/doc/cxxapi/functions.html +53 -21
- data/doc/cxxapi/functions_0x62.html +82 -0
- data/doc/cxxapi/functions_0x63.html +99 -0
- data/doc/cxxapi/functions_0x64.html +95 -0
- data/doc/cxxapi/functions_0x65.html +88 -0
- data/doc/cxxapi/functions_0x66.html +100 -0
- data/doc/cxxapi/functions_0x67.html +170 -0
- data/doc/cxxapi/functions_0x68.html +88 -0
- data/doc/cxxapi/functions_0x69.html +93 -0
- data/doc/cxxapi/functions_0x6b.html +80 -0
- data/doc/cxxapi/functions_0x6c.html +88 -0
- data/doc/cxxapi/functions_0x6d.html +88 -0
- data/doc/cxxapi/functions_0x6e.html +86 -0
- data/doc/cxxapi/functions_0x6f.html +94 -0
- data/doc/cxxapi/functions_0x70.html +94 -0
- data/doc/cxxapi/functions_0x72.html +110 -0
- data/doc/cxxapi/functions_0x73.html +171 -0
- data/doc/cxxapi/functions_0x74.html +85 -0
- data/doc/cxxapi/functions_0x75.html +85 -0
- data/doc/cxxapi/functions_0x77.html +92 -0
- data/doc/cxxapi/functions_0x7e.html +79 -0
- data/doc/cxxapi/functions_enum.html +14 -12
- data/doc/cxxapi/functions_eval.html +22 -16
- data/doc/cxxapi/functions_func.html +460 -1
- data/doc/cxxapi/functions_vars.html +163 -63
- data/doc/cxxapi/graph_legend.html +1 -0
- data/doc/cxxapi/graph_legend.png +0 -0
- data/doc/cxxapi/group__Core.html +2 -2
- data/doc/cxxapi/group__Core.map +1 -2
- data/doc/cxxapi/group__Core.png +0 -0
- data/doc/cxxapi/group__Exceptions.html +32 -40
- data/doc/cxxapi/group__Hooks.html +2 -1
- data/doc/cxxapi/group__Hooks.map +1 -1
- data/doc/cxxapi/group__Hooks.png +0 -0
- data/doc/cxxapi/group__Support.html +509 -0
- data/doc/cxxapi/hierarchy.html +66 -62
- data/doc/cxxapi/inherit__graph__10.map +3 -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 +4 -1
- data/doc/cxxapi/inherit__graph__11.md5 +1 -1
- data/doc/cxxapi/inherit__graph__11.png +0 -0
- data/doc/cxxapi/inherit__graph__12.map +3 -1
- data/doc/cxxapi/inherit__graph__12.md5 +1 -1
- data/doc/cxxapi/inherit__graph__12.png +0 -0
- data/doc/cxxapi/inherit__graph__13.map +3 -1
- data/doc/cxxapi/inherit__graph__13.md5 +1 -1
- data/doc/cxxapi/inherit__graph__13.png +0 -0
- data/doc/cxxapi/inherit__graph__14.map +3 -1
- data/doc/cxxapi/inherit__graph__14.md5 +1 -1
- data/doc/cxxapi/inherit__graph__14.png +0 -0
- data/doc/cxxapi/inherit__graph__15.map +5 -1
- data/doc/cxxapi/inherit__graph__15.md5 +1 -1
- data/doc/cxxapi/inherit__graph__15.png +0 -0
- data/doc/cxxapi/inherit__graph__16.map +3 -3
- data/doc/cxxapi/inherit__graph__16.md5 +1 -1
- data/doc/cxxapi/inherit__graph__16.png +0 -0
- data/doc/cxxapi/inherit__graph__17.map +3 -1
- data/doc/cxxapi/inherit__graph__17.md5 +1 -1
- data/doc/cxxapi/inherit__graph__17.png +0 -0
- data/doc/cxxapi/inherit__graph__18.map +4 -1
- data/doc/cxxapi/inherit__graph__18.md5 +1 -1
- data/doc/cxxapi/inherit__graph__18.png +0 -0
- data/doc/cxxapi/inherit__graph__19.map +3 -1
- data/doc/cxxapi/inherit__graph__19.md5 +1 -1
- data/doc/cxxapi/inherit__graph__19.png +0 -0
- data/doc/cxxapi/inherit__graph__20.map +3 -2
- data/doc/cxxapi/inherit__graph__20.md5 +1 -1
- data/doc/cxxapi/inherit__graph__20.png +0 -0
- data/doc/cxxapi/inherit__graph__21.map +3 -1
- data/doc/cxxapi/inherit__graph__21.md5 +1 -1
- data/doc/cxxapi/inherit__graph__21.png +0 -0
- data/doc/cxxapi/inherit__graph__22.map +3 -1
- data/doc/cxxapi/inherit__graph__22.md5 +1 -1
- data/doc/cxxapi/inherit__graph__22.png +0 -0
- data/doc/cxxapi/inherit__graph__23.map +3 -1
- data/doc/cxxapi/inherit__graph__23.md5 +1 -1
- data/doc/cxxapi/inherit__graph__23.png +0 -0
- data/doc/cxxapi/inherit__graph__24.map +3 -1
- data/doc/cxxapi/inherit__graph__24.md5 +1 -1
- data/doc/cxxapi/inherit__graph__24.png +0 -0
- data/doc/cxxapi/inherit__graph__25.map +3 -1
- data/doc/cxxapi/inherit__graph__25.md5 +1 -1
- data/doc/cxxapi/inherit__graph__25.png +0 -0
- data/doc/cxxapi/inherit__graph__26.map +3 -1
- data/doc/cxxapi/inherit__graph__26.md5 +1 -1
- data/doc/cxxapi/inherit__graph__26.png +0 -0
- data/doc/cxxapi/inherit__graph__27.map +3 -1
- data/doc/cxxapi/inherit__graph__27.md5 +1 -1
- data/doc/cxxapi/inherit__graph__27.png +0 -0
- data/doc/cxxapi/inherit__graph__28.map +4 -1
- data/doc/cxxapi/inherit__graph__28.md5 +1 -1
- data/doc/cxxapi/inherit__graph__28.png +0 -0
- data/doc/cxxapi/inherit__graph__29.map +3 -1
- data/doc/cxxapi/inherit__graph__29.md5 +1 -1
- data/doc/cxxapi/inherit__graph__29.png +0 -0
- data/doc/cxxapi/inherit__graph__30.map +3 -2
- data/doc/cxxapi/inherit__graph__30.md5 +1 -1
- data/doc/cxxapi/inherit__graph__30.png +0 -0
- data/doc/cxxapi/inherit__graph__31.map +3 -1
- data/doc/cxxapi/inherit__graph__31.md5 +1 -1
- data/doc/cxxapi/inherit__graph__31.png +0 -0
- data/doc/cxxapi/inherit__graph__32.map +5 -1
- data/doc/cxxapi/inherit__graph__32.md5 +1 -1
- data/doc/cxxapi/inherit__graph__32.png +0 -0
- data/doc/cxxapi/inherit__graph__33.map +3 -1
- data/doc/cxxapi/inherit__graph__33.md5 +1 -1
- data/doc/cxxapi/inherit__graph__33.png +0 -0
- data/doc/cxxapi/inherit__graph__34.map +3 -3
- data/doc/cxxapi/inherit__graph__34.md5 +1 -1
- data/doc/cxxapi/inherit__graph__34.png +0 -0
- data/doc/cxxapi/inherit__graph__35.map +3 -1
- data/doc/cxxapi/inherit__graph__35.md5 +1 -1
- data/doc/cxxapi/inherit__graph__35.png +0 -0
- data/doc/cxxapi/inherit__graph__36.map +3 -1
- data/doc/cxxapi/inherit__graph__36.md5 +1 -1
- data/doc/cxxapi/inherit__graph__36.png +0 -0
- data/doc/cxxapi/inherit__graph__37.map +3 -1
- data/doc/cxxapi/inherit__graph__37.md5 +1 -1
- data/doc/cxxapi/inherit__graph__37.png +0 -0
- data/doc/cxxapi/inherit__graph__4.map +3 -1
- 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 +3 -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 +3 -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 +3 -1
- 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 +3 -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 +3 -1
- data/doc/cxxapi/inherit__graph__9.md5 +1 -1
- data/doc/cxxapi/inherit__graph__9.png +0 -0
- data/doc/cxxapi/inherits.html +123 -126
- data/doc/cxxapi/main.html +1 -0
- data/doc/cxxapi/modules.html +2 -1
- data/doc/cxxapi/namespacePassenger.html +263 -492
- data/doc/cxxapi/namespacemembers.html +68 -96
- data/doc/cxxapi/namespacemembers_enum.html +14 -12
- data/doc/cxxapi/namespacemembers_eval.html +20 -15
- data/doc/cxxapi/namespacemembers_func.html +52 -88
- data/doc/cxxapi/namespacemembers_type.html +18 -14
- data/doc/cxxapi/namespaces.html +12 -9
- data/doc/cxxapi/nginx_2Configuration_8h_source.html +125 -0
- data/doc/cxxapi/ngx__http__passenger__module_8h_source.html +94 -0
- data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard-members.html +12 -9
- data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html +24 -22
- data/doc/cxxapi/structPassenger_1_1PoolOptions-members.html +43 -38
- data/doc/cxxapi/structPassenger_1_1PoolOptions.html +275 -325
- data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash-members.html +12 -9
- data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash.html +24 -22
- data/doc/cxxapi/tree.html +152 -7
- data/doc/users_guide_snippets/{analysis_and_system_maintenance_tools.txt → analysis_and_system_maintenance.txt} +58 -1
- data/doc/users_guide_snippets/appendix_c_spawning_methods.txt +1 -2
- data/doc/users_guide_snippets/global_queueing_explained.txt +1 -5
- data/doc/users_guide_snippets/{rails_spawn_method.txt → passenger_spawn_method.txt} +9 -8
- data/doc/users_guide_snippets/tips.txt +12 -6
- data/doc/users_guide_snippets/under_the_hood/page_caching_support.txt +22 -0
- data/ext/apache2/Bucket.cpp +4 -4
- data/ext/apache2/Bucket.h +3 -3
- data/ext/apache2/Configuration.cpp +278 -381
- data/ext/apache2/Configuration.h +3 -357
- data/ext/apache2/Configuration.hpp +461 -0
- data/ext/apache2/DirectoryMapper.h +3 -3
- data/ext/apache2/HelperAgent.cpp +359 -0
- data/ext/apache2/Hooks.cpp +339 -226
- data/ext/apache2/Hooks.h +1 -1
- data/ext/apache2/mod_passenger.c +10 -4
- data/ext/boost/algorithm/string/case_conv.hpp +4 -4
- data/ext/boost/algorithm/string/concept.hpp +2 -2
- data/ext/boost/algorithm/string/detail/case_conv.hpp +18 -9
- data/ext/boost/algorithm/string/detail/find_format.hpp +44 -43
- data/ext/boost/algorithm/string/detail/find_format_all.hpp +56 -56
- data/ext/boost/algorithm/string/detail/find_format_store.hpp +7 -0
- data/ext/boost/algorithm/string/detail/finder.hpp +14 -14
- data/ext/boost/algorithm/string/detail/formatter.hpp +2 -2
- data/ext/boost/algorithm/string/detail/replace_storage.hpp +3 -3
- data/ext/boost/algorithm/string/detail/sequence.hpp +3 -3
- data/ext/boost/algorithm/string/erase.hpp +98 -98
- data/ext/boost/algorithm/string/find_format.hpp +56 -38
- data/ext/boost/algorithm/string/finder.hpp +6 -6
- data/ext/boost/algorithm/string/formatter.hpp +1 -1
- data/ext/boost/algorithm/string/replace.hpp +99 -99
- data/ext/boost/bind.hpp +5 -1670
- data/ext/boost/bind/bind.hpp +1751 -0
- data/ext/boost/bind/bind_mf2_cc.hpp +228 -0
- data/ext/boost/bind/mem_fn.hpp +389 -0
- data/ext/boost/bind/mem_fn_template.hpp +54 -27
- data/ext/boost/bind/placeholders.hpp +3 -2
- data/ext/boost/concept_check.hpp +10 -0
- data/ext/boost/config/abi/msvc_prefix.hpp +15 -1
- data/ext/boost/config/abi_prefix.hpp +1 -1
- data/ext/boost/config/abi_suffix.hpp +3 -2
- data/ext/boost/config/auto_link.hpp +6 -1
- data/ext/boost/config/compiler/borland.hpp +75 -17
- data/ext/boost/config/compiler/codegear.hpp +163 -0
- data/ext/boost/config/compiler/common_edg.hpp +35 -0
- data/ext/boost/config/compiler/digitalmars.hpp +26 -0
- data/ext/boost/config/compiler/gcc.hpp +69 -14
- data/ext/boost/config/compiler/hp_acc.hpp +32 -0
- data/ext/boost/config/compiler/intel.hpp +13 -2
- data/ext/boost/config/compiler/kai.hpp +0 -2
- data/ext/boost/config/compiler/metrowerks.hpp +29 -1
- data/ext/boost/config/compiler/mpw.hpp +30 -0
- data/ext/boost/config/compiler/pgi.hpp +37 -0
- data/ext/boost/config/compiler/sgi_mipspro.hpp +1 -0
- data/ext/boost/config/compiler/sunpro_cc.hpp +39 -7
- data/ext/boost/config/compiler/vacpp.hpp +31 -3
- data/ext/boost/config/compiler/visualc.hpp +72 -5
- data/ext/boost/config/no_tr1/cmath.hpp +28 -0
- data/ext/boost/config/platform/bsd.hpp +16 -3
- data/ext/boost/config/platform/hpux.hpp +3 -0
- data/ext/boost/config/platform/macos.hpp +8 -0
- data/ext/boost/config/platform/solaris.hpp +7 -0
- data/ext/boost/config/platform/vxworks.hpp +31 -0
- data/ext/boost/config/select_compiler_config.hpp +4 -0
- data/ext/boost/config/select_platform_config.hpp +6 -2
- data/ext/boost/config/select_stdlib_config.hpp +17 -8
- data/ext/boost/config/stdlib/dinkumware.hpp +34 -2
- data/ext/boost/config/stdlib/libcomo.hpp +25 -0
- data/ext/boost/config/stdlib/libstdcpp3.hpp +56 -2
- data/ext/boost/config/stdlib/modena.hpp +25 -0
- data/ext/boost/config/stdlib/msl.hpp +24 -0
- data/ext/boost/config/stdlib/roguewave.hpp +26 -0
- data/ext/boost/config/stdlib/sgi.hpp +25 -0
- data/ext/boost/config/stdlib/stlport.hpp +36 -1
- data/ext/boost/config/stdlib/vacpp.hpp +25 -0
- data/ext/boost/config/suffix.hpp +67 -32
- data/ext/boost/config/warning_disable.hpp +47 -0
- data/ext/boost/cstdint.hpp +62 -36
- data/ext/boost/date_time/c_time.hpp +28 -12
- data/ext/boost/date_time/compiler_config.hpp +27 -5
- data/ext/boost/date_time/constrained_value.hpp +36 -13
- data/ext/boost/date_time/date.hpp +44 -33
- data/ext/boost/date_time/date_duration.hpp +13 -14
- data/ext/boost/date_time/date_facet.hpp +215 -226
- data/ext/boost/date_time/date_generator_formatter.hpp +22 -20
- data/ext/boost/date_time/date_generator_parser.hpp +52 -51
- data/ext/boost/date_time/date_generators.hpp +16 -16
- data/ext/boost/date_time/date_parsing.hpp +115 -98
- data/ext/boost/date_time/filetime_functions.hpp +133 -41
- data/ext/boost/date_time/format_date_parser.hpp +22 -10
- data/ext/boost/date_time/gregorian/conversion.hpp +32 -39
- data/ext/boost/date_time/gregorian/greg_calendar.hpp +15 -14
- data/ext/boost/date_time/gregorian/greg_date.hpp +19 -18
- data/ext/boost/date_time/gregorian/greg_duration.hpp +106 -10
- data/ext/boost/date_time/gregorian/greg_duration_types.hpp +16 -7
- data/ext/boost/date_time/gregorian/greg_weekday.hpp +2 -2
- data/ext/boost/date_time/gregorian/gregorian_io.hpp +11 -4
- data/ext/boost/date_time/gregorian_calendar.hpp +8 -8
- data/ext/boost/date_time/gregorian_calendar.ipp +30 -30
- data/ext/boost/date_time/int_adapter.hpp +4 -2
- data/ext/boost/date_time/microsec_time_clock.hpp +39 -117
- data/ext/boost/date_time/period_parser.hpp +17 -15
- data/ext/boost/date_time/posix_time/conversion.hpp +28 -29
- data/ext/boost/date_time/posix_time/posix_time_config.hpp +19 -19
- data/ext/boost/date_time/posix_time/posix_time_io.hpp +31 -38
- data/ext/boost/date_time/posix_time/time_formatters.hpp +32 -32
- data/ext/boost/date_time/string_parse_tree.hpp +46 -46
- data/ext/boost/date_time/strings_from_facet.hpp +7 -5
- data/ext/boost/date_time/time.hpp +7 -6
- data/ext/boost/date_time/time_defs.hpp +12 -2
- data/ext/boost/date_time/time_duration.hpp +27 -26
- data/ext/boost/date_time/time_facet.hpp +386 -321
- data/ext/boost/date_time/time_formatting_streams.hpp +8 -5
- data/ext/boost/date_time/time_resolution_traits.hpp +29 -25
- data/ext/boost/date_time/time_system_split.hpp +7 -13
- data/ext/boost/date_time/wrapping_int.hpp +21 -15
- data/ext/boost/detail/call_traits.hpp +1 -1
- data/ext/boost/detail/endian.hpp +4 -4
- data/ext/boost/detail/no_exceptions_support.hpp +87 -0
- data/ext/boost/detail/sp_typeinfo.hpp +50 -4
- data/ext/boost/detail/workaround.hpp +63 -3
- data/ext/boost/enable_shared_from_this.hpp +4 -59
- data/ext/boost/exception/current_exception_cast.hpp +43 -0
- data/ext/boost/exception/detail/attribute_noreturn.hpp +17 -0
- data/ext/boost/exception/detail/error_info_impl.hpp +75 -0
- data/ext/boost/exception/detail/exception_ptr.hpp +490 -0
- data/ext/boost/exception/detail/is_output_streamable.hpp +47 -0
- data/ext/boost/exception/detail/object_hex_dump.hpp +50 -0
- data/ext/boost/exception/detail/type_info.hpp +79 -0
- data/ext/boost/exception/diagnostic_information.hpp +182 -0
- data/ext/boost/exception/exception.hpp +422 -0
- data/ext/boost/exception/get_error_info.hpp +130 -0
- data/ext/boost/exception/info.hpp +167 -0
- data/ext/boost/exception/to_string.hpp +83 -0
- data/ext/boost/exception/to_string_stub.hpp +109 -0
- data/ext/boost/exception_ptr.hpp +11 -0
- data/ext/boost/function/detail/prologue.hpp +2 -1
- data/ext/boost/function/function_base.hpp +270 -128
- data/ext/boost/function/function_fwd.hpp +70 -0
- data/ext/boost/function/function_template.hpp +319 -130
- data/ext/boost/get_pointer.hpp +5 -1
- data/ext/boost/integer.hpp +253 -0
- data/ext/boost/integer_fwd.hpp +174 -0
- data/ext/boost/integer_traits.hpp +26 -1
- data/ext/boost/io/ios_state.hpp +8 -0
- data/ext/boost/iterator/detail/config_def.hpp +4 -2
- data/ext/boost/iterator/iterator_adaptor.hpp +7 -2
- data/ext/boost/iterator/iterator_facade.hpp +1 -2
- data/ext/boost/lexical_cast.hpp +113 -105
- data/ext/boost/limits.hpp +1 -1
- data/ext/boost/mem_fn.hpp +5 -370
- data/ext/boost/memory_order.hpp +53 -0
- data/ext/boost/mpl/always.hpp +3 -3
- data/ext/boost/mpl/and.hpp +3 -3
- data/ext/boost/mpl/apply.hpp +3 -3
- data/ext/boost/mpl/apply_fwd.hpp +3 -3
- data/ext/boost/mpl/apply_wrap.hpp +37 -6
- data/ext/boost/mpl/arg.hpp +3 -3
- data/ext/boost/mpl/arg_fwd.hpp +3 -3
- data/ext/boost/mpl/assert.hpp +6 -6
- data/ext/boost/mpl/aux_/adl_barrier.hpp +3 -3
- data/ext/boost/mpl/aux_/arg_typedef.hpp +3 -3
- data/ext/boost/mpl/aux_/arity.hpp +3 -3
- data/ext/boost/mpl/aux_/arity_spec.hpp +3 -3
- data/ext/boost/mpl/aux_/common_name_wknd.hpp +3 -3
- data/ext/boost/mpl/aux_/config/adl.hpp +4 -4
- data/ext/boost/mpl/aux_/config/arrays.hpp +4 -4
- data/ext/boost/mpl/aux_/config/bcc.hpp +28 -0
- data/ext/boost/mpl/aux_/config/bind.hpp +4 -4
- data/ext/boost/mpl/aux_/config/compiler.hpp +8 -6
- data/ext/boost/mpl/aux_/config/ctps.hpp +3 -3
- data/ext/boost/mpl/aux_/config/dtp.hpp +5 -5
- data/ext/boost/mpl/aux_/config/eti.hpp +3 -3
- data/ext/boost/mpl/aux_/config/gcc.hpp +3 -3
- data/ext/boost/mpl/aux_/config/has_apply.hpp +3 -3
- data/ext/boost/mpl/aux_/config/has_xxx.hpp +3 -3
- data/ext/boost/mpl/aux_/config/integral.hpp +4 -4
- data/ext/boost/mpl/aux_/config/intel.hpp +3 -3
- data/ext/boost/mpl/aux_/config/lambda.hpp +3 -3
- data/ext/boost/mpl/aux_/config/msvc.hpp +3 -3
- data/ext/boost/mpl/aux_/config/msvc_typename.hpp +3 -3
- data/ext/boost/mpl/aux_/config/nttp.hpp +3 -3
- data/ext/boost/mpl/aux_/config/overload_resolution.hpp +3 -3
- data/ext/boost/mpl/aux_/config/pp_counter.hpp +3 -3
- data/ext/boost/mpl/aux_/config/preprocessor.hpp +4 -4
- data/ext/boost/mpl/aux_/config/static_constant.hpp +3 -3
- data/ext/boost/mpl/aux_/config/ttp.hpp +4 -4
- data/ext/boost/mpl/aux_/config/use_preprocessed.hpp +3 -3
- data/ext/boost/mpl/aux_/config/workaround.hpp +3 -3
- data/ext/boost/mpl/aux_/full_lambda.hpp +3 -3
- data/ext/boost/mpl/aux_/has_apply.hpp +3 -3
- data/ext/boost/mpl/aux_/has_type.hpp +3 -3
- data/ext/boost/mpl/aux_/include_preprocessed.hpp +3 -3
- data/ext/boost/mpl/aux_/integral_wrapper.hpp +3 -3
- data/ext/boost/mpl/aux_/lambda_arity_param.hpp +3 -3
- data/ext/boost/mpl/aux_/lambda_support.hpp +4 -4
- data/ext/boost/mpl/aux_/msvc_never_true.hpp +3 -3
- data/ext/boost/mpl/aux_/na.hpp +3 -3
- data/ext/boost/mpl/aux_/na_assert.hpp +3 -3
- data/ext/boost/mpl/aux_/na_fwd.hpp +3 -3
- data/ext/boost/mpl/aux_/na_spec.hpp +3 -3
- data/ext/boost/mpl/aux_/nested_type_wknd.hpp +3 -3
- data/ext/boost/mpl/aux_/nttp_decl.hpp +3 -3
- data/ext/boost/mpl/aux_/preprocessor/def_params_tail.hpp +3 -3
- data/ext/boost/mpl/aux_/preprocessor/enum.hpp +3 -3
- data/ext/boost/mpl/aux_/preprocessor/filter_params.hpp +3 -3
- data/ext/boost/mpl/aux_/preprocessor/params.hpp +3 -3
- data/ext/boost/mpl/aux_/preprocessor/sub.hpp +3 -3
- data/ext/boost/mpl/aux_/static_cast.hpp +3 -3
- data/ext/boost/mpl/aux_/template_arity.hpp +3 -3
- data/ext/boost/mpl/aux_/template_arity_fwd.hpp +3 -3
- data/ext/boost/mpl/aux_/type_wrapper.hpp +3 -3
- data/ext/boost/mpl/aux_/value_wknd.hpp +3 -3
- data/ext/boost/mpl/aux_/yes_no.hpp +3 -3
- data/ext/boost/mpl/bind.hpp +3 -3
- data/ext/boost/mpl/bind_fwd.hpp +3 -3
- data/ext/boost/mpl/bool.hpp +3 -3
- data/ext/boost/mpl/bool_fwd.hpp +3 -3
- data/ext/boost/mpl/eval_if.hpp +3 -3
- data/ext/boost/mpl/has_xxx.hpp +10 -8
- data/ext/boost/mpl/identity.hpp +3 -3
- data/ext/boost/mpl/if.hpp +3 -3
- data/ext/boost/mpl/int.hpp +3 -3
- data/ext/boost/mpl/int_fwd.hpp +3 -3
- data/ext/boost/mpl/integral_c.hpp +3 -3
- data/ext/boost/mpl/integral_c_fwd.hpp +3 -3
- data/ext/boost/mpl/integral_c_tag.hpp +3 -3
- data/ext/boost/mpl/lambda.hpp +3 -3
- data/ext/boost/mpl/lambda_fwd.hpp +3 -3
- data/ext/boost/mpl/limits/arity.hpp +3 -3
- data/ext/boost/mpl/logical.hpp +3 -3
- data/ext/boost/mpl/next.hpp +3 -3
- data/ext/boost/mpl/next_prior.hpp +3 -3
- data/ext/boost/mpl/not.hpp +3 -3
- data/ext/boost/mpl/or.hpp +3 -3
- data/ext/boost/mpl/placeholders.hpp +3 -3
- data/ext/boost/mpl/protect.hpp +3 -3
- data/ext/boost/mpl/quote.hpp +18 -7
- data/ext/boost/mpl/size_t.hpp +3 -3
- data/ext/boost/mpl/size_t_fwd.hpp +3 -3
- data/ext/boost/mpl/void.hpp +3 -3
- data/ext/boost/mpl/void_fwd.hpp +3 -3
- data/ext/boost/non_type.hpp +27 -27
- data/ext/boost/operators.hpp +51 -18
- data/ext/boost/preprocessor/arithmetic/detail/div_base.hpp +61 -0
- data/ext/boost/preprocessor/arithmetic/mod.hpp +39 -0
- data/ext/boost/preprocessor/comparison/less_equal.hpp +39 -0
- data/ext/boost/preprocessor/control/deduce_d.hpp +22 -0
- data/ext/boost/preprocessor/logical/not.hpp +30 -0
- data/ext/boost/preprocessor/seq/cat.hpp +48 -0
- data/ext/boost/preprocessor/seq/fold_left.hpp +1070 -0
- data/ext/boost/preprocessor/seq/transform.hpp +48 -0
- data/ext/boost/range/as_literal.hpp +10 -14
- data/ext/boost/range/begin.hpp +4 -4
- data/ext/boost/range/detail/implementation_help.hpp +4 -0
- data/ext/boost/range/end.hpp +4 -4
- data/ext/boost/range/iterator_range.hpp +31 -15
- data/ext/boost/ref.hpp +12 -1
- data/ext/boost/scoped_array.hpp +16 -0
- data/ext/boost/scoped_ptr.hpp +16 -0
- data/ext/boost/shared_ptr.hpp +2 -602
- data/ext/boost/{detail → smart_ptr}/bad_weak_ptr.hpp +4 -4
- data/ext/boost/{detail → smart_ptr/detail}/atomic_count.hpp +14 -19
- data/ext/boost/{detail → smart_ptr/detail}/atomic_count_gcc.hpp +13 -9
- data/ext/boost/{detail → smart_ptr/detail}/atomic_count_gcc_x86.hpp +5 -12
- data/ext/boost/{detail → smart_ptr/detail}/atomic_count_pthreads.hpp +5 -5
- data/ext/boost/{detail → smart_ptr/detail}/atomic_count_solaris.hpp +3 -3
- data/ext/boost/{detail → smart_ptr/detail}/atomic_count_sync.hpp +9 -5
- data/ext/boost/{detail → smart_ptr/detail}/atomic_count_win32.hpp +3 -3
- data/ext/boost/smart_ptr/detail/operator_bool.hpp +56 -0
- data/ext/boost/{detail → smart_ptr/detail}/shared_count.hpp +86 -17
- data/ext/boost/smart_ptr/detail/sp_convertible.hpp +76 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base.hpp +70 -0
- data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_acc_ia64.hpp +4 -4
- data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_cw_ppc.hpp +4 -4
- data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_cw_x86.hpp +4 -4
- data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_gcc_ia64.hpp +4 -4
- data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +172 -0
- data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_gcc_ppc.hpp +4 -4
- data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_gcc_sparc.hpp +7 -7
- data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_gcc_x86.hpp +4 -4
- data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_nt.hpp +4 -4
- data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_pt.hpp +4 -4
- data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_solaris.hpp +4 -4
- data/ext/boost/smart_ptr/detail/sp_counted_base_spin.hpp +131 -0
- data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_sync.hpp +8 -4
- data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_w32.hpp +4 -4
- data/ext/boost/{detail → smart_ptr/detail}/sp_counted_impl.hpp +5 -5
- data/ext/boost/smart_ptr/detail/sp_has_sync.hpp +49 -0
- data/ext/boost/smart_ptr/detail/spinlock.hpp +53 -0
- data/ext/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +85 -0
- data/ext/boost/smart_ptr/detail/spinlock_nt.hpp +89 -0
- data/ext/boost/smart_ptr/detail/spinlock_pool.hpp +87 -0
- data/ext/boost/smart_ptr/detail/spinlock_pt.hpp +79 -0
- data/ext/boost/smart_ptr/detail/spinlock_sync.hpp +87 -0
- data/ext/boost/smart_ptr/detail/yield_k.hpp +149 -0
- data/ext/boost/smart_ptr/enable_shared_from_this.hpp +79 -0
- data/ext/boost/smart_ptr/scoped_array.hpp +107 -0
- data/ext/boost/smart_ptr/scoped_ptr.hpp +131 -0
- data/ext/boost/smart_ptr/shared_ptr.hpp +701 -0
- data/ext/boost/smart_ptr/weak_ptr.hpp +230 -0
- data/ext/boost/src/pthread/thread.cpp +115 -203
- data/ext/boost/src/tss_null.cpp +1 -1
- data/ext/boost/static_assert.hpp +14 -4
- data/ext/boost/thread.hpp +7 -2
- data/ext/boost/thread/barrier.hpp +63 -0
- data/ext/boost/thread/detail/force_cast.hpp +39 -0
- data/ext/boost/thread/detail/move.hpp +29 -2
- data/ext/boost/thread/detail/platform.hpp +3 -3
- data/ext/boost/thread/detail/singleton.hpp +59 -0
- data/ext/boost/thread/detail/thread.hpp +496 -0
- data/ext/boost/thread/detail/thread_group.hpp +105 -0
- data/ext/boost/thread/detail/thread_heap_alloc.hpp +23 -0
- data/ext/boost/thread/detail/thread_interruption.hpp +35 -0
- data/ext/boost/thread/detail/tss_hooks.hpp +82 -0
- data/ext/boost/thread/exceptions.hpp +174 -60
- data/ext/boost/thread/future.hpp +1364 -0
- data/ext/boost/thread/locks.hpp +899 -32
- data/ext/boost/thread/once.hpp +4 -0
- data/ext/boost/thread/pthread/condition_variable.hpp +16 -21
- data/ext/boost/thread/pthread/condition_variable_fwd.hpp +37 -3
- data/ext/boost/thread/pthread/mutex.hpp +20 -7
- data/ext/boost/thread/pthread/once.hpp +7 -2
- data/ext/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +5 -1
- data/ext/boost/thread/pthread/recursive_mutex.hpp +22 -5
- data/ext/boost/thread/pthread/shared_mutex.hpp +303 -0
- data/ext/boost/thread/pthread/thread_data.hpp +37 -10
- data/ext/boost/thread/pthread/thread_heap_alloc.hpp +242 -0
- data/ext/boost/thread/pthread/timespec.hpp +11 -3
- data/ext/boost/thread/shared_mutex.hpp +21 -0
- data/ext/boost/thread/thread.hpp +8 -3
- data/ext/boost/thread/thread_time.hpp +4 -0
- data/ext/boost/thread/tss.hpp +106 -13
- data/ext/boost/thread/xtime.hpp +6 -2
- data/ext/boost/throw_exception.hpp +36 -7
- data/ext/boost/token_functions.hpp +1 -1
- data/ext/boost/tokenizer.hpp +1 -1
- data/ext/boost/type_traits/add_pointer.hpp +1 -1
- data/ext/boost/type_traits/add_volatile.hpp +47 -0
- data/ext/boost/type_traits/alignment_of.hpp +29 -1
- data/ext/boost/type_traits/config.hpp +1 -1
- data/ext/boost/type_traits/conversion_traits.hpp +1 -1
- data/ext/boost/type_traits/has_trivial_destructor.hpp +42 -0
- data/ext/boost/type_traits/intrinsics.hpp +88 -1
- data/ext/boost/type_traits/is_abstract.hpp +14 -5
- data/ext/boost/type_traits/is_arithmetic.hpp +8 -0
- data/ext/boost/type_traits/is_array.hpp +3 -2
- data/ext/boost/type_traits/is_base_and_derived.hpp +254 -0
- data/ext/boost/type_traits/is_base_of.hpp +51 -0
- data/ext/boost/type_traits/is_class.hpp +12 -0
- data/ext/boost/type_traits/is_const.hpp +6 -2
- data/ext/boost/type_traits/is_convertible.hpp +14 -2
- data/ext/boost/type_traits/is_enum.hpp +10 -1
- data/ext/boost/type_traits/is_function.hpp +11 -3
- data/ext/boost/type_traits/is_fundamental.hpp +45 -0
- data/ext/boost/type_traits/is_integral.hpp +5 -0
- data/ext/boost/type_traits/is_member_function_pointer.hpp +5 -3
- data/ext/boost/type_traits/is_member_pointer.hpp +4 -2
- data/ext/boost/type_traits/is_pointer.hpp +3 -1
- data/ext/boost/type_traits/is_reference.hpp +4 -2
- data/ext/boost/type_traits/is_signed.hpp +135 -0
- data/ext/boost/type_traits/is_unsigned.hpp +130 -0
- data/ext/boost/type_traits/is_void.hpp +5 -0
- data/ext/boost/type_traits/is_volatile.hpp +4 -2
- data/ext/boost/type_traits/make_unsigned.hpp +137 -0
- data/ext/boost/type_traits/remove_reference.hpp +1 -1
- data/ext/boost/type_traits/type_with_alignment.hpp +106 -1
- data/ext/boost/utility.hpp +2 -1
- data/ext/boost/utility/addressof.hpp +61 -17
- data/ext/boost/utility/binary.hpp +708 -0
- data/ext/boost/utility/enable_if.hpp +2 -2
- data/ext/boost/weak_ptr.hpp +4 -174
- data/ext/common/AbstractSpawnManager.h +110 -0
- data/ext/common/Account.h +175 -0
- data/ext/common/AccountsDatabase.cpp +81 -0
- data/ext/common/AccountsDatabase.h +130 -0
- data/ext/common/AgentBase.cpp +323 -0
- data/ext/common/{Version.h → AgentBase.h} +14 -6
- data/ext/common/AgentsStarter.cpp +154 -0
- data/ext/common/AgentsStarter.h +81 -0
- data/ext/common/AgentsStarter.hpp +619 -0
- data/ext/common/ApplicationPool/Client.h +796 -0
- data/ext/common/{ApplicationPool.h → ApplicationPool/Interface.h} +108 -18
- data/ext/common/ApplicationPool/Pool.h +1315 -0
- data/ext/common/ApplicationPool/Server.h +475 -0
- data/ext/common/BCrypt.cpp +343 -0
- data/ext/common/BCrypt.h +73 -0
- data/ext/common/Blowfish.c +685 -0
- data/ext/common/Blowfish.h +103 -0
- data/ext/common/Constants.h +48 -0
- data/ext/common/EventedClient.h +598 -0
- data/ext/common/EventedMessageServer.h +327 -0
- data/ext/common/EventedServer.h +295 -0
- data/ext/common/Exceptions.h +78 -1
- data/ext/common/FileDescriptor.h +229 -0
- data/ext/common/HelperAgent/BacktracesServer.h +59 -0
- data/ext/common/Logging.cpp +8 -9
- data/ext/common/Logging.h +593 -21
- data/ext/common/LoggingAgent/ChangeNotifier.h +63 -0
- data/ext/common/LoggingAgent/DataStoreId.h +177 -0
- data/ext/common/LoggingAgent/LoggingServer.h +1343 -0
- data/ext/common/LoggingAgent/Main.cpp +278 -0
- data/ext/common/LoggingAgent/RemoteSender.h +457 -0
- data/ext/common/MessageChannel.h +196 -34
- data/ext/common/MessageClient.h +297 -0
- data/ext/common/MessageReadersWriters.h +508 -0
- data/ext/common/MessageServer.h +575 -0
- data/ext/common/PoolOptions.h +279 -117
- data/ext/common/Process.h +255 -0
- data/ext/common/RandomGenerator.h +160 -0
- data/ext/common/ResourceLocator.h +84 -0
- data/ext/common/ServerInstanceDir.h +343 -0
- data/ext/common/Session.h +470 -0
- data/ext/common/SpawnManager.h +256 -201
- data/ext/common/StaticString.h +79 -4
- data/ext/common/StringListCreator.h +2 -2
- data/ext/common/Utils.cpp +385 -397
- data/ext/common/Utils.h +79 -165
- data/ext/common/{Base64.cpp → Utils/Base64.cpp} +0 -0
- data/ext/common/{Base64.h → Utils/Base64.h} +27 -1
- data/ext/common/Utils/BlockingQueue.h +136 -0
- data/ext/common/Utils/BlockingScalar.h +50 -0
- data/ext/common/{CachedFileStat.cpp → Utils/CachedFileStat.cpp} +1 -1
- data/ext/common/{CachedFileStat.h → Utils/CachedFileStat.h} +1 -1
- data/ext/common/{CachedFileStat.hpp → Utils/CachedFileStat.hpp} +1 -1
- data/ext/common/{FileChangeChecker.h → Utils/FileChangeChecker.h} +1 -1
- data/ext/common/Utils/FileHandleGuard.h +81 -0
- data/ext/common/Utils/IOUtils.cpp +754 -0
- data/ext/common/Utils/IOUtils.h +253 -0
- data/ext/common/Utils/MD5.cpp +406 -0
- data/ext/common/Utils/MD5.h +98 -0
- data/ext/common/Utils/MemZeroGuard.h +103 -0
- data/ext/common/Utils/ProcessMetricsCollector.h +462 -0
- data/ext/common/Utils/ScopeGuard.h +72 -0
- data/ext/common/Utils/StrIntUtils.cpp +329 -0
- data/ext/common/Utils/StrIntUtils.h +228 -0
- data/ext/common/{SystemTime.cpp → Utils/SystemTime.cpp} +5 -1
- data/ext/common/Utils/SystemTime.h +201 -0
- data/ext/common/{Timer.h → Utils/Timer.h} +58 -18
- data/ext/common/Utils/VariantMap.h +363 -0
- data/ext/common/Utils/foo.cpp +10 -0
- data/ext/common/Watchdog.cpp +1034 -0
- data/ext/google/COPYING +28 -0
- data/ext/google/ChangeLog +167 -0
- data/ext/google/dense_hash_map +310 -0
- data/ext/google/dense_hash_set +287 -0
- data/ext/google/sparse_hash_map +294 -0
- data/ext/google/sparse_hash_set +275 -0
- data/ext/google/sparsehash/densehashtable.h +1062 -0
- data/ext/google/sparsehash/sparseconfig.h +55 -0
- data/ext/google/sparsehash/sparsehashtable.h +1015 -0
- data/ext/google/sparsetable +1468 -0
- data/ext/google/type_traits.h +250 -0
- data/ext/libev/Changes +302 -0
- data/ext/libev/LICENSE +36 -0
- data/ext/libev/Makefile.am +18 -0
- data/ext/libev/Makefile.in +685 -0
- data/ext/libev/README +58 -0
- data/ext/libev/aclocal.m4 +7549 -0
- data/ext/libev/autogen.sh +6 -0
- data/ext/libev/config.guess +1526 -0
- data/ext/libev/config.h +122 -0
- data/ext/libev/config.h.in +121 -0
- data/ext/libev/config.sub +1658 -0
- data/ext/libev/configure +22156 -0
- data/ext/libev/configure.ac +18 -0
- data/ext/libev/ev++.h +800 -0
- data/ext/libev/ev.c +3694 -0
- data/ext/libev/ev.h +705 -0
- data/ext/libev/ev_epoll.c +228 -0
- data/ext/libev/ev_kqueue.c +196 -0
- data/ext/libev/ev_poll.c +144 -0
- data/ext/libev/ev_port.c +165 -0
- data/ext/libev/ev_select.c +308 -0
- data/ext/libev/ev_vars.h +187 -0
- data/ext/libev/ev_win32.c +153 -0
- data/ext/libev/ev_wrap.h +178 -0
- data/ext/libev/event.c +401 -0
- data/ext/libev/event.h +158 -0
- data/ext/libev/install-sh +294 -0
- data/ext/libev/libev.m4 +38 -0
- data/ext/libev/ltmain.sh +6871 -0
- data/ext/libev/missing +336 -0
- data/ext/libev/mkinstalldirs +111 -0
- data/ext/nginx/Configuration.c +532 -182
- data/ext/nginx/Configuration.h +33 -10
- data/ext/nginx/ContentHandler.c +188 -53
- data/ext/nginx/ContentHandler.h +1 -1
- data/ext/nginx/{HelperServer.cpp → HelperAgent.cpp} +433 -299
- data/ext/nginx/HttpStatusExtractor.h +1 -1
- data/ext/nginx/ScgiRequestParser.h +68 -11
- data/ext/nginx/StaticContentHandler.c +4 -1
- data/ext/nginx/StaticContentHandler.h +1 -1
- data/ext/nginx/config +5 -5
- data/ext/nginx/ngx_http_passenger_module.c +315 -469
- data/ext/nginx/ngx_http_passenger_module.h +8 -17
- data/ext/oxt/backtrace.cpp +49 -41
- data/ext/oxt/backtrace.hpp +1 -1
- data/ext/oxt/detail/backtrace_disabled.hpp +1 -1
- data/ext/oxt/detail/backtrace_enabled.hpp +16 -15
- data/ext/oxt/detail/spin_lock_darwin.hpp +69 -0
- data/ext/oxt/detail/spin_lock_gcc_x86.hpp +3 -4
- data/ext/oxt/detail/spin_lock_portable.hpp +1 -1
- data/ext/oxt/detail/spin_lock_pthreads.hpp +1 -1
- data/ext/oxt/detail/tracable_exception_disabled.hpp +1 -1
- data/ext/oxt/detail/tracable_exception_enabled.hpp +1 -1
- data/ext/oxt/dynamic_thread_group.hpp +195 -0
- data/ext/oxt/macros.hpp +1 -1
- data/ext/oxt/spin_lock.hpp +4 -2
- data/ext/oxt/system_calls.cpp +129 -13
- data/ext/oxt/system_calls.hpp +16 -2
- data/ext/oxt/thread.cpp +1 -1
- data/ext/oxt/thread.hpp +49 -14
- data/ext/oxt/tracable_exception.cpp +5 -5
- data/ext/oxt/tracable_exception.hpp +1 -1
- data/ext/phusion_passenger/extconf.rb +7 -2
- data/ext/phusion_passenger/native_support.c +733 -33
- data/{bin → helper-scripts}/passenger-spawn-server +50 -12
- data/helper-scripts/prespawn +63 -0
- data/lib/phusion_passenger.rb +113 -0
- data/lib/phusion_passenger/abstract_installer.rb +50 -12
- data/lib/phusion_passenger/abstract_request_handler.rb +432 -171
- data/lib/phusion_passenger/abstract_server.rb +125 -122
- data/lib/phusion_passenger/abstract_server_collection.rb +51 -22
- data/lib/phusion_passenger/admin_tools.rb +1 -1
- data/lib/phusion_passenger/admin_tools/memory_stats.rb +299 -0
- data/lib/phusion_passenger/admin_tools/server_instance.rb +334 -0
- data/lib/phusion_passenger/analytics_logger.rb +342 -0
- data/lib/phusion_passenger/{application.rb → app_process.rb} +73 -24
- data/lib/phusion_passenger/classic_rails/application_spawner.rb +344 -0
- data/lib/phusion_passenger/{railz → classic_rails}/cgi_fixed.rb +2 -2
- data/lib/phusion_passenger/{railz → classic_rails}/framework_spawner.rb +75 -98
- data/lib/phusion_passenger/{railz → classic_rails}/request_handler.rb +8 -6
- data/lib/phusion_passenger/classic_rails_extensions/analytics_logging/ac_base_extension.rb +65 -0
- data/lib/phusion_passenger/classic_rails_extensions/analytics_logging/ac_benchmarking_extension.rb +48 -0
- data/lib/phusion_passenger/classic_rails_extensions/analytics_logging/ac_rescue_extension.rb +59 -0
- data/lib/phusion_passenger/classic_rails_extensions/analytics_logging/ar_abstract_adapter_extension.rb +54 -0
- data/lib/phusion_passenger/classic_rails_extensions/analytics_logging/as_cache_extension.rb +130 -0
- data/lib/phusion_passenger/classic_rails_extensions/analytics_logging/av_benchmark_helper_extension.rb +47 -0
- data/lib/phusion_passenger/classic_rails_extensions/init.rb +123 -0
- data/lib/phusion_passenger/console_text_template.rb +1 -1
- data/lib/phusion_passenger/constants.rb +9 -5
- data/lib/phusion_passenger/debug_logging.rb +104 -0
- data/lib/phusion_passenger/dependencies.rb +187 -4
- data/lib/phusion_passenger/exceptions.rb +4 -4
- data/lib/phusion_passenger/html_template.rb +6 -8
- data/lib/phusion_passenger/message_channel.rb +137 -21
- data/lib/phusion_passenger/message_client.rb +173 -0
- data/lib/phusion_passenger/native_support.rb +108 -0
- data/lib/phusion_passenger/packaging.rb +82 -13
- data/lib/phusion_passenger/platform_info.rb +84 -475
- data/lib/phusion_passenger/platform_info/apache.rb +329 -0
- data/lib/phusion_passenger/platform_info/binary_compatibility.rb +187 -0
- data/lib/phusion_passenger/platform_info/compiler.rb +154 -0
- data/lib/phusion_passenger/{events.rb → platform_info/curl.rb} +26 -23
- data/lib/phusion_passenger/platform_info/documentation_tools.rb +35 -0
- data/lib/phusion_passenger/platform_info/linux.rb +77 -0
- data/lib/phusion_passenger/platform_info/operating_system.rb +51 -0
- data/lib/phusion_passenger/platform_info/ruby.rb +198 -0
- data/lib/phusion_passenger/platform_info/zlib.rb +38 -0
- data/lib/phusion_passenger/plugin.rb +96 -0
- data/lib/phusion_passenger/public_api.rb +112 -0
- data/lib/phusion_passenger/rack/application_spawner.rb +146 -71
- data/lib/phusion_passenger/rack/request_handler.rb +36 -13
- data/lib/phusion_passenger/rails3_extensions/init.rb +204 -0
- data/lib/phusion_passenger/simple_benchmarking.rb +1 -1
- data/lib/phusion_passenger/spawn_manager.rb +137 -141
- data/lib/phusion_passenger/standalone/app_finder.rb +153 -0
- data/lib/phusion_passenger/standalone/command.rb +237 -0
- data/lib/phusion_passenger/standalone/config_file.rb +119 -0
- data/lib/phusion_passenger/standalone/help_command.rb +57 -0
- data/lib/phusion_passenger/standalone/main.rb +101 -0
- data/lib/phusion_passenger/standalone/package_runtime_command.rb +92 -0
- data/lib/phusion_passenger/standalone/runtime_installer.rb +466 -0
- data/lib/phusion_passenger/standalone/start_command.rb +510 -0
- data/lib/phusion_passenger/standalone/status_command.rb +62 -0
- data/lib/phusion_passenger/standalone/stop_command.rb +74 -0
- data/lib/phusion_passenger/standalone/utils.rb +42 -0
- data/lib/phusion_passenger/standalone/version_command.rb +42 -0
- data/lib/phusion_passenger/templates/framework_init_error.html.erb +1 -1
- data/lib/phusion_passenger/templates/standalone/cannot_write_to_dir.txt.erb +11 -0
- data/lib/phusion_passenger/templates/standalone/config.erb +69 -0
- data/lib/phusion_passenger/templates/standalone/possible_solutions_for_download_and_extraction_problems.txt.erb +17 -0
- data/lib/phusion_passenger/templates/standalone/run_installer_as_root.txt.erb +8 -0
- data/lib/phusion_passenger/templates/standalone/welcome.txt.erb +8 -0
- data/lib/phusion_passenger/templates/standalone_default_root/index.html +1 -0
- data/lib/phusion_passenger/templates/version_not_found.html.erb +2 -2
- data/lib/phusion_passenger/utils.rb +476 -125
- data/lib/phusion_passenger/utils/file_system_watcher.rb +186 -0
- data/lib/phusion_passenger/utils/hosts_file_parser.rb +130 -0
- data/lib/phusion_passenger/utils/tmpdir.rb +70 -0
- data/lib/phusion_passenger/utils/unseekable_socket.rb +196 -0
- data/lib/phusion_passenger/wsgi/application_spawner.rb +24 -20
- data/lib/phusion_passenger/wsgi/request_handler.py +1 -1
- data/misc/copy_boost_headers.rb +36 -9
- data/misc/find_owner_pipe_leaks.rb +1 -1
- data/misc/render_error_pages.rb +1 -1
- data/misc/union_station_gateway.crt +32 -0
- data/test/config.yml.example +24 -13
- data/test/cxx/ApplicationPool_PoolTest.cpp +33 -0
- data/test/cxx/ApplicationPool_PoolTestCases.cpp +1029 -0
- data/test/cxx/ApplicationPool_ServerTest.cpp +308 -0
- data/test/cxx/ApplicationPool_Server_PoolTest.cpp +80 -0
- data/test/{Base64Test.cpp → cxx/Base64Test.cpp} +4 -2
- data/test/{CachedFileStatTest.cpp → cxx/CachedFileStatTest.cpp} +3 -3
- data/test/{CxxTestMain.cpp → cxx/CxxTestMain.cpp} +6 -27
- data/test/cxx/EventedClientTest.cpp +386 -0
- data/test/{FileChangeCheckerTest.cpp → cxx/FileChangeCheckerTest.cpp} +3 -5
- data/test/cxx/FileDescriptorTest.cpp +69 -0
- data/test/{HttpStatusExtractorTest.cpp → cxx/HttpStatusExtractorTest.cpp} +1 -1
- data/test/cxx/IOUtilsTest.cpp +398 -0
- data/test/cxx/LoggingTest.cpp +914 -0
- data/test/cxx/MessageChannelTest.cpp +672 -0
- data/test/cxx/MessageReadersWritersTest.cpp +574 -0
- data/test/cxx/MessageServerTest.cpp +383 -0
- data/test/{PoolOptionsTest.cpp → cxx/PoolOptionsTest.cpp} +2 -3
- data/test/{ScgiRequestParserTest.cpp → cxx/ScgiRequestParserTest.cpp} +53 -1
- data/test/cxx/ServerInstanceDirTest.cpp +186 -0
- data/test/cxx/SpawnManagerTest.cpp +161 -0
- data/test/cxx/StaticStringTest.cpp +86 -0
- data/test/{SystemTimeTest.cpp → cxx/SystemTimeTest.cpp} +2 -2
- data/test/cxx/TestSupport.cpp +166 -0
- data/test/cxx/TestSupport.h +254 -0
- data/test/cxx/UtilsTest.cpp +521 -0
- data/test/cxx/VariantMapTest.cpp +179 -0
- data/test/integration_tests/apache2_tests.rb +198 -127
- data/test/integration_tests/cgi_environment_spec.rb +26 -0
- data/test/integration_tests/mycook_spec.rb +2 -28
- data/test/integration_tests/nginx_tests.rb +125 -16
- data/test/integration_tests/spec_helper.rb +19 -0
- data/test/oxt/backtrace_test.cpp +19 -59
- data/test/oxt/counter.hpp +55 -0
- data/test/oxt/dynamic_thread_group_test.cpp +131 -0
- data/test/oxt/oxt_test_main.cpp +2 -2
- data/test/oxt/spin_lock_test.cpp +59 -0
- data/test/oxt/syscall_interruption_test.cpp +1 -1
- data/test/ruby/abstract_request_handler_spec.rb +346 -25
- data/test/ruby/abstract_server_collection_spec.rb +4 -3
- data/test/ruby/abstract_server_spec.rb +37 -27
- data/test/ruby/admin_tools_spec.rb +362 -0
- data/test/ruby/analytics_logger_spec.rb +253 -0
- data/test/ruby/{application_spec.rb → app_process_spec.rb} +14 -14
- data/test/ruby/classic_rails/application_spawner_spec.rb +89 -0
- data/test/ruby/classic_rails/framework_spawner_spec.rb +92 -0
- data/test/ruby/debug_logging_spec.rb +141 -0
- data/test/ruby/message_channel_spec.rb +51 -25
- data/test/ruby/rack/application_spawner_spec.rb +99 -82
- data/test/ruby/shared/abstract_server_spec.rb +23 -0
- data/test/ruby/shared/rails/analytics_logging_extensions_spec.rb +375 -0
- data/test/ruby/shared/spawners/classic_rails/framework_spawner_spec.rb +38 -0
- data/test/ruby/shared/spawners/classic_rails/lack_of_rails_gem_version_spec.rb +19 -0
- data/test/ruby/shared/spawners/classic_rails/spawner_spec.rb +15 -0
- data/test/ruby/shared/spawners/non_preloading_spawner_spec.rb +27 -0
- data/test/ruby/shared/spawners/preloading_spawner_spec.rb +29 -0
- data/test/ruby/shared/spawners/reload_all_spec.rb +36 -0
- data/test/ruby/shared/spawners/reload_single_spec.rb +52 -0
- data/test/ruby/shared/spawners/spawn_server_spec.rb +28 -0
- data/test/ruby/shared/spawners/spawner_spec.rb +273 -0
- data/test/ruby/shared/utils/pseudo_io_spec.rb +60 -0
- data/test/ruby/spawn_manager_spec.rb +104 -175
- data/test/ruby/spec_helper.rb +104 -0
- data/test/ruby/utils/file_system_watcher_spec.rb +221 -0
- data/test/ruby/utils/hosts_file_parser.rb +258 -0
- data/test/ruby/utils/unseekable_socket_spec.rb +66 -0
- data/test/ruby/utils_spec.rb +410 -59
- data/test/ruby/wsgi/application_spawner_spec.rb +16 -20
- data/test/stub/apache2/httpd.conf.erb +11 -6
- data/test/stub/message_channel.rb +3 -1
- data/test/stub/message_channel_2.rb +3 -1
- data/test/stub/message_channel_3.rb +5 -3
- data/test/stub/nginx/nginx.conf.erb +3 -2
- data/test/stub/rails_apps/1.2/empty/Rakefile +10 -0
- data/test/stub/rails_apps/1.2/empty/app/controllers/application.rb +7 -0
- data/test/stub/rails_apps/{foobar → 1.2/empty}/app/helpers/application_helper.rb +0 -0
- data/test/stub/rails_apps/{mycook → 1.2/empty}/config/boot.rb +3 -3
- data/test/stub/rails_apps/1.2/empty/config/database.yml +31 -0
- data/test/stub/rails_apps/1.2/empty/config/environment.rb +66 -0
- data/test/stub/rails_apps/1.2/empty/config/environments/development.rb +21 -0
- data/test/stub/rails_apps/{foobar → 1.2/empty}/config/environments/production.rb +0 -0
- data/test/stub/rails_apps/1.2/empty/config/environments/staging.rb +18 -0
- data/test/stub/rails_apps/1.2/empty/config/environments/test.rb +19 -0
- data/test/stub/rails_apps/1.2/empty/config/routes.rb +23 -0
- data/test/stub/rails_apps/1.2/empty/doc/README_FOR_APP +2 -0
- data/test/stub/rails_apps/{mycook → 1.2/empty}/public/404.html +0 -0
- data/test/stub/rails_apps/1.2/empty/public/500.html +30 -0
- data/test/stub/rails_apps/1.2/empty/public/dispatch.cgi +10 -0
- data/test/stub/rails_apps/1.2/empty/public/dispatch.fcgi +24 -0
- data/test/stub/rails_apps/1.2/empty/public/dispatch.rb +10 -0
- data/test/stub/rails_apps/{mycook → 1.2/empty}/public/favicon.ico +0 -0
- data/test/stub/rails_apps/{mycook → 1.2/empty}/public/images/rails.png +0 -0
- data/test/stub/rails_apps/1.2/empty/public/robots.txt +1 -0
- data/test/stub/rails_apps/1.2/empty/script/about +3 -0
- data/test/stub/rails_apps/1.2/empty/script/breakpointer +3 -0
- data/test/stub/rails_apps/1.2/empty/script/console +3 -0
- data/test/stub/rails_apps/1.2/empty/script/destroy +3 -0
- data/test/stub/rails_apps/1.2/empty/script/generate +3 -0
- data/test/stub/rails_apps/1.2/empty/script/performance/benchmarker +3 -0
- data/test/stub/rails_apps/1.2/empty/script/performance/profiler +3 -0
- data/test/stub/rails_apps/1.2/empty/script/plugin +3 -0
- data/test/stub/rails_apps/1.2/empty/script/process/inspector +3 -0
- data/test/stub/rails_apps/1.2/empty/script/process/reaper +3 -0
- data/test/stub/rails_apps/1.2/empty/script/process/spawner +3 -0
- data/test/stub/rails_apps/1.2/empty/script/runner +3 -0
- data/test/stub/rails_apps/1.2/empty/script/server +3 -0
- data/test/stub/rails_apps/1.2/empty/test/test_helper.rb +28 -0
- data/test/stub/rails_apps/2.0/empty/Rakefile +10 -0
- data/test/stub/rails_apps/2.0/empty/app/controllers/application.rb +10 -0
- data/test/stub/rails_apps/{mycook → 2.0/empty}/app/helpers/application_helper.rb +0 -0
- data/test/stub/rails_apps/{foobar → 2.0/empty}/config/boot.rb +3 -3
- data/test/stub/rails_apps/2.0/empty/config/database.yml +31 -0
- data/test/stub/rails_apps/2.0/empty/config/environment.rb +59 -0
- data/test/stub/rails_apps/{mycook → 2.0/empty}/config/environments/development.rb +1 -1
- data/test/stub/rails_apps/2.0/empty/config/environments/production.rb +18 -0
- data/test/stub/rails_apps/2.0/empty/config/environments/staging.rb +18 -0
- data/test/stub/rails_apps/2.0/empty/config/environments/test.rb +22 -0
- data/test/stub/rails_apps/{foobar → 2.0/empty}/config/initializers/inflections.rb +0 -0
- data/test/stub/rails_apps/{foobar → 2.0/empty}/config/initializers/mime_types.rb +0 -0
- data/test/stub/rails_apps/{foobar → 2.0/empty}/config/routes.rb +0 -0
- data/test/stub/rails_apps/2.0/empty/doc/README_FOR_APP +2 -0
- data/test/stub/rails_apps/2.0/empty/public/404.html +30 -0
- data/test/stub/rails_apps/{mycook → 2.0/empty}/public/422.html +0 -0
- data/test/stub/rails_apps/{mycook → 2.0/empty}/public/500.html +0 -0
- data/test/stub/rails_apps/2.0/empty/public/dispatch.cgi +10 -0
- data/test/stub/rails_apps/2.0/empty/public/dispatch.fcgi +24 -0
- data/test/stub/rails_apps/2.0/empty/public/dispatch.rb +10 -0
- data/test/stub/rails_apps/2.0/empty/public/favicon.ico +0 -0
- data/test/stub/rails_apps/2.0/empty/public/images/rails.png +0 -0
- data/test/stub/rails_apps/{mycook → 2.0/empty}/public/robots.txt +0 -0
- data/test/stub/rails_apps/2.0/empty/script/about +3 -0
- data/test/stub/rails_apps/2.0/empty/script/console +3 -0
- data/test/stub/rails_apps/2.0/empty/script/destroy +3 -0
- data/test/stub/rails_apps/2.0/empty/script/generate +3 -0
- data/test/stub/rails_apps/2.0/empty/script/performance/benchmarker +3 -0
- data/test/stub/rails_apps/2.0/empty/script/performance/profiler +3 -0
- data/test/stub/rails_apps/2.0/empty/script/performance/request +3 -0
- data/test/stub/rails_apps/2.0/empty/script/plugin +3 -0
- data/test/stub/rails_apps/2.0/empty/script/process/inspector +3 -0
- data/test/stub/rails_apps/2.0/empty/script/process/reaper +3 -0
- data/test/stub/rails_apps/2.0/empty/script/process/spawner +3 -0
- data/test/stub/rails_apps/2.0/empty/script/runner +3 -0
- data/test/stub/rails_apps/2.0/empty/script/server +3 -0
- data/test/stub/rails_apps/2.0/empty/test/test_helper.rb +38 -0
- data/test/stub/rails_apps/2.2/empty/Rakefile +10 -0
- data/test/stub/rails_apps/2.2/empty/app/controllers/application.rb +15 -0
- data/test/stub/rails_apps/2.2/empty/app/helpers/application_helper.rb +3 -0
- data/test/stub/rails_apps/2.2/empty/config/boot.rb +109 -0
- data/test/stub/rails_apps/2.2/empty/config/database.yml +31 -0
- data/test/stub/rails_apps/2.2/empty/config/environment.rb +75 -0
- data/test/stub/rails_apps/{foobar → 2.2/empty}/config/environments/development.rb +0 -0
- data/test/stub/rails_apps/2.2/empty/config/environments/production.rb +24 -0
- data/test/stub/rails_apps/2.2/empty/config/environments/staging.rb +24 -0
- data/test/stub/rails_apps/2.2/empty/config/environments/test.rb +22 -0
- data/test/stub/rails_apps/2.2/empty/config/initializers/inflections.rb +10 -0
- data/test/stub/rails_apps/{mycook → 2.2/empty}/config/initializers/mime_types.rb +0 -0
- data/test/stub/rails_apps/2.2/empty/config/initializers/new_rails_defaults.rb +17 -0
- data/test/stub/rails_apps/2.2/empty/config/locales/en.yml +5 -0
- data/test/stub/rails_apps/2.2/empty/config/routes.rb +43 -0
- data/test/stub/rails_apps/2.2/empty/doc/README_FOR_APP +5 -0
- data/test/stub/rails_apps/2.2/empty/public/404.html +30 -0
- data/test/stub/rails_apps/2.2/empty/public/422.html +30 -0
- data/test/stub/rails_apps/2.2/empty/public/500.html +33 -0
- data/test/stub/rails_apps/2.2/empty/public/dispatch.cgi +10 -0
- data/test/stub/rails_apps/2.2/empty/public/dispatch.fcgi +24 -0
- data/test/stub/rails_apps/2.2/empty/public/dispatch.rb +10 -0
- data/test/stub/rails_apps/2.2/empty/public/favicon.ico +0 -0
- data/test/stub/rails_apps/2.2/empty/public/images/rails.png +0 -0
- data/test/stub/rails_apps/2.2/empty/public/robots.txt +5 -0
- data/test/stub/rails_apps/2.2/empty/script/about +4 -0
- data/test/stub/rails_apps/2.2/empty/script/console +3 -0
- data/test/stub/rails_apps/2.2/empty/script/dbconsole +3 -0
- data/test/stub/rails_apps/2.2/empty/script/destroy +3 -0
- data/test/stub/rails_apps/2.2/empty/script/generate +3 -0
- data/test/stub/rails_apps/2.2/empty/script/performance/benchmarker +3 -0
- data/test/stub/rails_apps/2.2/empty/script/performance/profiler +3 -0
- data/test/stub/rails_apps/2.2/empty/script/performance/request +3 -0
- data/test/stub/rails_apps/2.2/empty/script/plugin +3 -0
- data/test/stub/rails_apps/2.2/empty/script/process/inspector +3 -0
- data/test/stub/rails_apps/2.2/empty/script/process/reaper +3 -0
- data/test/stub/rails_apps/2.2/empty/script/process/spawner +3 -0
- data/test/stub/rails_apps/2.2/empty/script/runner +3 -0
- data/test/stub/rails_apps/2.2/empty/script/server +3 -0
- data/test/stub/rails_apps/2.2/empty/test/performance/browsing_test.rb +9 -0
- data/test/stub/rails_apps/2.2/empty/test/test_helper.rb +38 -0
- data/test/stub/rails_apps/2.3/empty/Rakefile +10 -0
- data/test/stub/rails_apps/2.3/empty/app/controllers/application_controller.rb +10 -0
- data/test/stub/rails_apps/2.3/empty/app/helpers/application_helper.rb +3 -0
- data/test/stub/rails_apps/2.3/empty/config/boot.rb +110 -0
- data/test/stub/rails_apps/2.3/empty/config/database.yml +31 -0
- data/test/stub/rails_apps/2.3/empty/config/environment.rb +41 -0
- data/test/stub/rails_apps/2.3/empty/config/environments/development.rb +17 -0
- data/test/stub/rails_apps/2.3/empty/config/environments/production.rb +28 -0
- data/test/stub/rails_apps/2.3/empty/config/environments/staging.rb +28 -0
- data/test/stub/rails_apps/2.3/empty/config/environments/test.rb +28 -0
- data/test/stub/rails_apps/2.3/empty/config/initializers/backtrace_silencers.rb +7 -0
- data/test/stub/rails_apps/2.3/empty/config/initializers/inflections.rb +10 -0
- data/test/stub/rails_apps/2.3/empty/config/initializers/mime_types.rb +5 -0
- data/test/stub/rails_apps/2.3/empty/config/initializers/new_rails_defaults.rb +21 -0
- data/test/stub/rails_apps/2.3/empty/config/initializers/session_store.rb +15 -0
- data/test/stub/rails_apps/2.3/empty/config/locales/en.yml +5 -0
- data/test/stub/rails_apps/2.3/empty/config/routes.rb +43 -0
- data/test/stub/rails_apps/2.3/empty/db/seeds.rb +7 -0
- data/test/stub/rails_apps/2.3/empty/doc/README_FOR_APP +2 -0
- data/test/stub/rails_apps/2.3/empty/public/404.html +30 -0
- data/test/stub/rails_apps/2.3/empty/public/422.html +30 -0
- data/test/stub/rails_apps/2.3/empty/public/500.html +30 -0
- data/test/stub/rails_apps/2.3/empty/public/favicon.ico +0 -0
- data/test/stub/rails_apps/2.3/empty/public/images/rails.png +0 -0
- data/test/stub/rails_apps/2.3/empty/public/robots.txt +5 -0
- data/test/stub/rails_apps/2.3/empty/script/about +4 -0
- data/test/stub/rails_apps/2.3/empty/script/console +3 -0
- data/test/stub/rails_apps/2.3/empty/script/dbconsole +3 -0
- data/test/stub/rails_apps/2.3/empty/script/destroy +3 -0
- data/test/stub/rails_apps/2.3/empty/script/generate +3 -0
- data/test/stub/rails_apps/2.3/empty/script/performance/benchmarker +3 -0
- data/test/stub/rails_apps/2.3/empty/script/performance/profiler +3 -0
- data/test/stub/rails_apps/2.3/empty/script/plugin +3 -0
- data/test/stub/rails_apps/2.3/empty/script/runner +3 -0
- data/test/stub/rails_apps/2.3/empty/script/server +3 -0
- data/test/stub/rails_apps/2.3/empty/test/performance/browsing_test.rb +9 -0
- data/test/stub/rails_apps/2.3/empty/test/test_helper.rb +38 -0
- data/test/stub/rails_apps/2.3/foobar/Rakefile +10 -0
- data/test/stub/rails_apps/{foobar/app/controllers/application.rb → 2.3/foobar/app/controllers/application_controller.rb} +0 -0
- data/test/stub/rails_apps/{foobar → 2.3/foobar}/app/controllers/bar_controller_1.rb +0 -0
- data/test/stub/rails_apps/{foobar → 2.3/foobar}/app/controllers/bar_controller_2.rb +0 -0
- data/test/stub/rails_apps/{foobar → 2.3/foobar}/app/controllers/foo_controller.rb +0 -0
- data/test/stub/rails_apps/2.3/foobar/app/helpers/application_helper.rb +3 -0
- data/test/stub/rails_apps/2.3/foobar/config/boot.rb +110 -0
- data/test/stub/rails_apps/{foobar → 2.3/foobar}/config/database.yml +0 -0
- data/test/stub/rails_apps/{foobar → 2.3/foobar}/config/environment.rb +1 -1
- data/test/stub/rails_apps/2.3/foobar/config/environments/development.rb +17 -0
- data/test/stub/rails_apps/2.3/foobar/config/environments/production.rb +18 -0
- data/test/stub/rails_apps/2.3/foobar/config/environments/staging.rb +18 -0
- data/test/stub/rails_apps/{mycook → 2.3/foobar}/config/initializers/inflections.rb +0 -0
- data/test/stub/rails_apps/2.3/foobar/config/initializers/mime_types.rb +5 -0
- data/test/stub/rails_apps/2.3/foobar/config/routes.rb +35 -0
- data/test/stub/rails_apps/2.3/foobar/script/about +3 -0
- data/test/stub/rails_apps/2.3/foobar/script/console +3 -0
- data/test/stub/rails_apps/2.3/foobar/script/dbconsole +3 -0
- data/test/stub/rails_apps/2.3/foobar/script/destroy +3 -0
- data/test/stub/rails_apps/2.3/foobar/script/generate +3 -0
- data/test/stub/rails_apps/2.3/foobar/script/performance/benchmarker +3 -0
- data/test/stub/rails_apps/2.3/foobar/script/performance/profiler +3 -0
- data/test/stub/rails_apps/2.3/foobar/script/performance/request +3 -0
- data/test/stub/rails_apps/2.3/foobar/script/plugin +3 -0
- data/test/stub/rails_apps/2.3/foobar/script/process/inspector +3 -0
- data/test/stub/rails_apps/2.3/foobar/script/process/reaper +3 -0
- data/test/stub/rails_apps/2.3/foobar/script/process/spawner +3 -0
- data/test/stub/rails_apps/2.3/foobar/script/runner +3 -0
- data/test/stub/rails_apps/2.3/foobar/script/server +3 -0
- data/test/stub/rails_apps/2.3/mycook/Rakefile +10 -0
- data/test/stub/rails_apps/{mycook/app/controllers/application.rb → 2.3/mycook/app/controllers/application_controller.rb} +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/controllers/recipes_controller.rb +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/controllers/uploads_controller.rb +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/controllers/welcome_controller.rb +0 -0
- data/test/stub/rails_apps/2.3/mycook/app/helpers/application_helper.rb +3 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/views/layouts/default.rhtml +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/views/recipes/create.rhtml +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/views/recipes/index.rhtml +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/views/recipes/new.rhtml +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/views/uploads/index.rhtml +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/views/uploads/new.html.erb +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/views/welcome/cached.rhtml +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/views/welcome/index.rhtml +0 -0
- data/test/stub/rails_apps/2.3/mycook/config/boot.rb +110 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/config/database.yml +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/config/environment.rb +1 -1
- data/test/stub/rails_apps/2.3/mycook/config/environments/development.rb +18 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/config/environments/production.rb +0 -0
- data/test/stub/rails_apps/2.3/mycook/config/initializers/inflections.rb +10 -0
- data/test/stub/rails_apps/2.3/mycook/config/initializers/mime_types.rb +5 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/config/routes.rb +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/log/useless.txt +0 -0
- data/test/stub/rails_apps/2.3/mycook/public/404.html +30 -0
- data/test/stub/rails_apps/2.3/mycook/public/422.html +30 -0
- data/test/stub/rails_apps/2.3/mycook/public/500.html +30 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/dispatch.cgi +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/dispatch.fcgi +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/dispatch.rb +1 -1
- data/test/stub/rails_apps/2.3/mycook/public/favicon.ico +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/images/angrywizard.gif +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/images/cookbook.gif +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/images/header.png +0 -0
- data/test/stub/rails_apps/2.3/mycook/public/images/rails.png +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/javascripts/application.js +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/javascripts/controls.js +73 -73
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/javascripts/dragdrop.js +166 -165
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/javascripts/effects.js +174 -166
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/javascripts/prototype.js +362 -267
- data/test/stub/rails_apps/2.3/mycook/public/robots.txt +5 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/uploads.html +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/welcome/cached.html +0 -0
- data/test/stub/rails_apps/2.3/mycook/script/about +3 -0
- data/test/stub/rails_apps/2.3/mycook/script/console +3 -0
- data/test/stub/rails_apps/2.3/mycook/script/dbconsole +3 -0
- data/test/stub/rails_apps/2.3/mycook/script/destroy +3 -0
- data/test/stub/rails_apps/2.3/mycook/script/generate +3 -0
- data/test/stub/rails_apps/2.3/mycook/script/performance/benchmarker +3 -0
- data/test/stub/rails_apps/2.3/mycook/script/performance/profiler +3 -0
- data/test/stub/rails_apps/2.3/mycook/script/performance/request +3 -0
- data/test/stub/rails_apps/2.3/mycook/script/plugin +3 -0
- data/test/stub/rails_apps/2.3/mycook/script/process/inspector +3 -0
- data/test/stub/rails_apps/2.3/mycook/script/process/reaper +3 -0
- data/test/stub/rails_apps/2.3/mycook/script/process/spawner +3 -0
- data/test/stub/rails_apps/2.3/mycook/script/runner +3 -0
- data/test/stub/rails_apps/2.3/mycook/script/server +3 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/sites/some.site/public/uploads.html +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/sites/some.site/public/welcome/cached.html +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/tmp/cache/useless.txt +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/tmp/pids/useless.txt +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/tmp/sessions/useless.txt +0 -0
- data/test/stub/rails_apps/{mycook → 2.3/mycook}/tmp/sockets/useless.txt +0 -0
- data/test/stub/rails_apps/3.0/empty/Gemfile +22 -0
- data/test/stub/rails_apps/3.0/empty/Rakefile +10 -0
- data/test/stub/rails_apps/3.0/empty/app/controllers/application_controller.rb +4 -0
- data/test/stub/rails_apps/3.0/empty/app/helpers/application_helper.rb +2 -0
- data/test/stub/rails_apps/3.0/empty/app/views/layouts/application.html.erb +14 -0
- data/test/stub/rails_apps/3.0/empty/config.ru +4 -0
- data/test/stub/rails_apps/3.0/empty/config/application.rb +48 -0
- data/test/stub/rails_apps/3.0/empty/config/boot.rb +13 -0
- data/test/stub/rails_apps/3.0/empty/config/database.yml +22 -0
- data/test/stub/rails_apps/3.0/empty/config/environment.rb +5 -0
- data/test/stub/rails_apps/3.0/empty/config/environments/development.rb +19 -0
- data/test/stub/rails_apps/3.0/empty/config/environments/production.rb +48 -0
- data/test/stub/rails_apps/3.0/empty/config/environments/test.rb +32 -0
- data/test/stub/rails_apps/3.0/empty/config/initializers/backtrace_silencers.rb +7 -0
- data/test/stub/rails_apps/3.0/empty/config/initializers/inflections.rb +10 -0
- data/test/stub/rails_apps/3.0/empty/config/initializers/mime_types.rb +5 -0
- data/test/stub/rails_apps/3.0/empty/config/initializers/passenger.rb +1 -0
- data/test/stub/rails_apps/3.0/empty/config/initializers/secret_token.rb +7 -0
- data/test/stub/rails_apps/3.0/empty/config/initializers/session_store.rb +8 -0
- data/test/stub/rails_apps/3.0/empty/config/locales/en.yml +5 -0
- data/test/stub/rails_apps/3.0/empty/config/routes.rb +58 -0
- data/test/stub/rails_apps/3.0/empty/db/seeds.rb +7 -0
- data/test/stub/rails_apps/3.0/empty/doc/README_FOR_APP +2 -0
- data/test/stub/rails_apps/3.0/empty/log/development.log +3 -0
- data/test/stub/rails_apps/3.0/empty/public/404.html +26 -0
- data/test/stub/rails_apps/3.0/empty/public/422.html +26 -0
- data/test/stub/rails_apps/3.0/empty/public/500.html +26 -0
- data/test/stub/rails_apps/3.0/empty/public/favicon.ico +0 -0
- data/test/stub/rails_apps/3.0/empty/public/index.html +279 -0
- data/test/stub/rails_apps/3.0/empty/public/robots.txt +5 -0
- data/test/stub/rails_apps/3.0/empty/script/rails +9 -0
- data/test/stub/rails_apps/3.0/empty/test/performance/browsing_test.rb +9 -0
- data/test/stub/rails_apps/3.0/empty/test/test_helper.rb +13 -0
- data/test/stub/spawn_server.rb +4 -2
- data/test/stub/vendor_rails/minimal/actionpack/lib/action_controller.rb +3 -0
- data/test/stub/vendor_rails/minimal/railties/lib/initializer.rb +7 -2
- data/test/support/apache2_controller.rb +10 -2
- data/test/support/nginx_controller.rb +3 -2
- data/test/support/test_helper.rb +282 -46
- data/test/{support → tut}/tut.h +6 -0
- data/test/{support → tut}/tut_reporter.h +0 -0
- metadata +824 -266
- data/benchmark/ApplicationPool.cpp +0 -52
- data/benchmark/accept_vs_socketpair_vs_named_pipes.rb +0 -126
- data/benchmark/dispatcher.rb +0 -42
- data/benchmark/overhead_of_password_checking.rb +0 -81
- data/benchmark/socket_connections_vs_persistent_pipe.rb +0 -99
- data/benchmark/unix_sockets_vs_pipes.rb +0 -83
- data/ext/boost/LICENSE.TXT +0 -23
- data/ext/boost/VERSION.TXT +0 -1
- data/ext/boost/detail/sp_counted_base.hpp +0 -81
- data/ext/boost/src/pthread/exceptions.cpp +0 -146
- data/ext/boost/src/win32/exceptions.cpp +0 -124
- data/ext/boost/src/win32/thread.cpp +0 -629
- data/ext/boost/src/win32/timeconv.inl +0 -130
- data/ext/boost/src/win32/tss_dll.cpp +0 -72
- data/ext/boost/src/win32/tss_pe.cpp +0 -269
- data/ext/boost/thread/pthread/thread.hpp +0 -339
- data/ext/boost/thread/pthread/tss.hpp +0 -103
- data/ext/common/Application.h +0 -511
- data/ext/common/ApplicationPoolServer.h +0 -794
- data/ext/common/ApplicationPoolServerExecutable.cpp +0 -743
- data/ext/common/ApplicationPoolStatusReporter.h +0 -336
- data/ext/common/DummySpawnManager.h +0 -108
- data/ext/common/StandardApplicationPool.h +0 -821
- data/ext/common/SystemTime.h +0 -88
- data/lib/phusion_passenger/admin_tools/control_process.rb +0 -150
- data/lib/phusion_passenger/railz/application_spawner.rb +0 -463
- data/lib/phusion_passenger/templates/invalid_app_root.html.erb +0 -9
- data/test/ApplicationPoolServerTest.cpp +0 -114
- data/test/ApplicationPoolServer_ApplicationPoolTest.cpp +0 -33
- data/test/ApplicationPoolTest.cpp +0 -599
- data/test/MessageChannelTest.cpp +0 -320
- data/test/SpawnManagerTest.cpp +0 -64
- data/test/StandardApplicationPoolTest.cpp +0 -27
- data/test/StaticStringTest.cpp +0 -51
- data/test/UtilsTest.cpp +0 -257
- data/test/ruby/rails/application_spawner_spec.rb +0 -159
- data/test/ruby/rails/framework_spawner_spec.rb +0 -133
- data/test/ruby/rails/minimal_spawner_spec.rb +0 -93
- data/test/ruby/rails/spawner_error_handling_spec.rb +0 -107
- data/test/ruby/rails/spawner_privilege_lowering_spec.rb +0 -97
- data/test/ruby/spawn_server_spec.rb +0 -26
- data/test/stub/MessageServer.dSYM/Contents/Info.plist +0 -25
- data/test/stub/MessageServer.dSYM/Contents/Resources/DWARF/MessageServer +0 -0
- data/test/support/Support.cpp +0 -84
- data/test/support/Support.h +0 -118
- data/test/support/config.rb +0 -38
- data/test/support/run_rspec_tests.rb +0 -10
@@ -0,0 +1,70 @@
|
|
1
|
+
// Boost.Function library
|
2
|
+
// Copyright (C) Douglas Gregor 2008
|
3
|
+
//
|
4
|
+
// Use, modification and distribution is subject to the Boost
|
5
|
+
// Software License, Version 1.0. (See accompanying file
|
6
|
+
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
7
|
+
//
|
8
|
+
// For more information, see http://www.boost.org
|
9
|
+
#ifndef BOOST_FUNCTION_FWD_HPP
|
10
|
+
#define BOOST_FUNCTION_FWD_HPP
|
11
|
+
#include <boost/config.hpp>
|
12
|
+
|
13
|
+
#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 && !defined(BOOST_STRICT_CONFIG)
|
14
|
+
// Work around a compiler bug.
|
15
|
+
// boost::python::objects::function has to be seen by the compiler before the
|
16
|
+
// boost::function class template.
|
17
|
+
namespace boost { namespace python { namespace objects {
|
18
|
+
class function;
|
19
|
+
}}}
|
20
|
+
#endif
|
21
|
+
|
22
|
+
#if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|
23
|
+
|| defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) \
|
24
|
+
|| !(defined(BOOST_STRICT_CONFIG) || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)
|
25
|
+
# define BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
|
26
|
+
#endif
|
27
|
+
|
28
|
+
namespace boost {
|
29
|
+
class bad_function_call;
|
30
|
+
|
31
|
+
#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
|
32
|
+
// Preferred syntax
|
33
|
+
template<typename Signature> class function;
|
34
|
+
|
35
|
+
template<typename Signature>
|
36
|
+
inline void swap(function<Signature>& f1, function<Signature>& f2)
|
37
|
+
{
|
38
|
+
f1.swap(f2);
|
39
|
+
}
|
40
|
+
#endif // have partial specialization
|
41
|
+
|
42
|
+
// Portable syntax
|
43
|
+
template<typename R> class function0;
|
44
|
+
template<typename R, typename T1> class function1;
|
45
|
+
template<typename R, typename T1, typename T2> class function2;
|
46
|
+
template<typename R, typename T1, typename T2, typename T3> class function3;
|
47
|
+
template<typename R, typename T1, typename T2, typename T3, typename T4>
|
48
|
+
class function4;
|
49
|
+
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
50
|
+
typename T5>
|
51
|
+
class function5;
|
52
|
+
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
53
|
+
typename T5, typename T6>
|
54
|
+
class function6;
|
55
|
+
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
56
|
+
typename T5, typename T6, typename T7>
|
57
|
+
class function7;
|
58
|
+
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
59
|
+
typename T5, typename T6, typename T7, typename T8>
|
60
|
+
class function8;
|
61
|
+
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
62
|
+
typename T5, typename T6, typename T7, typename T8, typename T9>
|
63
|
+
class function9;
|
64
|
+
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
65
|
+
typename T5, typename T6, typename T7, typename T8, typename T9,
|
66
|
+
typename T10>
|
67
|
+
class function10;
|
68
|
+
}
|
69
|
+
|
70
|
+
#endif
|
@@ -1,8 +1,9 @@
|
|
1
1
|
// Boost.Function library
|
2
2
|
|
3
|
-
// Copyright Douglas Gregor 2001-2006
|
4
|
-
//
|
5
|
-
//
|
3
|
+
// Copyright Douglas Gregor 2001-2006
|
4
|
+
// Copyright Emil Dotchevski 2007
|
5
|
+
// Use, modification and distribution is subject to the Boost Software License, Version 1.0.
|
6
|
+
// (See accompanying file LICENSE_1_0.txt or copy at
|
6
7
|
// http://www.boost.org/LICENSE_1_0.txt)
|
7
8
|
|
8
9
|
// For more information, see http://www.boost.org
|
@@ -10,6 +11,7 @@
|
|
10
11
|
// Note: this header is a header template and must NOT have multiple-inclusion
|
11
12
|
// protection.
|
12
13
|
#include <boost/function/detail/prologue.hpp>
|
14
|
+
#include <boost/detail/no_exceptions_support.hpp>
|
13
15
|
|
14
16
|
#if defined(BOOST_MSVC)
|
15
17
|
# pragma warning( push )
|
@@ -31,13 +33,6 @@
|
|
31
33
|
|
32
34
|
#define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY)
|
33
35
|
|
34
|
-
// Type of the default allocator
|
35
|
-
#ifndef BOOST_NO_STD_ALLOCATOR
|
36
|
-
# define BOOST_FUNCTION_DEFAULT_ALLOCATOR std::allocator<function_base>
|
37
|
-
#else
|
38
|
-
# define BOOST_FUNCTION_DEFAULT_ALLOCATOR int
|
39
|
-
#endif // BOOST_NO_STD_ALLOCATOR
|
40
|
-
|
41
36
|
// Comma if nonzero number of arguments
|
42
37
|
#if BOOST_FUNCTION_NUM_ARGS == 0
|
43
38
|
# define BOOST_FUNCTION_COMMA
|
@@ -60,9 +55,9 @@
|
|
60
55
|
#define BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER \
|
61
56
|
BOOST_JOIN(void_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
|
62
57
|
#define BOOST_FUNCTION_MEMBER_INVOKER \
|
63
|
-
BOOST_JOIN(
|
58
|
+
BOOST_JOIN(function_mem_invoker,BOOST_FUNCTION_NUM_ARGS)
|
64
59
|
#define BOOST_FUNCTION_VOID_MEMBER_INVOKER \
|
65
|
-
BOOST_JOIN(
|
60
|
+
BOOST_JOIN(function_void_mem_invoker,BOOST_FUNCTION_NUM_ARGS)
|
66
61
|
#define BOOST_FUNCTION_GET_FUNCTION_INVOKER \
|
67
62
|
BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
|
68
63
|
#define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER \
|
@@ -335,10 +330,24 @@ namespace boost {
|
|
335
330
|
template<>
|
336
331
|
struct BOOST_FUNCTION_GET_INVOKER<function_ptr_tag>
|
337
332
|
{
|
333
|
+
template<typename FunctionPtr,
|
334
|
+
typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
|
335
|
+
struct apply
|
336
|
+
{
|
337
|
+
typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER<
|
338
|
+
FunctionPtr,
|
339
|
+
R BOOST_FUNCTION_COMMA
|
340
|
+
BOOST_FUNCTION_TEMPLATE_ARGS
|
341
|
+
>::type
|
342
|
+
invoker_type;
|
343
|
+
|
344
|
+
typedef functor_manager<FunctionPtr> manager_type;
|
345
|
+
};
|
346
|
+
|
338
347
|
template<typename FunctionPtr,
|
339
348
|
typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
|
340
349
|
typename Allocator>
|
341
|
-
struct
|
350
|
+
struct apply_a
|
342
351
|
{
|
343
352
|
typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER<
|
344
353
|
FunctionPtr,
|
@@ -347,7 +356,7 @@ namespace boost {
|
|
347
356
|
>::type
|
348
357
|
invoker_type;
|
349
358
|
|
350
|
-
typedef functor_manager<FunctionPtr
|
359
|
+
typedef functor_manager<FunctionPtr> manager_type;
|
351
360
|
};
|
352
361
|
};
|
353
362
|
|
@@ -356,10 +365,24 @@ namespace boost {
|
|
356
365
|
template<>
|
357
366
|
struct BOOST_FUNCTION_GET_INVOKER<member_ptr_tag>
|
358
367
|
{
|
368
|
+
template<typename MemberPtr,
|
369
|
+
typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
|
370
|
+
struct apply
|
371
|
+
{
|
372
|
+
typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER<
|
373
|
+
MemberPtr,
|
374
|
+
R BOOST_FUNCTION_COMMA
|
375
|
+
BOOST_FUNCTION_TEMPLATE_ARGS
|
376
|
+
>::type
|
377
|
+
invoker_type;
|
378
|
+
|
379
|
+
typedef functor_manager<MemberPtr> manager_type;
|
380
|
+
};
|
381
|
+
|
359
382
|
template<typename MemberPtr,
|
360
383
|
typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
|
361
384
|
typename Allocator>
|
362
|
-
struct
|
385
|
+
struct apply_a
|
363
386
|
{
|
364
387
|
typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER<
|
365
388
|
MemberPtr,
|
@@ -368,7 +391,7 @@ namespace boost {
|
|
368
391
|
>::type
|
369
392
|
invoker_type;
|
370
393
|
|
371
|
-
typedef functor_manager<MemberPtr
|
394
|
+
typedef functor_manager<MemberPtr> manager_type;
|
372
395
|
};
|
373
396
|
};
|
374
397
|
#endif
|
@@ -377,10 +400,24 @@ namespace boost {
|
|
377
400
|
template<>
|
378
401
|
struct BOOST_FUNCTION_GET_INVOKER<function_obj_tag>
|
379
402
|
{
|
403
|
+
template<typename FunctionObj,
|
404
|
+
typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
|
405
|
+
struct apply
|
406
|
+
{
|
407
|
+
typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<
|
408
|
+
FunctionObj,
|
409
|
+
R BOOST_FUNCTION_COMMA
|
410
|
+
BOOST_FUNCTION_TEMPLATE_ARGS
|
411
|
+
>::type
|
412
|
+
invoker_type;
|
413
|
+
|
414
|
+
typedef functor_manager<FunctionObj> manager_type;
|
415
|
+
};
|
416
|
+
|
380
417
|
template<typename FunctionObj,
|
381
418
|
typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
|
382
419
|
typename Allocator>
|
383
|
-
struct
|
420
|
+
struct apply_a
|
384
421
|
{
|
385
422
|
typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<
|
386
423
|
FunctionObj,
|
@@ -389,7 +426,7 @@ namespace boost {
|
|
389
426
|
>::type
|
390
427
|
invoker_type;
|
391
428
|
|
392
|
-
typedef
|
429
|
+
typedef functor_manager_a<FunctionObj, Allocator> manager_type;
|
393
430
|
};
|
394
431
|
};
|
395
432
|
|
@@ -397,10 +434,24 @@ namespace boost {
|
|
397
434
|
template<>
|
398
435
|
struct BOOST_FUNCTION_GET_INVOKER<function_obj_ref_tag>
|
399
436
|
{
|
437
|
+
template<typename RefWrapper,
|
438
|
+
typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
|
439
|
+
struct apply
|
440
|
+
{
|
441
|
+
typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<
|
442
|
+
typename RefWrapper::type,
|
443
|
+
R BOOST_FUNCTION_COMMA
|
444
|
+
BOOST_FUNCTION_TEMPLATE_ARGS
|
445
|
+
>::type
|
446
|
+
invoker_type;
|
447
|
+
|
448
|
+
typedef reference_manager<typename RefWrapper::type> manager_type;
|
449
|
+
};
|
450
|
+
|
400
451
|
template<typename RefWrapper,
|
401
452
|
typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
|
402
453
|
typename Allocator>
|
403
|
-
struct
|
454
|
+
struct apply_a
|
404
455
|
{
|
405
456
|
typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<
|
406
457
|
typename RefWrapper::type,
|
@@ -413,11 +464,15 @@ namespace boost {
|
|
413
464
|
};
|
414
465
|
};
|
415
466
|
|
467
|
+
|
416
468
|
/**
|
417
|
-
* vtable for a specific boost::function instance.
|
469
|
+
* vtable for a specific boost::function instance. This
|
470
|
+
* structure must be an aggregate so that we can use static
|
471
|
+
* initialization in boost::function's assign_to and assign_to_a
|
472
|
+
* members. It therefore cannot have any constructors,
|
473
|
+
* destructors, base classes, etc.
|
418
474
|
*/
|
419
|
-
template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS
|
420
|
-
typename Allocator>
|
475
|
+
template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
|
421
476
|
struct BOOST_FUNCTION_VTABLE
|
422
477
|
{
|
423
478
|
#ifndef BOOST_NO_VOID_RETURNS
|
@@ -431,25 +486,29 @@ namespace boost {
|
|
431
486
|
BOOST_FUNCTION_TEMPLATE_ARGS);
|
432
487
|
|
433
488
|
template<typename F>
|
434
|
-
bool assign_to(
|
489
|
+
bool assign_to(F f, function_buffer& functor)
|
435
490
|
{
|
436
491
|
typedef typename get_function_tag<F>::type tag;
|
437
492
|
return assign_to(f, functor, tag());
|
438
493
|
}
|
494
|
+
template<typename F,typename Allocator>
|
495
|
+
bool assign_to_a(F f, function_buffer& functor, Allocator a)
|
496
|
+
{
|
497
|
+
typedef typename get_function_tag<F>::type tag;
|
498
|
+
return assign_to_a(f, functor, a, tag());
|
499
|
+
}
|
439
500
|
|
440
|
-
void clear(function_buffer& functor)
|
501
|
+
void clear(function_buffer& functor)
|
441
502
|
{
|
442
503
|
if (base.manager)
|
443
504
|
base.manager(functor, functor, destroy_functor_tag);
|
444
505
|
}
|
445
|
-
|
506
|
+
|
446
507
|
private:
|
447
|
-
#endif
|
448
508
|
// Function pointers
|
449
509
|
template<typename FunctionPtr>
|
450
510
|
bool
|
451
|
-
assign_to(FunctionPtr f, function_buffer& functor,
|
452
|
-
function_ptr_tag) const
|
511
|
+
assign_to(FunctionPtr f, function_buffer& functor, function_ptr_tag)
|
453
512
|
{
|
454
513
|
this->clear(functor);
|
455
514
|
if (f) {
|
@@ -461,17 +520,36 @@ namespace boost {
|
|
461
520
|
return false;
|
462
521
|
}
|
463
522
|
}
|
523
|
+
template<typename FunctionPtr,typename Allocator>
|
524
|
+
bool
|
525
|
+
assign_to_a(FunctionPtr f, function_buffer& functor, Allocator, function_ptr_tag)
|
526
|
+
{
|
527
|
+
return assign_to(f,functor,function_ptr_tag());
|
528
|
+
}
|
464
529
|
|
465
530
|
// Member pointers
|
466
531
|
#if BOOST_FUNCTION_NUM_ARGS > 0
|
467
532
|
template<typename MemberPtr>
|
468
|
-
bool
|
469
|
-
assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag) const
|
533
|
+
bool assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag)
|
470
534
|
{
|
535
|
+
// DPG TBD: Add explicit support for member function
|
536
|
+
// objects, so we invoke through mem_fn() but we retain the
|
537
|
+
// right target_type() values.
|
471
538
|
if (f) {
|
472
|
-
|
473
|
-
|
474
|
-
|
539
|
+
this->assign_to(mem_fn(f), functor);
|
540
|
+
return true;
|
541
|
+
} else {
|
542
|
+
return false;
|
543
|
+
}
|
544
|
+
}
|
545
|
+
template<typename MemberPtr,typename Allocator>
|
546
|
+
bool assign_to_a(MemberPtr f, function_buffer& functor, Allocator a, member_ptr_tag)
|
547
|
+
{
|
548
|
+
// DPG TBD: Add explicit support for member function
|
549
|
+
// objects, so we invoke through mem_fn() but we retain the
|
550
|
+
// right target_type() values.
|
551
|
+
if (f) {
|
552
|
+
this->assign_to_a(mem_fn(f), functor, a);
|
475
553
|
return true;
|
476
554
|
} else {
|
477
555
|
return false;
|
@@ -483,38 +561,42 @@ namespace boost {
|
|
483
561
|
// Assign to a function object using the small object optimization
|
484
562
|
template<typename FunctionObj>
|
485
563
|
void
|
486
|
-
assign_functor(
|
487
|
-
mpl::true_) const
|
564
|
+
assign_functor(FunctionObj f, function_buffer& functor, mpl::true_)
|
488
565
|
{
|
489
566
|
new ((void*)&functor.data) FunctionObj(f);
|
490
567
|
}
|
568
|
+
template<typename FunctionObj,typename Allocator>
|
569
|
+
void
|
570
|
+
assign_functor_a(FunctionObj f, function_buffer& functor, Allocator, mpl::true_)
|
571
|
+
{
|
572
|
+
assign_functor(f,functor,mpl::true_());
|
573
|
+
}
|
491
574
|
|
492
575
|
// Assign to a function object allocated on the heap.
|
493
576
|
template<typename FunctionObj>
|
494
577
|
void
|
495
|
-
assign_functor(
|
496
|
-
mpl::false_) const
|
578
|
+
assign_functor(FunctionObj f, function_buffer& functor, mpl::false_)
|
497
579
|
{
|
498
|
-
#ifndef BOOST_NO_STD_ALLOCATOR
|
499
|
-
typedef typename Allocator::template rebind<FunctionObj>::other
|
500
|
-
allocator_type;
|
501
|
-
typedef typename allocator_type::pointer pointer_type;
|
502
|
-
|
503
|
-
allocator_type allocator;
|
504
|
-
pointer_type copy = allocator.allocate(1);
|
505
|
-
allocator.construct(copy, f);
|
506
|
-
|
507
|
-
// Get back to the original pointer type
|
508
|
-
functor.obj_ptr = static_cast<FunctionObj*>(copy);
|
509
|
-
# else
|
510
580
|
functor.obj_ptr = new FunctionObj(f);
|
511
|
-
|
581
|
+
}
|
582
|
+
template<typename FunctionObj,typename Allocator>
|
583
|
+
void
|
584
|
+
assign_functor_a(FunctionObj f, function_buffer& functor, Allocator a, mpl::false_)
|
585
|
+
{
|
586
|
+
typedef functor_wrapper<FunctionObj,Allocator> functor_wrapper_type;
|
587
|
+
typedef typename Allocator::template rebind<functor_wrapper_type>::other
|
588
|
+
wrapper_allocator_type;
|
589
|
+
typedef typename wrapper_allocator_type::pointer wrapper_allocator_pointer_type;
|
590
|
+
wrapper_allocator_type wrapper_allocator(a);
|
591
|
+
wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1);
|
592
|
+
wrapper_allocator.construct(copy, functor_wrapper_type(f,a));
|
593
|
+
functor_wrapper_type* new_f = static_cast<functor_wrapper_type*>(copy);
|
594
|
+
functor.obj_ptr = new_f;
|
512
595
|
}
|
513
596
|
|
514
597
|
template<typename FunctionObj>
|
515
598
|
bool
|
516
|
-
assign_to(
|
517
|
-
function_obj_tag) const
|
599
|
+
assign_to(FunctionObj f, function_buffer& functor, function_obj_tag)
|
518
600
|
{
|
519
601
|
if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
|
520
602
|
assign_functor(f, functor,
|
@@ -524,25 +606,38 @@ namespace boost {
|
|
524
606
|
return false;
|
525
607
|
}
|
526
608
|
}
|
527
|
-
|
528
|
-
// Reference to a function object
|
529
|
-
template<typename FunctionObj>
|
609
|
+
template<typename FunctionObj,typename Allocator>
|
530
610
|
bool
|
531
|
-
|
532
|
-
function_buffer& functor, function_obj_ref_tag) const
|
611
|
+
assign_to_a(FunctionObj f, function_buffer& functor, Allocator a, function_obj_tag)
|
533
612
|
{
|
534
|
-
if (!boost::detail::function::has_empty_target(f
|
535
|
-
|
536
|
-
|
537
|
-
// be truly legit, but no platform in existence makes
|
538
|
-
// const void* different from void*.
|
539
|
-
functor.const_obj_ptr = f.get_pointer();
|
613
|
+
if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
|
614
|
+
assign_functor_a(f, functor, a,
|
615
|
+
mpl::bool_<(function_allows_small_object_optimization<FunctionObj>::value)>());
|
540
616
|
return true;
|
541
617
|
} else {
|
542
618
|
return false;
|
543
619
|
}
|
544
620
|
}
|
545
621
|
|
622
|
+
// Reference to a function object
|
623
|
+
template<typename FunctionObj>
|
624
|
+
bool
|
625
|
+
assign_to(const reference_wrapper<FunctionObj>& f,
|
626
|
+
function_buffer& functor, function_obj_ref_tag)
|
627
|
+
{
|
628
|
+
functor.obj_ref.obj_ptr = (void *)f.get_pointer();
|
629
|
+
functor.obj_ref.is_const_qualified = is_const<FunctionObj>::value;
|
630
|
+
functor.obj_ref.is_volatile_qualified = is_volatile<FunctionObj>::value;
|
631
|
+
return true;
|
632
|
+
}
|
633
|
+
template<typename FunctionObj,typename Allocator>
|
634
|
+
bool
|
635
|
+
assign_to_a(const reference_wrapper<FunctionObj>& f,
|
636
|
+
function_buffer& functor, Allocator, function_obj_ref_tag)
|
637
|
+
{
|
638
|
+
return assign_to(f,functor,function_obj_ref_tag());
|
639
|
+
}
|
640
|
+
|
546
641
|
public:
|
547
642
|
vtable_base base;
|
548
643
|
invoker_type invoker;
|
@@ -552,8 +647,7 @@ namespace boost {
|
|
552
647
|
|
553
648
|
template<
|
554
649
|
typename R BOOST_FUNCTION_COMMA
|
555
|
-
BOOST_FUNCTION_TEMPLATE_PARMS
|
556
|
-
typename Allocator = BOOST_FUNCTION_DEFAULT_ALLOCATOR
|
650
|
+
BOOST_FUNCTION_TEMPLATE_PARMS
|
557
651
|
>
|
558
652
|
class BOOST_FUNCTION_FUNCTION : public function_base
|
559
653
|
|
@@ -578,9 +672,14 @@ namespace boost {
|
|
578
672
|
|
579
673
|
private:
|
580
674
|
typedef boost::detail::function::BOOST_FUNCTION_VTABLE<
|
581
|
-
R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS
|
675
|
+
R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>
|
582
676
|
vtable_type;
|
583
677
|
|
678
|
+
vtable_type* get_vtable() const {
|
679
|
+
return reinterpret_cast<vtable_type*>(
|
680
|
+
reinterpret_cast<std::size_t>(vtable) & ~(std::size_t)0x01);
|
681
|
+
}
|
682
|
+
|
584
683
|
struct clear_type {};
|
585
684
|
|
586
685
|
public:
|
@@ -603,7 +702,6 @@ namespace boost {
|
|
603
702
|
BOOST_STATIC_CONSTANT(int, arity = BOOST_FUNCTION_NUM_ARGS);
|
604
703
|
BOOST_FUNCTION_ARG_TYPES
|
605
704
|
|
606
|
-
typedef Allocator allocator_type;
|
607
705
|
typedef BOOST_FUNCTION_FUNCTION self_type;
|
608
706
|
|
609
707
|
BOOST_FUNCTION_FUNCTION() : function_base() { }
|
@@ -623,6 +721,19 @@ namespace boost {
|
|
623
721
|
{
|
624
722
|
this->assign_to(f);
|
625
723
|
}
|
724
|
+
template<typename Functor,typename Allocator>
|
725
|
+
BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a
|
726
|
+
#ifndef BOOST_NO_SFINAE
|
727
|
+
,typename enable_if_c<
|
728
|
+
(boost::type_traits::ice_not<
|
729
|
+
(is_integral<Functor>::value)>::value),
|
730
|
+
int>::type = 0
|
731
|
+
#endif // BOOST_NO_SFINAE
|
732
|
+
) :
|
733
|
+
function_base()
|
734
|
+
{
|
735
|
+
this->assign_to_a(f,a);
|
736
|
+
}
|
626
737
|
|
627
738
|
#ifndef BOOST_NO_SFINAE
|
628
739
|
BOOST_FUNCTION_FUNCTION(clear_type*) : function_base() { }
|
@@ -648,7 +759,7 @@ namespace boost {
|
|
648
759
|
if (this->empty())
|
649
760
|
boost::throw_exception(bad_function_call());
|
650
761
|
|
651
|
-
return
|
762
|
+
return get_vtable()->invoker
|
652
763
|
(this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS);
|
653
764
|
}
|
654
765
|
#else
|
@@ -672,18 +783,27 @@ namespace boost {
|
|
672
783
|
operator=(Functor BOOST_FUNCTION_TARGET_FIX(const &) f)
|
673
784
|
{
|
674
785
|
this->clear();
|
675
|
-
|
676
|
-
try {
|
786
|
+
BOOST_TRY {
|
677
787
|
this->assign_to(f);
|
678
|
-
}
|
788
|
+
} BOOST_CATCH (...) {
|
679
789
|
vtable = 0;
|
680
|
-
|
790
|
+
BOOST_RETHROW;
|
681
791
|
}
|
682
|
-
|
683
|
-
this->assign_to(f);
|
684
|
-
#endif
|
792
|
+
BOOST_CATCH_END
|
685
793
|
return *this;
|
686
794
|
}
|
795
|
+
template<typename Functor,typename Allocator>
|
796
|
+
void assign(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a)
|
797
|
+
{
|
798
|
+
this->clear();
|
799
|
+
BOOST_TRY{
|
800
|
+
this->assign_to_a(f,a);
|
801
|
+
} BOOST_CATCH (...) {
|
802
|
+
vtable = 0;
|
803
|
+
BOOST_RETHROW;
|
804
|
+
}
|
805
|
+
BOOST_CATCH_END
|
806
|
+
}
|
687
807
|
|
688
808
|
#ifndef BOOST_NO_SFINAE
|
689
809
|
BOOST_FUNCTION_FUNCTION& operator=(clear_type*)
|
@@ -707,16 +827,13 @@ namespace boost {
|
|
707
827
|
return *this;
|
708
828
|
|
709
829
|
this->clear();
|
710
|
-
|
711
|
-
try {
|
830
|
+
BOOST_TRY {
|
712
831
|
this->assign_to_own(f);
|
713
|
-
}
|
832
|
+
} BOOST_CATCH (...) {
|
714
833
|
vtable = 0;
|
715
|
-
|
834
|
+
BOOST_RETHROW;
|
716
835
|
}
|
717
|
-
|
718
|
-
this->assign_to_own(f);
|
719
|
-
#endif
|
836
|
+
BOOST_CATCH_END
|
720
837
|
return *this;
|
721
838
|
}
|
722
839
|
|
@@ -725,16 +842,18 @@ namespace boost {
|
|
725
842
|
if (&other == this)
|
726
843
|
return;
|
727
844
|
|
728
|
-
BOOST_FUNCTION_FUNCTION tmp
|
729
|
-
*this
|
730
|
-
other
|
845
|
+
BOOST_FUNCTION_FUNCTION tmp;
|
846
|
+
tmp.move_assign(*this);
|
847
|
+
this->move_assign(other);
|
848
|
+
other.move_assign(tmp);
|
731
849
|
}
|
732
850
|
|
733
851
|
// Clear out a target, if there is one
|
734
852
|
void clear()
|
735
853
|
{
|
736
854
|
if (vtable) {
|
737
|
-
|
855
|
+
if (!this->has_trivial_copy_and_destroy())
|
856
|
+
get_vtable()->clear(this->functor);
|
738
857
|
vtable = 0;
|
739
858
|
}
|
740
859
|
}
|
@@ -763,13 +882,16 @@ namespace boost {
|
|
763
882
|
{
|
764
883
|
if (!f.empty()) {
|
765
884
|
this->vtable = f.vtable;
|
766
|
-
|
767
|
-
|
885
|
+
if (this->has_trivial_copy_and_destroy())
|
886
|
+
this->functor = f.functor;
|
887
|
+
else
|
888
|
+
get_vtable()->base.manager(f.functor, this->functor,
|
889
|
+
boost::detail::function::clone_functor_tag);
|
768
890
|
}
|
769
891
|
}
|
770
892
|
|
771
893
|
template<typename Functor>
|
772
|
-
void assign_to(
|
894
|
+
void assign_to(Functor f)
|
773
895
|
{
|
774
896
|
using detail::function::vtable_base;
|
775
897
|
|
@@ -777,76 +899,136 @@ namespace boost {
|
|
777
899
|
typedef detail::function::BOOST_FUNCTION_GET_INVOKER<tag> get_invoker;
|
778
900
|
typedef typename get_invoker::
|
779
901
|
template apply<Functor, R BOOST_FUNCTION_COMMA
|
780
|
-
BOOST_FUNCTION_TEMPLATE_ARGS
|
902
|
+
BOOST_FUNCTION_TEMPLATE_ARGS>
|
781
903
|
handler_type;
|
782
904
|
|
783
905
|
typedef typename handler_type::invoker_type invoker_type;
|
784
906
|
typedef typename handler_type::manager_type manager_type;
|
907
|
+
|
908
|
+
// Note: it is extremely important that this initialization use
|
909
|
+
// static initialization. Otherwise, we will have a race
|
910
|
+
// condition here in multi-threaded code. See
|
911
|
+
// http://thread.gmane.org/gmane.comp.lib.boost.devel/164902/.
|
912
|
+
static vtable_type stored_vtable =
|
913
|
+
{ { &manager_type::manage }, &invoker_type::invoke };
|
914
|
+
|
915
|
+
if (stored_vtable.assign_to(f, functor)) {
|
916
|
+
std::size_t value = reinterpret_cast<std::size_t>(&stored_vtable.base);
|
917
|
+
if (boost::has_trivial_copy_constructor<Functor>::value &&
|
918
|
+
boost::has_trivial_destructor<Functor>::value &&
|
919
|
+
detail::function::function_allows_small_object_optimization<Functor>::value)
|
920
|
+
value |= (std::size_t)0x01;
|
921
|
+
vtable = reinterpret_cast<detail::function::vtable_base *>(value);
|
922
|
+
} else
|
923
|
+
vtable = 0;
|
924
|
+
}
|
925
|
+
|
926
|
+
template<typename Functor,typename Allocator>
|
927
|
+
void assign_to_a(Functor f,Allocator a)
|
928
|
+
{
|
929
|
+
using detail::function::vtable_base;
|
930
|
+
|
931
|
+
typedef typename detail::function::get_function_tag<Functor>::type tag;
|
932
|
+
typedef detail::function::BOOST_FUNCTION_GET_INVOKER<tag> get_invoker;
|
933
|
+
typedef typename get_invoker::
|
934
|
+
template apply_a<Functor, R BOOST_FUNCTION_COMMA
|
935
|
+
BOOST_FUNCTION_TEMPLATE_ARGS,
|
936
|
+
Allocator>
|
937
|
+
handler_type;
|
785
938
|
|
786
|
-
|
939
|
+
typedef typename handler_type::invoker_type invoker_type;
|
940
|
+
typedef typename handler_type::manager_type manager_type;
|
941
|
+
|
942
|
+
// Note: it is extremely important that this initialization use
|
943
|
+
// static initialization. Otherwise, we will have a race
|
944
|
+
// condition here in multi-threaded code. See
|
945
|
+
// http://thread.gmane.org/gmane.comp.lib.boost.devel/164902/.
|
946
|
+
static vtable_type stored_vtable =
|
787
947
|
{ { &manager_type::manage }, &invoker_type::invoke };
|
788
948
|
|
789
|
-
if (stored_vtable.
|
790
|
-
|
949
|
+
if (stored_vtable.assign_to_a(f, functor, a)) {
|
950
|
+
std::size_t value = reinterpret_cast<std::size_t>(&stored_vtable.base);
|
951
|
+
if (boost::has_trivial_copy_constructor<Functor>::value &&
|
952
|
+
boost::has_trivial_destructor<Functor>::value &&
|
953
|
+
detail::function::function_allows_small_object_optimization<Functor>::value)
|
954
|
+
value |= (std::size_t)0x01;
|
955
|
+
vtable = reinterpret_cast<detail::function::vtable_base *>(value);
|
956
|
+
} else
|
957
|
+
vtable = 0;
|
958
|
+
}
|
959
|
+
|
960
|
+
// Moves the value from the specified argument to *this. If the argument
|
961
|
+
// has its function object allocated on the heap, move_assign will pass
|
962
|
+
// its buffer to *this, and set the argument's buffer pointer to NULL.
|
963
|
+
void move_assign(BOOST_FUNCTION_FUNCTION& f)
|
964
|
+
{
|
965
|
+
if (&f == this)
|
966
|
+
return;
|
967
|
+
|
968
|
+
BOOST_TRY {
|
969
|
+
if (!f.empty()) {
|
970
|
+
this->vtable = f.vtable;
|
971
|
+
if (this->has_trivial_copy_and_destroy())
|
972
|
+
this->functor = f.functor;
|
973
|
+
else
|
974
|
+
get_vtable()->base.manager(f.functor, this->functor,
|
975
|
+
boost::detail::function::move_functor_tag);
|
976
|
+
f.vtable = 0;
|
977
|
+
} else {
|
978
|
+
clear();
|
979
|
+
}
|
980
|
+
} BOOST_CATCH (...) {
|
981
|
+
vtable = 0;
|
982
|
+
BOOST_RETHROW;
|
983
|
+
}
|
984
|
+
BOOST_CATCH_END
|
791
985
|
}
|
792
986
|
};
|
793
987
|
|
794
|
-
template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS
|
795
|
-
typename Allocator>
|
988
|
+
template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
|
796
989
|
inline void swap(BOOST_FUNCTION_FUNCTION<
|
797
990
|
R BOOST_FUNCTION_COMMA
|
798
|
-
BOOST_FUNCTION_TEMPLATE_ARGS
|
799
|
-
Allocator
|
991
|
+
BOOST_FUNCTION_TEMPLATE_ARGS
|
800
992
|
>& f1,
|
801
993
|
BOOST_FUNCTION_FUNCTION<
|
802
994
|
R BOOST_FUNCTION_COMMA
|
803
|
-
BOOST_FUNCTION_TEMPLATE_ARGS
|
804
|
-
Allocator
|
995
|
+
BOOST_FUNCTION_TEMPLATE_ARGS
|
805
996
|
>& f2)
|
806
997
|
{
|
807
998
|
f1.swap(f2);
|
808
999
|
}
|
809
1000
|
|
810
1001
|
#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
|
811
|
-
template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS
|
812
|
-
typename Allocator>
|
1002
|
+
template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
|
813
1003
|
typename BOOST_FUNCTION_FUNCTION<
|
814
|
-
R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS
|
815
|
-
|
816
|
-
|
817
|
-
|
818
|
-
Allocator>
|
1004
|
+
R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>::result_type
|
1005
|
+
inline
|
1006
|
+
BOOST_FUNCTION_FUNCTION<R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>
|
819
1007
|
::operator()(BOOST_FUNCTION_PARMS) const
|
820
1008
|
{
|
821
1009
|
if (this->empty())
|
822
1010
|
boost::throw_exception(bad_function_call());
|
823
1011
|
|
824
|
-
return
|
1012
|
+
return get_vtable()->invoker
|
825
1013
|
(this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS);
|
826
1014
|
}
|
827
1015
|
#endif
|
828
1016
|
|
829
1017
|
// Poison comparisons between boost::function objects of the same type.
|
830
|
-
template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS
|
831
|
-
typename Allocator>
|
1018
|
+
template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
|
832
1019
|
void operator==(const BOOST_FUNCTION_FUNCTION<
|
833
1020
|
R BOOST_FUNCTION_COMMA
|
834
|
-
BOOST_FUNCTION_TEMPLATE_ARGS
|
835
|
-
Allocator>&,
|
1021
|
+
BOOST_FUNCTION_TEMPLATE_ARGS>&,
|
836
1022
|
const BOOST_FUNCTION_FUNCTION<
|
837
1023
|
R BOOST_FUNCTION_COMMA
|
838
|
-
BOOST_FUNCTION_TEMPLATE_ARGS
|
839
|
-
|
840
|
-
template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS ,
|
841
|
-
typename Allocator>
|
1024
|
+
BOOST_FUNCTION_TEMPLATE_ARGS>&);
|
1025
|
+
template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS>
|
842
1026
|
void operator!=(const BOOST_FUNCTION_FUNCTION<
|
843
1027
|
R BOOST_FUNCTION_COMMA
|
844
|
-
BOOST_FUNCTION_TEMPLATE_ARGS
|
845
|
-
Allocator>&,
|
1028
|
+
BOOST_FUNCTION_TEMPLATE_ARGS>&,
|
846
1029
|
const BOOST_FUNCTION_FUNCTION<
|
847
1030
|
R BOOST_FUNCTION_COMMA
|
848
|
-
BOOST_FUNCTION_TEMPLATE_ARGS
|
849
|
-
Allocator>&);
|
1031
|
+
BOOST_FUNCTION_TEMPLATE_ARGS>& );
|
850
1032
|
|
851
1033
|
#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
|
852
1034
|
|
@@ -857,20 +1039,16 @@ template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS ,
|
|
857
1039
|
#endif
|
858
1040
|
|
859
1041
|
template<typename R BOOST_FUNCTION_COMMA
|
860
|
-
BOOST_FUNCTION_TEMPLATE_PARMS
|
861
|
-
|
862
|
-
|
863
|
-
: public BOOST_FUNCTION_FUNCTION<R, BOOST_FUNCTION_TEMPLATE_ARGS
|
864
|
-
BOOST_FUNCTION_COMMA Allocator>
|
1042
|
+
BOOST_FUNCTION_TEMPLATE_PARMS>
|
1043
|
+
class function<BOOST_FUNCTION_PARTIAL_SPEC>
|
1044
|
+
: public BOOST_FUNCTION_FUNCTION<R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>
|
865
1045
|
{
|
866
|
-
typedef BOOST_FUNCTION_FUNCTION<R
|
867
|
-
BOOST_FUNCTION_COMMA Allocator> base_type;
|
1046
|
+
typedef BOOST_FUNCTION_FUNCTION<R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS> base_type;
|
868
1047
|
typedef function self_type;
|
869
1048
|
|
870
1049
|
struct clear_type {};
|
871
1050
|
|
872
1051
|
public:
|
873
|
-
typedef typename base_type::allocator_type allocator_type;
|
874
1052
|
|
875
1053
|
function() : base_type() {}
|
876
1054
|
|
@@ -886,6 +1064,18 @@ public:
|
|
886
1064
|
base_type(f)
|
887
1065
|
{
|
888
1066
|
}
|
1067
|
+
template<typename Functor,typename Allocator>
|
1068
|
+
function(Functor f, Allocator a
|
1069
|
+
#ifndef BOOST_NO_SFINAE
|
1070
|
+
,typename enable_if_c<
|
1071
|
+
(boost::type_traits::ice_not<
|
1072
|
+
(is_integral<Functor>::value)>::value),
|
1073
|
+
int>::type = 0
|
1074
|
+
#endif
|
1075
|
+
) :
|
1076
|
+
base_type(f,a)
|
1077
|
+
{
|
1078
|
+
}
|
889
1079
|
|
890
1080
|
#ifndef BOOST_NO_SFINAE
|
891
1081
|
function(clear_type*) : base_type() {}
|
@@ -938,8 +1128,6 @@ public:
|
|
938
1128
|
|
939
1129
|
// Cleanup after ourselves...
|
940
1130
|
#undef BOOST_FUNCTION_VTABLE
|
941
|
-
#undef BOOST_FUNCTION_GET_INVOKER
|
942
|
-
#undef BOOST_FUNCTION_DEFAULT_ALLOCATOR
|
943
1131
|
#undef BOOST_FUNCTION_COMMA
|
944
1132
|
#undef BOOST_FUNCTION_FUNCTION
|
945
1133
|
#undef BOOST_FUNCTION_FUNCTION_INVOKER
|
@@ -953,7 +1141,8 @@ public:
|
|
953
1141
|
#undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
|
954
1142
|
#undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
|
955
1143
|
#undef BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER
|
956
|
-
#undef
|
1144
|
+
#undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
|
1145
|
+
#undef BOOST_FUNCTION_GET_INVOKER
|
957
1146
|
#undef BOOST_FUNCTION_TEMPLATE_PARMS
|
958
1147
|
#undef BOOST_FUNCTION_TEMPLATE_ARGS
|
959
1148
|
#undef BOOST_FUNCTION_PARMS
|