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
@@ -5,10 +5,12 @@
|
|
5
5
|
* Subject to the Boost Software License, Version 1.0. (See accompanying
|
6
6
|
* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
7
7
|
* Author: Jeff Garland, Bart Garst
|
8
|
-
* $Date: 2008-
|
8
|
+
* $Date: 2008-11-12 14:37:53 -0500 (Wed, 12 Nov 2008) $
|
9
9
|
*/
|
10
10
|
|
11
|
-
|
11
|
+
#include <cstdlib>
|
12
|
+
#include <boost/config.hpp>
|
13
|
+
#include <boost/detail/workaround.hpp>
|
12
14
|
|
13
15
|
// With boost release 1.33, date_time will be using a different,
|
14
16
|
// more flexible, IO system. This new system is not compatible with
|
@@ -26,7 +28,7 @@
|
|
26
28
|
|
27
29
|
// This file performs some local compiler configurations
|
28
30
|
|
29
|
-
#include
|
31
|
+
#include <boost/date_time/locale_config.hpp> //set up locale configurations
|
30
32
|
|
31
33
|
//Set up a configuration parameter for platforms that have
|
32
34
|
//GetTimeOfDay
|
@@ -49,7 +51,7 @@
|
|
49
51
|
#endif
|
50
52
|
|
51
53
|
// include these types before we try to re-define them
|
52
|
-
#include
|
54
|
+
#include <boost/cstdint.hpp>
|
53
55
|
|
54
56
|
//Define INT64_C for compilers that don't have it
|
55
57
|
#if (!defined(INT64_C))
|
@@ -85,12 +87,32 @@ namespace std {
|
|
85
87
|
#define BOOST_DATE_TIME_INCLUDE_LIMITED_HEADERS
|
86
88
|
#endif
|
87
89
|
|
90
|
+
// The macro marks up places where compiler complains for missing return statement or
|
91
|
+
// uninitialized variables after calling to boost::throw_exception.
|
92
|
+
// BOOST_UNREACHABLE_RETURN doesn't work since even compilers that support
|
93
|
+
// unreachable statements detection emit such warnings.
|
94
|
+
#if defined(_MSC_VER)
|
95
|
+
// Use special MSVC extension to markup unreachable code
|
96
|
+
# define BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(x) __assume(false)
|
97
|
+
#elif !defined(BOOST_NO_UNREACHABLE_RETURN_DETECTION)
|
98
|
+
// Call to a non-returning function should suppress the warning
|
99
|
+
# if defined(BOOST_NO_STDC_NAMESPACE)
|
100
|
+
namespace std {
|
101
|
+
using ::abort;
|
102
|
+
}
|
103
|
+
# endif // defined(BOOST_NO_STDC_NAMESPACE)
|
104
|
+
# define BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(x) std::abort()
|
105
|
+
#else
|
106
|
+
// For other poor compilers the specified expression is compiled. Usually, this would be a return statement.
|
107
|
+
# define BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(x) x
|
108
|
+
#endif
|
109
|
+
|
88
110
|
/* The following handles the definition of the necessary macros
|
89
111
|
* for dll building on Win32 platforms.
|
90
112
|
*
|
91
113
|
* For code that will be placed in the date_time .dll,
|
92
114
|
* it must be properly prefixed with BOOST_DATE_TIME_DECL.
|
93
|
-
* The corresponding .cpp file must have
|
115
|
+
* The corresponding .cpp file must have BOOST_DATE_TIME_SOURCE
|
94
116
|
* defined before including its header. For examples see:
|
95
117
|
* greg_month.hpp & greg_month.cpp
|
96
118
|
*
|
@@ -6,10 +6,15 @@
|
|
6
6
|
* Boost Software License, Version 1.0. (See accompanying
|
7
7
|
* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
8
8
|
* Author: Jeff Garland
|
9
|
-
* $Date: 2008-
|
9
|
+
* $Date: 2008-11-12 14:37:53 -0500 (Wed, 12 Nov 2008) $
|
10
10
|
*/
|
11
11
|
|
12
|
+
#include <exception>
|
13
|
+
#include <stdexcept>
|
12
14
|
#include <boost/config.hpp>
|
15
|
+
#include <boost/throw_exception.hpp>
|
16
|
+
#include <boost/mpl/if.hpp>
|
17
|
+
#include <boost/type_traits/is_base_of.hpp>
|
13
18
|
|
14
19
|
namespace boost {
|
15
20
|
|
@@ -38,21 +43,21 @@ namespace CV {
|
|
38
43
|
public:
|
39
44
|
typedef typename value_policies::value_type value_type;
|
40
45
|
// typedef except_type exception_type;
|
41
|
-
constrained_value(value_type value)
|
46
|
+
constrained_value(value_type value) : value_((min)())
|
42
47
|
{
|
43
48
|
assign(value);
|
44
|
-
}
|
45
|
-
constrained_value& operator=(value_type v)
|
46
|
-
{
|
49
|
+
}
|
50
|
+
constrained_value& operator=(value_type v)
|
51
|
+
{
|
47
52
|
assign(v);
|
48
53
|
return *this;
|
49
|
-
}
|
54
|
+
}
|
50
55
|
//! Return the max allowed value (traits method)
|
51
|
-
static value_type max BOOST_PREVENT_MACRO_SUBSTITUTION () {return (value_policies::max)();}
|
56
|
+
static value_type max BOOST_PREVENT_MACRO_SUBSTITUTION () {return (value_policies::max)();}
|
52
57
|
//! Return the min allowed value (traits method)
|
53
|
-
static value_type min BOOST_PREVENT_MACRO_SUBSTITUTION () {return (value_policies::min)();}
|
58
|
+
static value_type min BOOST_PREVENT_MACRO_SUBSTITUTION () {return (value_policies::min)();}
|
54
59
|
//! Coerce into the representation type
|
55
|
-
operator value_type() const {return value_;}
|
60
|
+
operator value_type() const {return value_;}
|
56
61
|
protected:
|
57
62
|
value_type value_;
|
58
63
|
private:
|
@@ -69,7 +74,6 @@ namespace CV {
|
|
69
74
|
return;
|
70
75
|
}
|
71
76
|
value_ = value;
|
72
|
-
|
73
77
|
}
|
74
78
|
};
|
75
79
|
|
@@ -78,13 +82,32 @@ namespace CV {
|
|
78
82
|
rep_type max_value, class exception_type>
|
79
83
|
class simple_exception_policy
|
80
84
|
{
|
85
|
+
struct exception_wrapper : public exception_type
|
86
|
+
{
|
87
|
+
// In order to support throw_exception mechanism in the BOOST_NO_EXCEPTIONS mode,
|
88
|
+
// we'll have to provide a way to acquire std::exception from the exception being thrown.
|
89
|
+
// However, we cannot derive from it, since it would make it interceptable by this class,
|
90
|
+
// which might not be what the user wanted.
|
91
|
+
operator std::out_of_range () const
|
92
|
+
{
|
93
|
+
// TODO: Make the message more descriptive by using arguments to on_error
|
94
|
+
return std::out_of_range("constrained value boundary has been violated");
|
95
|
+
}
|
96
|
+
};
|
97
|
+
|
98
|
+
typedef typename mpl::if_<
|
99
|
+
is_base_of< std::exception, exception_type >,
|
100
|
+
exception_type,
|
101
|
+
exception_wrapper
|
102
|
+
>::type actual_exception_type;
|
103
|
+
|
81
104
|
public:
|
82
105
|
typedef rep_type value_type;
|
83
|
-
static rep_type min BOOST_PREVENT_MACRO_SUBSTITUTION () { return min_value; }
|
84
|
-
static rep_type max BOOST_PREVENT_MACRO_SUBSTITUTION () { return max_value;}
|
106
|
+
static rep_type min BOOST_PREVENT_MACRO_SUBSTITUTION () { return min_value; }
|
107
|
+
static rep_type max BOOST_PREVENT_MACRO_SUBSTITUTION () { return max_value; }
|
85
108
|
static void on_error(rep_type, rep_type, violation_enum)
|
86
109
|
{
|
87
|
-
|
110
|
+
boost::throw_exception(actual_exception_type());
|
88
111
|
}
|
89
112
|
};
|
90
113
|
|
@@ -2,43 +2,43 @@
|
|
2
2
|
#define DATE_TIME_DATE_HPP___
|
3
3
|
|
4
4
|
/* Copyright (c) 2002,2003 CrystalClear Software, Inc.
|
5
|
-
* Use, modification and distribution is subject to the
|
5
|
+
* Use, modification and distribution is subject to the
|
6
6
|
* Boost Software License, Version 1.0. (See accompanying
|
7
7
|
* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
8
8
|
* Author: Jeff Garland, Bart Garst
|
9
|
-
* $Date:
|
9
|
+
* $Date: 2010-01-10 14:17:23 -0500 (Sun, 10 Jan 2010) $
|
10
10
|
*/
|
11
11
|
|
12
|
-
#include
|
13
|
-
#include
|
14
|
-
#include
|
12
|
+
#include <boost/operators.hpp>
|
13
|
+
#include <boost/date_time/year_month_day.hpp>
|
14
|
+
#include <boost/date_time/special_defs.hpp>
|
15
15
|
|
16
16
|
namespace boost {
|
17
17
|
namespace date_time {
|
18
18
|
|
19
19
|
//!Representation of timepoint at the one day level resolution.
|
20
|
-
/*!
|
20
|
+
/*!
|
21
21
|
The date template represents an interface shell for a date class
|
22
22
|
that is based on a year-month-day system such as the gregorian
|
23
23
|
or iso systems. It provides basic operations to enable calculation
|
24
|
-
and comparisons.
|
24
|
+
and comparisons.
|
25
25
|
|
26
26
|
<b>Theory</b>
|
27
27
|
|
28
|
-
This date representation fundamentally departs from the C tm struct
|
28
|
+
This date representation fundamentally departs from the C tm struct
|
29
29
|
approach. The goal for this type is to provide efficient date
|
30
30
|
operations (add, subtract) and storage (minimize space to represent)
|
31
31
|
in a concrete class. Thus, the date uses a count internally to
|
32
|
-
represent a particular date. The calendar parameter defines
|
32
|
+
represent a particular date. The calendar parameter defines
|
33
33
|
the policies for converting the the year-month-day and internal
|
34
34
|
counted form here. Applications that need to perform heavy
|
35
35
|
formatting of the same date repeatedly will perform better
|
36
36
|
by using the year-month-day representation.
|
37
|
-
|
37
|
+
|
38
38
|
Internally the date uses a day number to represent the date.
|
39
|
-
This is a monotonic time representation. This representation
|
39
|
+
This is a monotonic time representation. This representation
|
40
40
|
allows for fast comparison as well as simplifying
|
41
|
-
the creation of writing numeric operations. Essentially, the
|
41
|
+
the creation of writing numeric operations. Essentially, the
|
42
42
|
internal day number is like adjusted julian day. The adjustment
|
43
43
|
is determined by the Epoch date which is represented as day 1 of
|
44
44
|
the calendar. Day 0 is reserved for negative infinity so that
|
@@ -48,11 +48,11 @@ namespace date_time {
|
|
48
48
|
day representations.
|
49
49
|
*/
|
50
50
|
|
51
|
-
|
52
|
-
template<class T, class calendar, class duration_type_>
|
53
|
-
class date : private
|
54
|
-
boost::less_than_comparable<T
|
55
|
-
, boost::equality_comparable<T
|
51
|
+
|
52
|
+
template<class T, class calendar, class duration_type_>
|
53
|
+
class date : private
|
54
|
+
boost::less_than_comparable<T
|
55
|
+
, boost::equality_comparable<T
|
56
56
|
> >
|
57
57
|
{
|
58
58
|
public:
|
@@ -67,26 +67,26 @@ namespace date_time {
|
|
67
67
|
typedef typename calendar::date_rep_type date_rep_type;
|
68
68
|
typedef typename calendar::date_int_type date_int_type;
|
69
69
|
typedef typename calendar::day_of_week_type day_of_week_type;
|
70
|
-
date(year_type y, month_type m, day_type d)
|
70
|
+
date(year_type y, month_type m, day_type d)
|
71
71
|
: days_(calendar::day_number(ymd_type(y, m, d)))
|
72
72
|
{}
|
73
|
-
date(const ymd_type& ymd)
|
73
|
+
date(const ymd_type& ymd)
|
74
74
|
: days_(calendar::day_number(ymd))
|
75
|
-
|
75
|
+
{}
|
76
76
|
//let the compiler write copy, assignment, and destructor
|
77
77
|
year_type year() const
|
78
78
|
{
|
79
|
-
ymd_type ymd = calendar::from_day_number(days_);
|
79
|
+
ymd_type ymd = calendar::from_day_number(days_);
|
80
80
|
return ymd.year;
|
81
81
|
}
|
82
82
|
month_type month() const
|
83
83
|
{
|
84
|
-
ymd_type ymd = calendar::from_day_number(days_);
|
84
|
+
ymd_type ymd = calendar::from_day_number(days_);
|
85
85
|
return ymd.month;
|
86
86
|
}
|
87
87
|
day_type day() const
|
88
88
|
{
|
89
|
-
ymd_type ymd = calendar::from_day_number(days_);
|
89
|
+
ymd_type ymd = calendar::from_day_number(days_);
|
90
90
|
return ymd.day;
|
91
91
|
}
|
92
92
|
day_of_week_type day_of_week() const
|
@@ -138,10 +138,21 @@ namespace date_time {
|
|
138
138
|
}
|
139
139
|
duration_type operator-(const date_type& d) const
|
140
140
|
{
|
141
|
-
|
142
|
-
|
141
|
+
if (!this->is_special() && !d.is_special())
|
142
|
+
{
|
143
|
+
// The duration underlying type may be wider than the date underlying type.
|
144
|
+
// Thus we calculate the difference in terms of two durations from some common fixed base date.
|
145
|
+
typedef typename duration_type::duration_rep_type duration_rep_type;
|
146
|
+
return duration_type(static_cast< duration_rep_type >(days_) - static_cast< duration_rep_type >(d.days_));
|
147
|
+
}
|
148
|
+
else
|
149
|
+
{
|
150
|
+
// In this case the difference will be a special value, too
|
151
|
+
date_rep_type val = date_rep_type(days_) - date_rep_type(d.days_);
|
152
|
+
return duration_type(val.as_special());
|
153
|
+
}
|
143
154
|
}
|
144
|
-
|
155
|
+
|
145
156
|
date_type operator-(const duration_type& dd) const
|
146
157
|
{
|
147
158
|
if(dd.is_special())
|
@@ -155,10 +166,10 @@ namespace date_time {
|
|
155
166
|
*this = *this - dd;
|
156
167
|
return date_type(days_);
|
157
168
|
}
|
158
|
-
date_rep_type day_count() const
|
169
|
+
date_rep_type day_count() const
|
159
170
|
{
|
160
171
|
return days_;
|
161
|
-
}
|
172
|
+
}
|
162
173
|
//allow internal access from operators
|
163
174
|
date_type operator+(const duration_type& dd) const
|
164
175
|
{
|
@@ -170,25 +181,25 @@ namespace date_time {
|
|
170
181
|
}
|
171
182
|
date_type operator+=(const duration_type& dd)
|
172
183
|
{
|
173
|
-
*this = *this + dd;
|
184
|
+
*this = *this + dd;
|
174
185
|
return date_type(days_);
|
175
186
|
}
|
176
187
|
|
177
188
|
//see reference
|
178
189
|
protected:
|
179
|
-
/*! This is a private constructor which allows for the creation of new
|
180
|
-
dates. It is not exposed to users since that would require class
|
190
|
+
/*! This is a private constructor which allows for the creation of new
|
191
|
+
dates. It is not exposed to users since that would require class
|
181
192
|
users to understand the inner workings of the date class.
|
182
193
|
*/
|
183
194
|
explicit date(date_int_type days) : days_(days) {};
|
184
195
|
explicit date(date_rep_type days) : days_(days.as_number()) {};
|
185
196
|
date_int_type days_;
|
186
|
-
|
197
|
+
|
187
198
|
};
|
188
199
|
|
189
200
|
|
190
201
|
|
191
|
-
|
202
|
+
|
192
203
|
} } // namespace date_time
|
193
204
|
|
194
205
|
|
@@ -6,11 +6,12 @@
|
|
6
6
|
* Boost Software License, Version 1.0. (See accompanying
|
7
7
|
* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
8
8
|
* Author: Jeff Garland, Bart Garst
|
9
|
-
* $Date: 2008-
|
9
|
+
* $Date: 2008-11-12 14:37:53 -0500 (Wed, 12 Nov 2008) $
|
10
10
|
*/
|
11
11
|
|
12
12
|
|
13
13
|
#include <boost/operators.hpp>
|
14
|
+
#include <boost/date_time/special_defs.hpp>
|
14
15
|
|
15
16
|
namespace boost {
|
16
17
|
namespace date_time {
|
@@ -19,11 +20,12 @@ namespace date_time {
|
|
19
20
|
//! Duration type with date level resolution
|
20
21
|
template<class duration_rep_traits>
|
21
22
|
class date_duration : private
|
22
|
-
boost::
|
23
|
-
, boost::
|
24
|
-
, boost::
|
25
|
-
, boost::
|
26
|
-
|
23
|
+
boost::less_than_comparable1< date_duration< duration_rep_traits >
|
24
|
+
, boost::equality_comparable1< date_duration< duration_rep_traits >
|
25
|
+
, boost::addable1< date_duration< duration_rep_traits >
|
26
|
+
, boost::subtractable1< date_duration< duration_rep_traits >
|
27
|
+
, boost::dividable2< date_duration< duration_rep_traits >, int
|
28
|
+
> > > > >
|
27
29
|
{
|
28
30
|
public:
|
29
31
|
typedef typename duration_rep_traits::int_type duration_rep_type;
|
@@ -80,40 +82,37 @@ namespace date_time {
|
|
80
82
|
* so this will not compile */
|
81
83
|
|
82
84
|
//! Subtract another duration -- result is signed
|
83
|
-
date_duration operator-=(const date_duration& rhs)
|
85
|
+
date_duration& operator-=(const date_duration& rhs)
|
84
86
|
{
|
85
87
|
//days_ -= rhs.days_;
|
86
88
|
days_ = days_ - rhs.days_;
|
87
89
|
return *this;
|
88
90
|
}
|
89
91
|
//! Add a duration -- result is signed
|
90
|
-
date_duration operator+=(const date_duration& rhs)
|
92
|
+
date_duration& operator+=(const date_duration& rhs)
|
91
93
|
{
|
92
94
|
days_ = days_ + rhs.days_;
|
93
95
|
return *this;
|
94
96
|
}
|
95
97
|
|
96
98
|
//! unary- Allows for dd = -date_duration(2); -> dd == -2
|
97
|
-
date_duration operator-()const
|
99
|
+
date_duration operator-() const
|
98
100
|
{
|
99
101
|
return date_duration<duration_rep_traits>(get_rep() * (-1));
|
100
102
|
}
|
101
103
|
//! Division operations on a duration with an integer.
|
102
|
-
date_duration
|
104
|
+
date_duration& operator/=(int divisor)
|
103
105
|
{
|
104
106
|
days_ = days_ / divisor;
|
105
107
|
return *this;
|
106
108
|
}
|
107
|
-
date_duration<duration_rep_traits> operator/(int divisor)
|
108
|
-
{
|
109
|
-
return date_duration<duration_rep_traits>(days_ / divisor);
|
110
|
-
}
|
111
109
|
|
112
110
|
//! return sign information
|
113
111
|
bool is_negative() const
|
114
112
|
{
|
115
113
|
return days_ < 0;
|
116
114
|
}
|
115
|
+
|
117
116
|
private:
|
118
117
|
duration_rep days_;
|
119
118
|
};
|
@@ -2,28 +2,32 @@
|
|
2
2
|
#define _DATE_TIME_DATE_FACET__HPP___
|
3
3
|
|
4
4
|
/* Copyright (c) 2004-2005 CrystalClear Software, Inc.
|
5
|
-
* Use, modification and distribution is subject to the
|
5
|
+
* Use, modification and distribution is subject to the
|
6
6
|
* Boost Software License, Version 1.0. (See accompanying
|
7
7
|
* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
8
8
|
* Author: Martin Andrian, Jeff Garland, Bart Garst
|
9
|
-
* $Date:
|
9
|
+
* $Date: 2009-06-04 07:40:18 -0400 (Thu, 04 Jun 2009) $
|
10
10
|
*/
|
11
11
|
|
12
|
-
|
13
|
-
#include "boost/algorithm/string/replace.hpp"
|
14
|
-
#include "boost/date_time/period.hpp"
|
15
|
-
#include "boost/date_time/special_values_formatter.hpp"
|
16
|
-
#include "boost/date_time/period_formatter.hpp"
|
17
|
-
#include "boost/date_time/period_parser.hpp"
|
18
|
-
#include "boost/date_time/date_generator_formatter.hpp"
|
19
|
-
#include "boost/date_time/date_generator_parser.hpp"
|
20
|
-
#include "boost/date_time/format_date_parser.hpp"
|
12
|
+
#include <locale>
|
21
13
|
#include <string>
|
22
14
|
#include <vector>
|
15
|
+
#include <iterator> // ostreambuf_iterator
|
16
|
+
#include <boost/throw_exception.hpp>
|
17
|
+
#include <boost/algorithm/string/replace.hpp>
|
18
|
+
#include <boost/date_time/compiler_config.hpp>
|
19
|
+
#include <boost/date_time/period.hpp>
|
20
|
+
#include <boost/date_time/special_defs.hpp>
|
21
|
+
#include <boost/date_time/special_values_formatter.hpp>
|
22
|
+
#include <boost/date_time/period_formatter.hpp>
|
23
|
+
#include <boost/date_time/period_parser.hpp>
|
24
|
+
#include <boost/date_time/date_generator_formatter.hpp>
|
25
|
+
#include <boost/date_time/date_generator_parser.hpp>
|
26
|
+
#include <boost/date_time/format_date_parser.hpp>
|
23
27
|
|
24
28
|
namespace boost { namespace date_time {
|
25
29
|
|
26
|
-
|
30
|
+
|
27
31
|
/*! Class that provides format based I/O facet for date types.
|
28
32
|
*
|
29
33
|
* This class allows the formatting of dates by using format string.
|
@@ -40,7 +44,7 @@ namespace boost { namespace date_time {
|
|
40
44
|
* Default weekday format == %a
|
41
45
|
*/
|
42
46
|
template <class date_type,
|
43
|
-
class CharT,
|
47
|
+
class CharT,
|
44
48
|
class OutItrT = std::ostreambuf_iterator<CharT, std::char_traits<CharT> > >
|
45
49
|
class date_facet : public std::locale::facet {
|
46
50
|
public:
|
@@ -77,9 +81,9 @@ namespace boost { namespace date_time {
|
|
77
81
|
#if defined (__SUNPRO_CC) && defined (_RWSTD_VER)
|
78
82
|
std::locale::id& __get_id (void) const { return id; }
|
79
83
|
#endif
|
80
|
-
|
81
|
-
explicit date_facet(::size_t a_ref = 0)
|
82
|
-
: std::locale::facet(a_ref),
|
84
|
+
|
85
|
+
explicit date_facet(::size_t a_ref = 0)
|
86
|
+
: std::locale::facet(a_ref),
|
83
87
|
//m_format(standard_format_specifier)
|
84
88
|
m_format(default_date_format),
|
85
89
|
m_month_format(short_month_format),
|
@@ -88,22 +92,22 @@ namespace boost { namespace date_time {
|
|
88
92
|
|
89
93
|
explicit date_facet(const char_type* format_str,
|
90
94
|
const input_collection_type& short_names,
|
91
|
-
::size_t ref_count = 0)
|
92
|
-
: std::locale::facet(ref_count),
|
95
|
+
::size_t ref_count = 0)
|
96
|
+
: std::locale::facet(ref_count),
|
93
97
|
m_format(format_str),
|
94
98
|
m_month_format(short_month_format),
|
95
99
|
m_weekday_format(short_weekday_format),
|
96
|
-
m_month_short_names(short_names)
|
100
|
+
m_month_short_names(short_names)
|
97
101
|
{}
|
98
102
|
|
99
|
-
|
100
|
-
explicit date_facet(const char_type* format_str,
|
101
|
-
period_formatter_type per_formatter = period_formatter_type(),
|
103
|
+
|
104
|
+
explicit date_facet(const char_type* format_str,
|
105
|
+
period_formatter_type per_formatter = period_formatter_type(),
|
102
106
|
special_values_formatter_type sv_formatter = special_values_formatter_type(),
|
103
107
|
date_gen_formatter_type dg_formatter = date_gen_formatter_type(),
|
104
108
|
::size_t ref_count = 0)
|
105
|
-
: std::locale::facet(ref_count),
|
106
|
-
m_format(format_str),
|
109
|
+
: std::locale::facet(ref_count),
|
110
|
+
m_format(format_str),
|
107
111
|
m_month_format(short_month_format),
|
108
112
|
m_weekday_format(short_weekday_format),
|
109
113
|
m_period_formatter(per_formatter),
|
@@ -127,11 +131,11 @@ namespace boost { namespace date_time {
|
|
127
131
|
void weekday_format(const char_type* const format_str) {
|
128
132
|
m_weekday_format = format_str;
|
129
133
|
}
|
130
|
-
|
134
|
+
|
131
135
|
void period_formatter(period_formatter_type per_formatter) {
|
132
136
|
m_period_formatter= per_formatter;
|
133
137
|
}
|
134
|
-
void special_values_formatter(const special_values_formatter_type& svf)
|
138
|
+
void special_values_formatter(const special_values_formatter_type& svf)
|
135
139
|
{
|
136
140
|
m_special_values_formatter = svf;
|
137
141
|
}
|
@@ -160,24 +164,24 @@ namespace boost { namespace date_time {
|
|
160
164
|
m_date_gen_formatter.elements(new_strings, beg_pos);
|
161
165
|
}
|
162
166
|
|
163
|
-
OutItrT put(OutItrT next,
|
164
|
-
std::ios_base& a_ios,
|
165
|
-
char_type fill_char,
|
166
|
-
const date_type& d) const
|
167
|
+
OutItrT put(OutItrT next,
|
168
|
+
std::ios_base& a_ios,
|
169
|
+
char_type fill_char,
|
170
|
+
const date_type& d) const
|
167
171
|
{
|
168
|
-
if (d.is_special()) {
|
172
|
+
if (d.is_special()) {
|
169
173
|
return do_put_special(next, a_ios, fill_char, d.as_special());
|
170
174
|
}
|
171
175
|
//The following line of code required the date to support a to_tm function
|
172
176
|
return do_put_tm(next, a_ios, fill_char, to_tm(d), m_format);
|
173
177
|
}
|
174
178
|
|
175
|
-
OutItrT put(OutItrT next,
|
176
|
-
std::ios_base& a_ios,
|
177
|
-
char_type fill_char,
|
178
|
-
const duration_type& dd) const
|
179
|
+
OutItrT put(OutItrT next,
|
180
|
+
std::ios_base& a_ios,
|
181
|
+
char_type fill_char,
|
182
|
+
const duration_type& dd) const
|
179
183
|
{
|
180
|
-
if (dd.is_special()) {
|
184
|
+
if (dd.is_special()) {
|
181
185
|
return do_put_special(next, a_ios, fill_char, dd.get_rep().as_special());
|
182
186
|
}
|
183
187
|
|
@@ -195,164 +199,148 @@ namespace boost { namespace date_time {
|
|
195
199
|
}
|
196
200
|
|
197
201
|
|
198
|
-
OutItrT put(OutItrT next,
|
199
|
-
std::ios_base& a_ios,
|
200
|
-
char_type fill_char,
|
201
|
-
const month_type& m) const
|
202
|
+
OutItrT put(OutItrT next,
|
203
|
+
std::ios_base& a_ios,
|
204
|
+
char_type fill_char,
|
205
|
+
const month_type& m) const
|
202
206
|
{
|
203
|
-
//if (d.is_special()) {
|
207
|
+
//if (d.is_special()) {
|
204
208
|
// return do_put_special(next, a_ios, fill_char, d.as_special());
|
205
209
|
//}
|
206
210
|
//The following line of code required the date to support a to_tm function
|
207
|
-
tm dtm;
|
208
|
-
|
209
|
-
dtm.tm_mon = m -1;
|
211
|
+
std::tm dtm = {};
|
212
|
+
dtm.tm_mon = m - 1;
|
210
213
|
return do_put_tm(next, a_ios, fill_char, dtm, m_month_format);
|
211
214
|
}
|
212
215
|
|
213
216
|
//! puts the day of month
|
214
|
-
OutItrT put(OutItrT next,
|
215
|
-
std::ios_base& a_ios,
|
216
|
-
char_type fill_char,
|
217
|
-
const day_type& day) const
|
217
|
+
OutItrT put(OutItrT next,
|
218
|
+
std::ios_base& a_ios,
|
219
|
+
char_type fill_char,
|
220
|
+
const day_type& day) const
|
218
221
|
{
|
219
|
-
tm dtm;
|
220
|
-
init_tm(dtm);
|
222
|
+
std::tm dtm = {};
|
221
223
|
dtm.tm_mday = day.as_number();
|
222
224
|
char_type tmp[3] = {'%','d'};
|
223
225
|
string_type temp_format(tmp);
|
224
226
|
return do_put_tm(next, a_ios, fill_char, dtm, temp_format);
|
225
227
|
}
|
226
228
|
|
227
|
-
OutItrT put(OutItrT next,
|
228
|
-
std::ios_base& a_ios,
|
229
|
-
char_type fill_char,
|
230
|
-
const day_of_week_type& dow) const
|
229
|
+
OutItrT put(OutItrT next,
|
230
|
+
std::ios_base& a_ios,
|
231
|
+
char_type fill_char,
|
232
|
+
const day_of_week_type& dow) const
|
231
233
|
{
|
232
|
-
//if (d.is_special()) {
|
234
|
+
//if (d.is_special()) {
|
233
235
|
// return do_put_special(next, a_ios, fill_char, d.as_special());
|
234
236
|
//}
|
235
237
|
//The following line of code required the date to support a to_tm function
|
236
|
-
tm dtm;
|
237
|
-
init_tm(dtm);
|
238
|
+
std::tm dtm = {};
|
238
239
|
dtm.tm_wday = dow;
|
239
240
|
return do_put_tm(next, a_ios, fill_char, dtm, m_weekday_format);
|
240
241
|
}
|
241
242
|
|
242
243
|
|
243
|
-
OutItrT put(OutItrT next,
|
244
|
-
std::ios_base& a_ios,
|
245
|
-
char_type fill_char,
|
246
|
-
const period_type& p) const
|
244
|
+
OutItrT put(OutItrT next,
|
245
|
+
std::ios_base& a_ios,
|
246
|
+
char_type fill_char,
|
247
|
+
const period_type& p) const
|
247
248
|
{
|
248
249
|
return m_period_formatter.put_period(next, a_ios, fill_char, p, *this);
|
249
250
|
}
|
250
251
|
|
251
|
-
OutItrT put(OutItrT next,
|
252
|
-
std::ios_base& a_ios,
|
253
|
-
char_type fill_char,
|
254
|
-
const partial_date_type& pd) const
|
252
|
+
OutItrT put(OutItrT next,
|
253
|
+
std::ios_base& a_ios,
|
254
|
+
char_type fill_char,
|
255
|
+
const partial_date_type& pd) const
|
255
256
|
{
|
256
257
|
return m_date_gen_formatter.put_partial_date(next, a_ios, fill_char, pd, *this);
|
257
258
|
}
|
258
259
|
|
259
|
-
OutItrT put(OutItrT next,
|
260
|
-
std::ios_base& a_ios,
|
261
|
-
char_type fill_char,
|
262
|
-
const nth_kday_type& nkd) const
|
260
|
+
OutItrT put(OutItrT next,
|
261
|
+
std::ios_base& a_ios,
|
262
|
+
char_type fill_char,
|
263
|
+
const nth_kday_type& nkd) const
|
263
264
|
{
|
264
265
|
return m_date_gen_formatter.put_nth_kday(next, a_ios, fill_char, nkd, *this);
|
265
266
|
}
|
266
267
|
|
267
|
-
OutItrT put(OutItrT next,
|
268
|
-
std::ios_base& a_ios,
|
269
|
-
char_type fill_char,
|
270
|
-
const first_kday_type& fkd) const
|
268
|
+
OutItrT put(OutItrT next,
|
269
|
+
std::ios_base& a_ios,
|
270
|
+
char_type fill_char,
|
271
|
+
const first_kday_type& fkd) const
|
271
272
|
{
|
272
273
|
return m_date_gen_formatter.put_first_kday(next, a_ios, fill_char, fkd, *this);
|
273
274
|
}
|
274
275
|
|
275
|
-
OutItrT put(OutItrT next,
|
276
|
-
std::ios_base& a_ios,
|
277
|
-
char_type fill_char,
|
278
|
-
const last_kday_type& lkd) const
|
276
|
+
OutItrT put(OutItrT next,
|
277
|
+
std::ios_base& a_ios,
|
278
|
+
char_type fill_char,
|
279
|
+
const last_kday_type& lkd) const
|
279
280
|
{
|
280
281
|
return m_date_gen_formatter.put_last_kday(next, a_ios, fill_char, lkd, *this);
|
281
282
|
}
|
282
283
|
|
283
|
-
OutItrT put(OutItrT next,
|
284
|
-
std::ios_base& a_ios,
|
285
|
-
char_type fill_char,
|
286
|
-
const kday_before_type& fkb) const
|
284
|
+
OutItrT put(OutItrT next,
|
285
|
+
std::ios_base& a_ios,
|
286
|
+
char_type fill_char,
|
287
|
+
const kday_before_type& fkb) const
|
287
288
|
{
|
288
289
|
return m_date_gen_formatter.put_kday_before(next, a_ios, fill_char, fkb, *this);
|
289
290
|
}
|
290
291
|
|
291
|
-
OutItrT put(OutItrT next,
|
292
|
-
std::ios_base& a_ios,
|
293
|
-
char_type fill_char,
|
294
|
-
const kday_after_type& fka) const
|
292
|
+
OutItrT put(OutItrT next,
|
293
|
+
std::ios_base& a_ios,
|
294
|
+
char_type fill_char,
|
295
|
+
const kday_after_type& fka) const
|
295
296
|
{
|
296
297
|
return m_date_gen_formatter.put_kday_after(next, a_ios, fill_char, fka, *this);
|
297
298
|
}
|
298
|
-
|
299
|
+
|
299
300
|
protected:
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
tm_value.tm_min = 0; /* minutes */
|
305
|
-
tm_value.tm_hour = 0; /* hours */
|
306
|
-
tm_value.tm_mday = 0; /* day of the month */
|
307
|
-
tm_value.tm_mon = 0; /* month */
|
308
|
-
tm_value.tm_year = 0; /* year */
|
309
|
-
tm_value.tm_wday = 0; /* day of the week */
|
310
|
-
tm_value.tm_yday = 0; /* day in the year */
|
311
|
-
tm_value.tm_isdst = 0; /* daylight saving time */
|
312
|
-
return tm_value;
|
313
|
-
}
|
314
|
-
virtual OutItrT do_put_special(OutItrT next,
|
315
|
-
std::ios_base& /*a_ios*/,
|
316
|
-
char_type /*fill_char*/,
|
317
|
-
const boost::date_time::special_values sv) const
|
301
|
+
virtual OutItrT do_put_special(OutItrT next,
|
302
|
+
std::ios_base& /*a_ios*/,
|
303
|
+
char_type /*fill_char*/,
|
304
|
+
const boost::date_time::special_values sv) const
|
318
305
|
{
|
319
306
|
m_special_values_formatter.put_special(next, sv);
|
320
307
|
return next;
|
321
308
|
}
|
322
|
-
virtual OutItrT do_put_tm(OutItrT next,
|
323
|
-
std::ios_base& a_ios,
|
324
|
-
char_type fill_char,
|
309
|
+
virtual OutItrT do_put_tm(OutItrT next,
|
310
|
+
std::ios_base& a_ios,
|
311
|
+
char_type fill_char,
|
325
312
|
const tm& tm_value,
|
326
|
-
string_type a_format) const
|
313
|
+
string_type a_format) const
|
327
314
|
{
|
328
315
|
// update format string with custom names
|
329
316
|
if (m_weekday_long_names.size()) {
|
330
|
-
boost::algorithm::replace_all(a_format,
|
331
|
-
long_weekday_format,
|
317
|
+
boost::algorithm::replace_all(a_format,
|
318
|
+
long_weekday_format,
|
332
319
|
m_weekday_long_names[tm_value.tm_wday]);
|
333
320
|
}
|
334
321
|
if (m_weekday_short_names.size()) {
|
335
|
-
boost::algorithm::replace_all(a_format,
|
336
|
-
short_weekday_format,
|
322
|
+
boost::algorithm::replace_all(a_format,
|
323
|
+
short_weekday_format,
|
337
324
|
m_weekday_short_names[tm_value.tm_wday]);
|
338
325
|
|
339
326
|
}
|
340
327
|
if (m_month_long_names.size()) {
|
341
|
-
boost::algorithm::replace_all(a_format,
|
342
|
-
long_month_format,
|
328
|
+
boost::algorithm::replace_all(a_format,
|
329
|
+
long_month_format,
|
343
330
|
m_month_long_names[tm_value.tm_mon]);
|
344
331
|
}
|
345
332
|
if (m_month_short_names.size()) {
|
346
|
-
boost::algorithm::replace_all(a_format,
|
347
|
-
short_month_format,
|
333
|
+
boost::algorithm::replace_all(a_format,
|
334
|
+
short_month_format,
|
348
335
|
m_month_short_names[tm_value.tm_mon]);
|
349
336
|
}
|
350
337
|
// use time_put facet to create final string
|
351
|
-
|
352
|
-
|
338
|
+
const char_type* p_format = a_format.c_str();
|
339
|
+
return std::use_facet<std::time_put<CharT> >(a_ios.getloc()).put(next, a_ios,
|
340
|
+
fill_char,
|
353
341
|
&tm_value,
|
354
|
-
|
355
|
-
|
342
|
+
p_format,
|
343
|
+
p_format + a_format.size());
|
356
344
|
}
|
357
345
|
protected:
|
358
346
|
string_type m_format;
|
@@ -371,51 +359,51 @@ namespace boost { namespace date_time {
|
|
371
359
|
template <class date_type, class CharT, class OutItrT>
|
372
360
|
std::locale::id date_facet<date_type, CharT, OutItrT>::id;
|
373
361
|
|
374
|
-
template <class date_type, class CharT, class OutItrT>
|
375
|
-
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
362
|
+
template <class date_type, class CharT, class OutItrT>
|
363
|
+
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
376
364
|
date_facet<date_type, CharT, OutItrT>::long_weekday_format[3] = {'%','A'};
|
377
365
|
|
378
|
-
template <class date_type, class CharT, class OutItrT>
|
379
|
-
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
366
|
+
template <class date_type, class CharT, class OutItrT>
|
367
|
+
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
380
368
|
date_facet<date_type, CharT, OutItrT>::short_weekday_format[3] = {'%','a'};
|
381
369
|
|
382
|
-
template <class date_type, class CharT, class OutItrT>
|
383
|
-
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
370
|
+
template <class date_type, class CharT, class OutItrT>
|
371
|
+
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
384
372
|
date_facet<date_type, CharT, OutItrT>::long_month_format[3] = {'%','B'};
|
385
373
|
|
386
|
-
template <class date_type, class CharT, class OutItrT>
|
387
|
-
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
374
|
+
template <class date_type, class CharT, class OutItrT>
|
375
|
+
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
388
376
|
date_facet<date_type, CharT, OutItrT>::short_month_format[3] = {'%','b'};
|
389
377
|
|
390
|
-
template <class date_type, class CharT, class OutItrT>
|
391
|
-
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
378
|
+
template <class date_type, class CharT, class OutItrT>
|
379
|
+
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
392
380
|
date_facet<date_type, CharT, OutItrT>::default_period_separator[4] = { ' ', '/', ' '};
|
393
381
|
|
394
|
-
template <class date_type, class CharT, class OutItrT>
|
395
|
-
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
396
|
-
date_facet<date_type, CharT, OutItrT>::standard_format_specifier[3] =
|
382
|
+
template <class date_type, class CharT, class OutItrT>
|
383
|
+
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
384
|
+
date_facet<date_type, CharT, OutItrT>::standard_format_specifier[3] =
|
397
385
|
{'%', 'x' };
|
398
386
|
|
399
|
-
template <class date_type, class CharT, class OutItrT>
|
400
|
-
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
401
|
-
date_facet<date_type, CharT, OutItrT>::iso_format_specifier[7] =
|
387
|
+
template <class date_type, class CharT, class OutItrT>
|
388
|
+
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
389
|
+
date_facet<date_type, CharT, OutItrT>::iso_format_specifier[7] =
|
402
390
|
{'%', 'Y', '%', 'm', '%', 'd' };
|
403
391
|
|
404
|
-
template <class date_type, class CharT, class OutItrT>
|
405
|
-
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
406
|
-
date_facet<date_type, CharT, OutItrT>::iso_format_extended_specifier[9] =
|
392
|
+
template <class date_type, class CharT, class OutItrT>
|
393
|
+
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
394
|
+
date_facet<date_type, CharT, OutItrT>::iso_format_extended_specifier[9] =
|
407
395
|
{'%', 'Y', '-', '%', 'm', '-', '%', 'd' };
|
408
396
|
|
409
|
-
template <class date_type, class CharT, class OutItrT>
|
410
|
-
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
411
|
-
date_facet<date_type, CharT, OutItrT>::default_date_format[9] =
|
397
|
+
template <class date_type, class CharT, class OutItrT>
|
398
|
+
const typename date_facet<date_type, CharT, OutItrT>::char_type
|
399
|
+
date_facet<date_type, CharT, OutItrT>::default_date_format[9] =
|
412
400
|
{'%','Y','-','%','b','-','%','d'};
|
413
401
|
|
414
402
|
|
415
403
|
|
416
404
|
//! Input facet
|
417
405
|
template <class date_type,
|
418
|
-
class CharT,
|
406
|
+
class CharT,
|
419
407
|
class InItrT = std::istreambuf_iterator<CharT, std::char_traits<CharT> > >
|
420
408
|
class date_input_facet : public std::locale::facet {
|
421
409
|
public:
|
@@ -429,7 +417,7 @@ namespace boost { namespace date_time {
|
|
429
417
|
typedef std::basic_string<CharT> string_type;
|
430
418
|
typedef CharT char_type;
|
431
419
|
typedef boost::date_time::period_parser<date_type, CharT> period_parser_type;
|
432
|
-
typedef boost::date_time::special_values_parser<date_type,CharT> special_values_parser_type;
|
420
|
+
typedef boost::date_time::special_values_parser<date_type,CharT> special_values_parser_type;
|
433
421
|
typedef std::vector<std::basic_string<CharT> > input_collection_type;
|
434
422
|
typedef format_date_parser<date_type, CharT> format_date_parser_type;
|
435
423
|
// date_generators stuff goes here
|
@@ -453,9 +441,9 @@ namespace boost { namespace date_time {
|
|
453
441
|
static const char_type iso_format_extended_specifier[9];
|
454
442
|
static const char_type default_date_format[9]; // YYYY-Mon-DD
|
455
443
|
static std::locale::id id;
|
456
|
-
|
457
|
-
explicit date_input_facet(::size_t a_ref = 0)
|
458
|
-
: std::locale::facet(a_ref),
|
444
|
+
|
445
|
+
explicit date_input_facet(::size_t a_ref = 0)
|
446
|
+
: std::locale::facet(a_ref),
|
459
447
|
m_format(default_date_format),
|
460
448
|
m_month_format(short_month_format),
|
461
449
|
m_weekday_format(short_weekday_format),
|
@@ -465,8 +453,8 @@ namespace boost { namespace date_time {
|
|
465
453
|
{}
|
466
454
|
|
467
455
|
explicit date_input_facet(const string_type& format_str,
|
468
|
-
::size_t a_ref = 0)
|
469
|
-
: std::locale::facet(a_ref),
|
456
|
+
::size_t a_ref = 0)
|
457
|
+
: std::locale::facet(a_ref),
|
470
458
|
m_format(format_str),
|
471
459
|
m_month_format(short_month_format),
|
472
460
|
m_weekday_format(short_weekday_format),
|
@@ -513,7 +501,7 @@ namespace boost { namespace date_time {
|
|
513
501
|
void year_format(const char_type* const format_str) {
|
514
502
|
m_year_format = format_str;
|
515
503
|
}
|
516
|
-
|
504
|
+
|
517
505
|
void period_parser(period_parser_type per_parser) {
|
518
506
|
m_period_parser = per_parser;
|
519
507
|
}
|
@@ -549,7 +537,7 @@ namespace boost { namespace date_time {
|
|
549
537
|
const string_type& before,
|
550
538
|
const string_type& after,
|
551
539
|
const string_type& of)
|
552
|
-
|
540
|
+
|
553
541
|
{
|
554
542
|
m_date_gen_parser.element_strings(first,second,third,fourth,fifth,last,before,after,of);
|
555
543
|
}
|
@@ -559,68 +547,68 @@ namespace boost { namespace date_time {
|
|
559
547
|
m_sv_parser = sv_parser;
|
560
548
|
}
|
561
549
|
|
562
|
-
InItrT get(InItrT& from,
|
563
|
-
InItrT& to,
|
564
|
-
std::ios_base& /*a_ios*/,
|
550
|
+
InItrT get(InItrT& from,
|
551
|
+
InItrT& to,
|
552
|
+
std::ios_base& /*a_ios*/,
|
565
553
|
date_type& d) const
|
566
554
|
{
|
567
555
|
d = m_parser.parse_date(from, to, m_format, m_sv_parser);
|
568
556
|
return from;
|
569
557
|
}
|
570
|
-
InItrT get(InItrT& from,
|
571
|
-
InItrT& to,
|
572
|
-
std::ios_base& /*a_ios*/,
|
558
|
+
InItrT get(InItrT& from,
|
559
|
+
InItrT& to,
|
560
|
+
std::ios_base& /*a_ios*/,
|
573
561
|
month_type& m) const
|
574
562
|
{
|
575
563
|
m = m_parser.parse_month(from, to, m_month_format);
|
576
564
|
return from;
|
577
565
|
}
|
578
|
-
InItrT get(InItrT& from,
|
579
|
-
InItrT& to,
|
580
|
-
std::ios_base& /*a_ios*/,
|
566
|
+
InItrT get(InItrT& from,
|
567
|
+
InItrT& to,
|
568
|
+
std::ios_base& /*a_ios*/,
|
581
569
|
day_of_week_type& wd) const
|
582
570
|
{
|
583
571
|
wd = m_parser.parse_weekday(from, to, m_weekday_format);
|
584
572
|
return from;
|
585
573
|
}
|
586
574
|
//! Expects 1 or 2 digit day range: 1-31
|
587
|
-
InItrT get(InItrT& from,
|
588
|
-
InItrT& to,
|
589
|
-
std::ios_base& /*a_ios*/,
|
575
|
+
InItrT get(InItrT& from,
|
576
|
+
InItrT& to,
|
577
|
+
std::ios_base& /*a_ios*/,
|
590
578
|
day_type& d) const
|
591
579
|
{
|
592
580
|
d = m_parser.parse_var_day_of_month(from, to);
|
593
581
|
return from;
|
594
582
|
}
|
595
|
-
InItrT get(InItrT& from,
|
596
|
-
InItrT& to,
|
597
|
-
std::ios_base& /*a_ios*/,
|
583
|
+
InItrT get(InItrT& from,
|
584
|
+
InItrT& to,
|
585
|
+
std::ios_base& /*a_ios*/,
|
598
586
|
year_type& y) const
|
599
587
|
{
|
600
588
|
y = m_parser.parse_year(from, to, m_year_format);
|
601
589
|
return from;
|
602
590
|
}
|
603
|
-
InItrT get(InItrT& from,
|
604
|
-
InItrT& to,
|
605
|
-
std::ios_base& a_ios,
|
591
|
+
InItrT get(InItrT& from,
|
592
|
+
InItrT& to,
|
593
|
+
std::ios_base& a_ios,
|
606
594
|
duration_type& dd) const
|
607
595
|
{
|
608
596
|
// skip leading whitespace
|
609
|
-
while(std::isspace(*from) && from != to) { ++from; }
|
610
|
-
|
611
|
-
/* num_get.get() will always consume the first character if it
|
612
|
-
* is a sign indicator (+/-). Special value strings may begin
|
597
|
+
while(std::isspace(*from) && from != to) { ++from; }
|
598
|
+
|
599
|
+
/* num_get.get() will always consume the first character if it
|
600
|
+
* is a sign indicator (+/-). Special value strings may begin
|
613
601
|
* with one of these signs so we'll need a copy of it
|
614
602
|
* in case num_get.get() fails. */
|
615
|
-
char_type c = '\0';
|
603
|
+
char_type c = '\0';
|
616
604
|
// TODO Are these characters somewhere in the locale?
|
617
|
-
if(*from == '-' || *from == '+') {
|
605
|
+
if(*from == '-' || *from == '+') {
|
618
606
|
c = *from;
|
619
607
|
}
|
620
608
|
typedef std::num_get<CharT, InItrT> num_get;
|
621
609
|
typename duration_type::duration_rep_type val = 0;
|
622
610
|
std::ios_base::iostate err = std::ios_base::goodbit;
|
623
|
-
|
611
|
+
|
624
612
|
if (std::has_facet<num_get>(a_ios.getloc())) {
|
625
613
|
from = std::use_facet<num_get>(a_ios.getloc()).get(from, to, a_ios, err, val);
|
626
614
|
}
|
@@ -638,67 +626,68 @@ namespace boost { namespace date_time {
|
|
638
626
|
}
|
639
627
|
m_sv_parser.match(from, to, mr);
|
640
628
|
if(mr.current_match == match_results::PARSE_ERROR) {
|
641
|
-
|
629
|
+
boost::throw_exception(std::ios_base::failure("Parse failed. No match found for '" + mr.cache + "'"));
|
630
|
+
BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(return from); // should never reach
|
642
631
|
}
|
643
|
-
dd = duration_type(static_cast<special_values>(mr.current_match));
|
632
|
+
dd = duration_type(static_cast<special_values>(mr.current_match));
|
644
633
|
}
|
645
634
|
else {
|
646
635
|
dd = duration_type(val);
|
647
636
|
}
|
648
637
|
return from;
|
649
638
|
}
|
650
|
-
InItrT get(InItrT& from,
|
651
|
-
InItrT& to,
|
652
|
-
std::ios_base& a_ios,
|
639
|
+
InItrT get(InItrT& from,
|
640
|
+
InItrT& to,
|
641
|
+
std::ios_base& a_ios,
|
653
642
|
period_type& p) const
|
654
643
|
{
|
655
|
-
p = m_period_parser.get_period(from, to, a_ios, p, duration_type::unit(), *this);
|
644
|
+
p = m_period_parser.get_period(from, to, a_ios, p, duration_type::unit(), *this);
|
656
645
|
return from;
|
657
646
|
}
|
658
|
-
InItrT get(InItrT& from,
|
659
|
-
InItrT& to,
|
660
|
-
std::ios_base& a_ios,
|
647
|
+
InItrT get(InItrT& from,
|
648
|
+
InItrT& to,
|
649
|
+
std::ios_base& a_ios,
|
661
650
|
nth_kday_type& nkd) const
|
662
651
|
{
|
663
652
|
nkd = m_date_gen_parser.get_nth_kday_type(from, to, a_ios, *this);
|
664
653
|
return from;
|
665
654
|
}
|
666
|
-
InItrT get(InItrT& from,
|
667
|
-
InItrT& to,
|
668
|
-
std::ios_base& a_ios,
|
655
|
+
InItrT get(InItrT& from,
|
656
|
+
InItrT& to,
|
657
|
+
std::ios_base& a_ios,
|
669
658
|
partial_date_type& pd) const
|
670
659
|
{
|
671
660
|
|
672
661
|
pd = m_date_gen_parser.get_partial_date_type(from, to, a_ios, *this);
|
673
662
|
return from;
|
674
663
|
}
|
675
|
-
InItrT get(InItrT& from,
|
676
|
-
InItrT& to,
|
677
|
-
std::ios_base& a_ios,
|
664
|
+
InItrT get(InItrT& from,
|
665
|
+
InItrT& to,
|
666
|
+
std::ios_base& a_ios,
|
678
667
|
first_kday_type& fkd) const
|
679
668
|
{
|
680
669
|
fkd = m_date_gen_parser.get_first_kday_type(from, to, a_ios, *this);
|
681
670
|
return from;
|
682
671
|
}
|
683
|
-
InItrT get(InItrT& from,
|
684
|
-
InItrT& to,
|
685
|
-
std::ios_base& a_ios,
|
672
|
+
InItrT get(InItrT& from,
|
673
|
+
InItrT& to,
|
674
|
+
std::ios_base& a_ios,
|
686
675
|
last_kday_type& lkd) const
|
687
676
|
{
|
688
677
|
lkd = m_date_gen_parser.get_last_kday_type(from, to, a_ios, *this);
|
689
678
|
return from;
|
690
679
|
}
|
691
|
-
InItrT get(InItrT& from,
|
692
|
-
InItrT& to,
|
693
|
-
std::ios_base& a_ios,
|
680
|
+
InItrT get(InItrT& from,
|
681
|
+
InItrT& to,
|
682
|
+
std::ios_base& a_ios,
|
694
683
|
kday_before_type& fkb) const
|
695
684
|
{
|
696
685
|
fkb = m_date_gen_parser.get_kday_before_type(from, to, a_ios, *this);
|
697
686
|
return from;
|
698
687
|
}
|
699
|
-
InItrT get(InItrT& from,
|
700
|
-
InItrT& to,
|
701
|
-
std::ios_base& a_ios,
|
688
|
+
InItrT get(InItrT& from,
|
689
|
+
InItrT& to,
|
690
|
+
std::ios_base& a_ios,
|
702
691
|
kday_after_type& fka) const
|
703
692
|
{
|
704
693
|
fka = m_date_gen_parser.get_kday_after_type(from, to, a_ios, *this);
|
@@ -721,52 +710,52 @@ namespace boost { namespace date_time {
|
|
721
710
|
template <class date_type, class CharT, class OutItrT>
|
722
711
|
std::locale::id date_input_facet<date_type, CharT, OutItrT>::id;
|
723
712
|
|
724
|
-
template <class date_type, class CharT, class OutItrT>
|
725
|
-
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
713
|
+
template <class date_type, class CharT, class OutItrT>
|
714
|
+
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
726
715
|
date_input_facet<date_type, CharT, OutItrT>::long_weekday_format[3] = {'%','A'};
|
727
716
|
|
728
|
-
template <class date_type, class CharT, class OutItrT>
|
729
|
-
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
717
|
+
template <class date_type, class CharT, class OutItrT>
|
718
|
+
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
730
719
|
date_input_facet<date_type, CharT, OutItrT>::short_weekday_format[3] = {'%','a'};
|
731
720
|
|
732
|
-
template <class date_type, class CharT, class OutItrT>
|
733
|
-
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
721
|
+
template <class date_type, class CharT, class OutItrT>
|
722
|
+
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
734
723
|
date_input_facet<date_type, CharT, OutItrT>::long_month_format[3] = {'%','B'};
|
735
724
|
|
736
|
-
template <class date_type, class CharT, class OutItrT>
|
737
|
-
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
725
|
+
template <class date_type, class CharT, class OutItrT>
|
726
|
+
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
738
727
|
date_input_facet<date_type, CharT, OutItrT>::short_month_format[3] = {'%','b'};
|
739
728
|
|
740
|
-
template <class date_type, class CharT, class OutItrT>
|
741
|
-
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
729
|
+
template <class date_type, class CharT, class OutItrT>
|
730
|
+
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
742
731
|
date_input_facet<date_type, CharT, OutItrT>::four_digit_year_format[3] = {'%','Y'};
|
743
732
|
|
744
|
-
template <class date_type, class CharT, class OutItrT>
|
745
|
-
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
733
|
+
template <class date_type, class CharT, class OutItrT>
|
734
|
+
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
746
735
|
date_input_facet<date_type, CharT, OutItrT>::two_digit_year_format[3] = {'%','y'};
|
747
736
|
|
748
|
-
template <class date_type, class CharT, class OutItrT>
|
749
|
-
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
737
|
+
template <class date_type, class CharT, class OutItrT>
|
738
|
+
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
750
739
|
date_input_facet<date_type, CharT, OutItrT>::default_period_separator[4] = { ' ', '/', ' '};
|
751
740
|
|
752
|
-
template <class date_type, class CharT, class OutItrT>
|
753
|
-
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
754
|
-
date_input_facet<date_type, CharT, OutItrT>::standard_format_specifier[3] =
|
741
|
+
template <class date_type, class CharT, class OutItrT>
|
742
|
+
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
743
|
+
date_input_facet<date_type, CharT, OutItrT>::standard_format_specifier[3] =
|
755
744
|
{'%', 'x' };
|
756
745
|
|
757
|
-
template <class date_type, class CharT, class OutItrT>
|
758
|
-
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
759
|
-
date_input_facet<date_type, CharT, OutItrT>::iso_format_specifier[7] =
|
746
|
+
template <class date_type, class CharT, class OutItrT>
|
747
|
+
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
748
|
+
date_input_facet<date_type, CharT, OutItrT>::iso_format_specifier[7] =
|
760
749
|
{'%', 'Y', '%', 'm', '%', 'd' };
|
761
750
|
|
762
|
-
template <class date_type, class CharT, class OutItrT>
|
763
|
-
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
764
|
-
date_input_facet<date_type, CharT, OutItrT>::iso_format_extended_specifier[9] =
|
751
|
+
template <class date_type, class CharT, class OutItrT>
|
752
|
+
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
753
|
+
date_input_facet<date_type, CharT, OutItrT>::iso_format_extended_specifier[9] =
|
765
754
|
{'%', 'Y', '-', '%', 'm', '-', '%', 'd' };
|
766
755
|
|
767
|
-
template <class date_type, class CharT, class OutItrT>
|
768
|
-
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
769
|
-
date_input_facet<date_type, CharT, OutItrT>::default_date_format[9] =
|
756
|
+
template <class date_type, class CharT, class OutItrT>
|
757
|
+
const typename date_input_facet<date_type, CharT, OutItrT>::char_type
|
758
|
+
date_input_facet<date_type, CharT, OutItrT>::default_date_format[9] =
|
770
759
|
{'%','Y','-','%','b','-','%','d'};
|
771
760
|
|
772
761
|
} } // namespaces
|