passenger 2.2.9 → 2.2.10
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/NEWS +10 -0
- data/doc/Architectural overview.html +202 -65
- data/doc/Security of user switching support.html +200 -63
- data/doc/Users guide Apache.html +266 -129
- data/doc/Users guide Nginx.html +234 -97
- data/doc/cxxapi/AbstractSpawnManager_8h-source.html +138 -0
- data/doc/cxxapi/Account_8h-source.html +202 -0
- data/doc/cxxapi/AccountsDatabase_8h-source.html +158 -0
- data/doc/cxxapi/AgentsStarter_8h-source.html +79 -0
- data/doc/cxxapi/BCrypt_8h-source.html +101 -0
- data/doc/cxxapi/BacktracesServer_8h-source.html +87 -0
- data/doc/cxxapi/Base64_8h-source.html +85 -0
- data/doc/cxxapi/Blowfish_8h-source.html +131 -0
- data/doc/cxxapi/Bucket_8h-source.html +1 -1
- data/doc/cxxapi/CachedFileStat_8h-source.html +49 -157
- data/doc/cxxapi/Configuration_8h-source.html +1 -1
- data/doc/cxxapi/Constants_8h-source.html +71 -0
- data/doc/cxxapi/ContentHandler_8h-source.html +92 -0
- data/doc/cxxapi/DirectoryMapper_8h-source.html +1 -1
- data/doc/cxxapi/Exceptions_8h-source.html +332 -236
- data/doc/cxxapi/FileChangeChecker_8h-source.html +237 -0
- data/doc/cxxapi/FileDescriptor_8h-source.html +206 -0
- data/doc/cxxapi/Hooks_8h-source.html +1 -1
- data/doc/cxxapi/HttpStatusExtractor_8h-source.html +378 -0
- data/doc/cxxapi/LoggingServer_8h-source.html +165 -0
- data/doc/cxxapi/Logging_8h-source.html +580 -112
- data/doc/cxxapi/MessageChannel_8h-source.html +789 -599
- data/doc/cxxapi/MessageClient_8h-source.html +297 -0
- data/doc/cxxapi/MessageServer_8h-source.html +607 -0
- data/doc/cxxapi/PoolOptions_8h-source.html +471 -278
- data/doc/cxxapi/Process_8h-source.html +272 -0
- data/doc/cxxapi/RandomGenerator_8h-source.html +156 -0
- data/doc/cxxapi/ResourceLocator_8h-source.html +104 -0
- data/doc/cxxapi/ScgiRequestParser_8h-source.html +399 -0
- data/doc/cxxapi/ServerInstanceDir_8h-source.html +356 -0
- data/doc/cxxapi/Session_8h-source.html +483 -0
- data/doc/cxxapi/SpawnManager_8h-source.html +590 -546
- data/doc/cxxapi/StaticContentHandler_8h-source.html +65 -0
- data/doc/cxxapi/StaticString_8h-source.html +214 -0
- data/doc/cxxapi/StringListCreator_8h-source.html +111 -0
- data/doc/cxxapi/SystemTime_8h-source.html +191 -78
- data/doc/cxxapi/Timer_8h-source.html +157 -0
- data/doc/cxxapi/Utils_8h-source.html +621 -434
- data/doc/cxxapi/Version_8h-source.html +59 -0
- data/doc/cxxapi/annotated.html +1 -1
- data/doc/cxxapi/apache2_2Configuration_8h-source.html +79 -0
- data/doc/cxxapi/classAgentWatcher-members.html +50 -0
- data/doc/cxxapi/classAgentWatcher.html +445 -0
- data/doc/cxxapi/classClient-members.html +4 -3
- data/doc/cxxapi/classClient.html +50 -46
- data/doc/cxxapi/classHooks-members.html +1 -1
- data/doc/cxxapi/classHooks.html +1 -1
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager-members.html +37 -0
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager.html +191 -0
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.png +0 -0
- data/doc/cxxapi/{classPassenger_1_1DummySpawnManager-members.html → classPassenger_1_1ArgumentException-members.html} +3 -2
- data/doc/cxxapi/classPassenger_1_1ArgumentException.html +52 -0
- data/doc/cxxapi/classPassenger_1_1BacktracesServer-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1BacktracesServer.html +107 -0
- data/doc/cxxapi/classPassenger_1_1BacktracesServer__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1BacktracesServer__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1BacktracesServer__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1BufferedUpload-members.html +3 -3
- data/doc/cxxapi/classPassenger_1_1BufferedUpload.html +18 -34
- data/doc/cxxapi/classPassenger_1_1BusyException-members.html +2 -1
- data/doc/cxxapi/classPassenger_1_1BusyException.html +3 -2
- data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +2 -1
- data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +3 -2
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +1 -1
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +1 -1
- data/doc/cxxapi/{classPassenger_1_1FileChecker-members.html → classPassenger_1_1EOFException-members.html} +3 -4
- data/doc/cxxapi/classPassenger_1_1EOFException.html +57 -0
- data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1EventFd-members.html +33 -0
- data/doc/cxxapi/classPassenger_1_1EventFd.html +49 -0
- data/doc/cxxapi/classPassenger_1_1FileChangeChecker-members.html +37 -0
- data/doc/cxxapi/classPassenger_1_1FileChangeChecker.html +166 -0
- data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +37 -0
- data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +159 -0
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +2 -1
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +3 -2
- data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +2 -1
- data/doc/cxxapi/classPassenger_1_1FileSystemException.html +3 -2
- data/doc/cxxapi/{classPassenger_1_1ApplicationPoolServer-members.html → classPassenger_1_1HttpStatusExtractor-members.html} +6 -5
- data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor.html +128 -0
- data/doc/cxxapi/classPassenger_1_1IOException-members.html +2 -1
- data/doc/cxxapi/classPassenger_1_1IOException.html +4 -3
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +2 -1
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +1 -1
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MemZeroGuard-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1MemZeroGuard.html +147 -0
- data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +12 -5
- data/doc/cxxapi/classPassenger_1_1MessageChannel.html +267 -34
- data/doc/cxxapi/classPassenger_1_1MessageServer-members.html +46 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer.html +438 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext-members.html +33 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext.html +56 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext-members.html +38 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext.html +175 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler.html +176 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1Process-members.html +40 -0
- data/doc/cxxapi/classPassenger_1_1Process.html +266 -0
- data/doc/cxxapi/classPassenger_1_1RandomGenerator-members.html +33 -0
- data/doc/cxxapi/classPassenger_1_1RandomGenerator.html +51 -0
- data/doc/cxxapi/classPassenger_1_1RuntimeException-members.html +2 -1
- data/doc/cxxapi/classPassenger_1_1RuntimeException.html +3 -2
- data/doc/cxxapi/classPassenger_1_1ScgiRequestParser-members.html +47 -0
- data/doc/cxxapi/classPassenger_1_1ScgiRequestParser.html +302 -0
- data/doc/cxxapi/classPassenger_1_1SecurityException-members.html +33 -0
- data/doc/cxxapi/classPassenger_1_1SecurityException.html +52 -0
- data/doc/cxxapi/classPassenger_1_1Session-members.html +50 -0
- data/doc/cxxapi/classPassenger_1_1Session.html +577 -0
- data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +2 -1
- data/doc/cxxapi/classPassenger_1_1SpawnException.html +5 -4
- data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +8 -5
- data/doc/cxxapi/classPassenger_1_1SpawnManager.html +127 -45
- data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1StandardSession-members.html +51 -0
- data/doc/cxxapi/classPassenger_1_1StandardSession.html +415 -0
- data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1StaticString-members.html +33 -0
- data/doc/cxxapi/classPassenger_1_1StaticString.html +54 -0
- data/doc/cxxapi/classPassenger_1_1SystemException-members.html +2 -1
- data/doc/cxxapi/classPassenger_1_1SystemException.html +4 -3
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5 +1 -1
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1SystemTime-members.html +9 -1
- data/doc/cxxapi/classPassenger_1_1SystemTime.html +92 -8
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException-members.html +37 -0
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException.html +57 -0
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1TimeoutException-members.html +33 -0
- data/doc/cxxapi/classPassenger_1_1TimeoutException.html +50 -0
- data/doc/cxxapi/{classPassenger_1_1Application-members.html → classPassenger_1_1Timer-members.html} +8 -7
- data/doc/cxxapi/classPassenger_1_1Timer.html +163 -0
- data/doc/cxxapi/classServer-members.html +33 -0
- data/doc/cxxapi/classServer.html +46 -0
- data/doc/cxxapi/classServerInstanceDirToucher-members.html +33 -0
- data/doc/cxxapi/classServerInstanceDirToucher.html +43 -0
- data/doc/cxxapi/classes.html +1 -1
- data/doc/cxxapi/definitions_8h-source.html +1 -1
- data/doc/cxxapi/files.html +1 -1
- data/doc/cxxapi/functions.html +1 -1
- data/doc/cxxapi/{functions_type.html → functions_enum.html} +7 -5
- data/doc/cxxapi/functions_eval.html +55 -0
- data/doc/cxxapi/functions_func.html +1 -1
- data/doc/cxxapi/functions_vars.html +106 -9
- data/doc/cxxapi/graph_legend.html +1 -1
- data/doc/cxxapi/group__Configuration.html +1 -1
- data/doc/cxxapi/group__Core.html +1 -1
- data/doc/cxxapi/group__Exceptions.html +17 -1
- data/doc/cxxapi/group__Hooks.html +1 -1
- data/doc/cxxapi/group__Support.html +1 -1
- data/doc/cxxapi/hierarchy.html +34 -12
- data/doc/cxxapi/inherit__graph__0.map +1 -1
- data/doc/cxxapi/inherit__graph__0.md5 +1 -1
- data/doc/cxxapi/inherit__graph__0.png +0 -0
- data/doc/cxxapi/inherit__graph__1.map +1 -1
- data/doc/cxxapi/inherit__graph__1.md5 +1 -1
- data/doc/cxxapi/inherit__graph__1.png +0 -0
- data/doc/cxxapi/inherit__graph__10.map +1 -1
- data/doc/cxxapi/inherit__graph__10.md5 +1 -1
- data/doc/cxxapi/inherit__graph__10.png +0 -0
- data/doc/cxxapi/inherit__graph__11.map +1 -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 +1 -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 +1 -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 -2
- data/doc/cxxapi/inherit__graph__14.md5 +1 -1
- data/doc/cxxapi/inherit__graph__14.png +0 -0
- data/doc/cxxapi/inherit__graph__15.map +1 -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 +1 -1
- data/doc/cxxapi/inherit__graph__16.md5 +1 -1
- data/doc/cxxapi/inherit__graph__16.png +0 -0
- data/doc/cxxapi/inherit__graph__17.map +1 -1
- data/doc/cxxapi/inherit__graph__17.md5 +1 -1
- data/doc/cxxapi/inherit__graph__17.png +0 -0
- data/doc/cxxapi/inherit__graph__18.map +2 -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 +1 -1
- data/doc/cxxapi/inherit__graph__19.md5 +1 -1
- data/doc/cxxapi/inherit__graph__19.png +0 -0
- data/doc/cxxapi/inherit__graph__2.map +1 -1
- data/doc/cxxapi/inherit__graph__2.md5 +1 -1
- data/doc/cxxapi/inherit__graph__2.png +0 -0
- data/doc/cxxapi/inherit__graph__20.map +1 -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 +1 -1
- data/doc/cxxapi/inherit__graph__21.md5 +1 -1
- data/doc/cxxapi/inherit__graph__21.png +0 -0
- data/doc/cxxapi/inherit__graph__22.map +1 -0
- data/doc/cxxapi/inherit__graph__22.md5 +1 -0
- data/doc/cxxapi/inherit__graph__22.png +0 -0
- data/doc/cxxapi/inherit__graph__23.map +1 -0
- data/doc/cxxapi/inherit__graph__23.md5 +1 -0
- data/doc/cxxapi/inherit__graph__23.png +0 -0
- data/doc/cxxapi/inherit__graph__24.map +1 -0
- data/doc/cxxapi/inherit__graph__24.md5 +1 -0
- data/doc/cxxapi/inherit__graph__24.png +0 -0
- data/doc/cxxapi/inherit__graph__25.map +1 -0
- data/doc/cxxapi/inherit__graph__25.md5 +1 -0
- data/doc/cxxapi/inherit__graph__25.png +0 -0
- data/doc/cxxapi/inherit__graph__26.map +1 -0
- data/doc/cxxapi/inherit__graph__26.md5 +1 -0
- data/doc/cxxapi/inherit__graph__26.png +0 -0
- data/doc/cxxapi/inherit__graph__27.map +2 -0
- data/doc/cxxapi/inherit__graph__27.md5 +1 -0
- data/doc/cxxapi/inherit__graph__27.png +0 -0
- data/doc/cxxapi/inherit__graph__28.map +1 -0
- data/doc/cxxapi/inherit__graph__28.md5 +1 -0
- data/doc/cxxapi/inherit__graph__28.png +0 -0
- data/doc/cxxapi/inherit__graph__29.map +1 -0
- data/doc/cxxapi/inherit__graph__29.md5 +1 -0
- data/doc/cxxapi/inherit__graph__29.png +0 -0
- data/doc/cxxapi/inherit__graph__3.map +2 -1
- data/doc/cxxapi/inherit__graph__3.md5 +1 -1
- data/doc/cxxapi/inherit__graph__3.png +0 -0
- data/doc/cxxapi/inherit__graph__30.map +1 -0
- data/doc/cxxapi/inherit__graph__30.md5 +1 -0
- data/doc/cxxapi/inherit__graph__30.png +0 -0
- data/doc/cxxapi/inherit__graph__31.map +3 -0
- data/doc/cxxapi/inherit__graph__31.md5 +1 -0
- data/doc/cxxapi/inherit__graph__31.png +0 -0
- data/doc/cxxapi/inherit__graph__32.map +1 -0
- data/doc/cxxapi/inherit__graph__32.md5 +1 -0
- data/doc/cxxapi/inherit__graph__32.png +0 -0
- data/doc/cxxapi/inherit__graph__33.map +1 -0
- data/doc/cxxapi/inherit__graph__33.md5 +1 -0
- data/doc/cxxapi/inherit__graph__33.png +0 -0
- data/doc/cxxapi/inherit__graph__34.map +1 -0
- data/doc/cxxapi/inherit__graph__34.md5 +1 -0
- data/doc/cxxapi/inherit__graph__34.png +0 -0
- data/doc/cxxapi/inherit__graph__35.map +1 -0
- data/doc/cxxapi/inherit__graph__35.md5 +1 -0
- data/doc/cxxapi/inherit__graph__35.png +0 -0
- data/doc/cxxapi/inherit__graph__36.map +1 -0
- data/doc/cxxapi/inherit__graph__36.md5 +1 -0
- data/doc/cxxapi/inherit__graph__36.png +0 -0
- data/doc/cxxapi/inherit__graph__4.map +1 -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 +1 -1
- data/doc/cxxapi/inherit__graph__5.md5 +1 -1
- data/doc/cxxapi/inherit__graph__5.png +0 -0
- data/doc/cxxapi/inherit__graph__6.map +1 -2
- data/doc/cxxapi/inherit__graph__6.md5 +1 -1
- data/doc/cxxapi/inherit__graph__6.png +0 -0
- data/doc/cxxapi/inherit__graph__7.map +1 -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 +1 -1
- data/doc/cxxapi/inherit__graph__8.md5 +1 -1
- data/doc/cxxapi/inherit__graph__8.png +0 -0
- data/doc/cxxapi/inherit__graph__9.map +1 -1
- data/doc/cxxapi/inherit__graph__9.md5 +1 -1
- data/doc/cxxapi/inherit__graph__9.png +0 -0
- data/doc/cxxapi/inherits.html +81 -41
- data/doc/cxxapi/main.html +1 -1
- data/doc/cxxapi/md5_8h-source.html +121 -0
- data/doc/cxxapi/modules.html +1 -1
- data/doc/cxxapi/namespacePassenger.html +651 -0
- data/doc/cxxapi/namespacemembers.html +155 -0
- data/doc/cxxapi/namespacemembers_enum.html +46 -0
- data/doc/cxxapi/namespacemembers_eval.html +52 -0
- data/doc/cxxapi/namespacemembers_func.html +139 -0
- data/doc/cxxapi/namespacemembers_type.html +50 -0
- data/doc/cxxapi/namespaces.html +34 -0
- data/doc/cxxapi/nginx_2Configuration_8h-source.html +114 -0
- data/doc/cxxapi/ngx__http__passenger__module_8h-source.html +91 -0
- data/doc/cxxapi/structPassenger_1_1AnythingToString-members.html +2 -1
- data/doc/cxxapi/structPassenger_1_1AnythingToString.html +3 -2
- data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4-members.html +2 -1
- data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html +3 -2
- data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard-members.html +33 -0
- data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html +49 -0
- data/doc/cxxapi/structPassenger_1_1PoolOptions-members.html +19 -7
- data/doc/cxxapi/structPassenger_1_1PoolOptions.html +323 -53
- data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash-members.html +33 -0
- data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash.html +49 -0
- data/ext/common/MessageChannel.h +48 -4
- data/ext/common/Version.h +1 -1
- data/ext/nginx/HttpStatusExtractor.h +1 -0
- data/ext/nginx/ScgiRequestParser.h +1 -0
- data/ext/phusion_passenger/native_support.c +5 -1
- data/lib/phusion_passenger/constants.rb +1 -1
- data/lib/phusion_passenger/message_channel.rb +45 -3
- data/lib/phusion_passenger/rack/application_spawner.rb +4 -0
- data/lib/phusion_passenger/railz/application_spawner.rb +19 -1
- data/lib/phusion_passenger/utils.rb +3 -3
- data/lib/phusion_passenger/utils/rewindable_input.rb +5 -0
- data/test/MessageChannelTest.cpp +9 -1
- data/test/stub/message_channel.rb +1 -1
- data/test/stub/message_channel_2.rb +1 -1
- data/test/stub/message_channel_3.rb +2 -2
- metadata +173 -113
- data/doc/cxxapi/ApplicationPoolServer_8h-source.html +0 -833
- data/doc/cxxapi/ApplicationPool_8h-source.html +0 -226
- data/doc/cxxapi/Application_8h-source.html +0 -553
- data/doc/cxxapi/DummySpawnManager_8h-source.html +0 -130
- data/doc/cxxapi/FileChecker_8h-source.html +0 -134
- data/doc/cxxapi/StandardApplicationPool_8h-source.html +0 -842
- data/doc/cxxapi/classPassenger_1_1Application.html +0 -231
- data/doc/cxxapi/classPassenger_1_1ApplicationPool-members.html +0 -41
- data/doc/cxxapi/classPassenger_1_1ApplicationPool.html +0 -323
- data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer.html +0 -227
- data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.map +0 -1
- data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1Application_1_1Session-members.html +0 -44
- data/doc/cxxapi/classPassenger_1_1Application_1_1Session.html +0 -403
- data/doc/cxxapi/classPassenger_1_1DummySpawnManager.html +0 -53
- data/doc/cxxapi/classPassenger_1_1FileChecker.html +0 -124
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool-members.html +0 -44
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool.html +0 -342
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.map +0 -1
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.png +0 -0
- data/doc/rdoc/classes/ConditionVariable.html +0 -194
- data/doc/rdoc/classes/Exception.html +0 -120
- data/doc/rdoc/classes/GC.html +0 -113
- data/doc/rdoc/classes/IO.html +0 -169
- data/doc/rdoc/classes/PhusionPassenger.html +0 -239
- data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +0 -153
- data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +0 -517
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +0 -719
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +0 -97
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +0 -96
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +0 -97
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +0 -96
- data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +0 -598
- data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +0 -140
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess.html +0 -317
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess/Instance.html +0 -138
- data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +0 -154
- data/doc/rdoc/classes/PhusionPassenger/Application.html +0 -283
- data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +0 -172
- data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +0 -145
- data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +0 -175
- data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +0 -141
- data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +0 -489
- data/doc/rdoc/classes/PhusionPassenger/NativeSupport.html +0 -350
- data/doc/rdoc/classes/PhusionPassenger/Rack.html +0 -91
- data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +0 -188
- data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +0 -199
- data/doc/rdoc/classes/PhusionPassenger/Railz.html +0 -95
- data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner.html +0 -438
- data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner/Error.html +0 -98
- data/doc/rdoc/classes/PhusionPassenger/Railz/CGIFixed.html +0 -200
- data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner.html +0 -436
- data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner/Error.html +0 -98
- data/doc/rdoc/classes/PhusionPassenger/Railz/RequestHandler.html +0 -155
- data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +0 -402
- data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +0 -125
- data/doc/rdoc/classes/PhusionPassenger/Utils.html +0 -805
- data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +0 -169
- data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput.html +0 -247
- data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput/Tempfile.html +0 -120
- data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +0 -140
- data/doc/rdoc/classes/PhusionPassenger/WSGI.html +0 -89
- data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +0 -188
- data/doc/rdoc/classes/PlatformInfo.html +0 -866
- data/doc/rdoc/classes/RakeExtensions.html +0 -197
- data/doc/rdoc/classes/Signal.html +0 -139
- data/doc/rdoc/created.rid +0 -1
- data/doc/rdoc/files/DEVELOPERS_TXT.html +0 -255
- data/doc/rdoc/files/README.html +0 -157
- data/doc/rdoc/files/ext/phusion_passenger/native_support_c.html +0 -92
- data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +0 -129
- data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +0 -129
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +0 -128
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools/control_process_rb.html +0 -130
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/application_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +0 -134
- data/doc/rdoc/files/lib/phusion_passenger/events_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +0 -120
- data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +0 -133
- data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +0 -125
- data/doc/rdoc/files/lib/phusion_passenger/railz/application_spawner_rb.html +0 -140
- data/doc/rdoc/files/lib/phusion_passenger/railz/cgi_fixed_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/railz/framework_spawner_rb.html +0 -145
- data/doc/rdoc/files/lib/phusion_passenger/railz/request_handler_rb.html +0 -125
- data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +0 -159
- data/doc/rdoc/files/lib/phusion_passenger/utils/rewindable_input_rb.html +0 -100
- data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +0 -174
- data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +0 -129
- data/doc/rdoc/files/misc/rake/extensions_rb.html +0 -130
- data/doc/rdoc/fr_class_index.html +0 -93
- data/doc/rdoc/fr_file_index.html +0 -77
- data/doc/rdoc/fr_method_index.html +0 -212
- data/doc/rdoc/index.html +0 -26
- data/doc/rdoc/rdoc-style.css +0 -187
data/doc/cxxapi/modules.html
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
<li><a class="el" href="group__Support.html">Apache-independent support classes and function</a>
|
26
26
|
</ul>
|
27
27
|
</div>
|
28
|
-
<hr size="1"><address style="text-align: right;"><small>Generated on
|
28
|
+
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 22 13:50:37 2010 for Passenger by
|
29
29
|
<a href="http://www.doxygen.org/index.html">
|
30
30
|
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
|
31
31
|
</body>
|
@@ -0,0 +1,651 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2
|
+
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
3
|
+
<title>Passenger: Passenger Namespace Reference</title>
|
4
|
+
<link href="tabs.css" rel="stylesheet" type="text/css">
|
5
|
+
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
6
|
+
</head><body>
|
7
|
+
<!-- Generated by Doxygen 1.5.8 -->
|
8
|
+
<div class="navigation" id="top">
|
9
|
+
<div class="tabs">
|
10
|
+
<ul>
|
11
|
+
<li><a href="main.html"><span>Main Page</span></a></li>
|
12
|
+
<li><a href="modules.html"><span>Modules</span></a></li>
|
13
|
+
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
|
14
|
+
<li><a href="annotated.html"><span>Classes</span></a></li>
|
15
|
+
<li><a href="files.html"><span>Files</span></a></li>
|
16
|
+
</ul>
|
17
|
+
</div>
|
18
|
+
<div class="tabs">
|
19
|
+
<ul>
|
20
|
+
<li><a href="namespaces.html"><span>Namespace List</span></a></li>
|
21
|
+
<li><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
22
|
+
</ul>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
<div class="contents">
|
26
|
+
<h1>Passenger Namespace Reference</h1>A random.
|
27
|
+
<a href="#_details">More...</a>
|
28
|
+
<p>
|
29
|
+
<table border="0" cellpadding="0" cellspacing="0">
|
30
|
+
<tr><td></td></tr>
|
31
|
+
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
|
32
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1DirectoryMapper.html">DirectoryMapper</a></td></tr>
|
33
|
+
|
34
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Utility class for determining URI-to-application directory mappings. <a href="classPassenger_1_1DirectoryMapper.html#_details">More...</a><br></td></tr>
|
35
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1AbstractSpawnManager.html">AbstractSpawnManager</a></td></tr>
|
36
|
+
|
37
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Spawning of application processes. <a href="classPassenger_1_1AbstractSpawnManager.html#_details">More...</a><br></td></tr>
|
38
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SystemException.html">SystemException</a></td></tr>
|
39
|
+
|
40
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Represents an error returned by a system call or a standard library call. <a href="classPassenger_1_1SystemException.html#_details">More...</a><br></td></tr>
|
41
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1FileSystemException.html">FileSystemException</a></td></tr>
|
42
|
+
|
43
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">A filesystem error, as returned by the operating system. <a href="classPassenger_1_1FileSystemException.html#_details">More...</a><br></td></tr>
|
44
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1TimeRetrievalException.html">TimeRetrievalException</a></td></tr>
|
45
|
+
|
46
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Unable to retrieve the system time using <code>time()</code>. <a href="classPassenger_1_1TimeRetrievalException.html#_details">More...</a><br></td></tr>
|
47
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1IOException.html">IOException</a></td></tr>
|
48
|
+
|
49
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Represents an error that occured during an I/O operation. <a href="classPassenger_1_1IOException.html#_details">More...</a><br></td></tr>
|
50
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1FileNotFoundException.html">FileNotFoundException</a></td></tr>
|
51
|
+
|
52
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Thrown when a certain file cannot be found. <a href="classPassenger_1_1FileNotFoundException.html#_details">More...</a><br></td></tr>
|
53
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1EOFException.html">EOFException</a></td></tr>
|
54
|
+
|
55
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">An unexpected end-of-file I/O error. <a href="classPassenger_1_1EOFException.html#_details">More...</a><br></td></tr>
|
56
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ConfigurationException.html">ConfigurationException</a></td></tr>
|
57
|
+
|
58
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Thrown when an invalid configuration is given. <a href="classPassenger_1_1ConfigurationException.html#_details">More...</a><br></td></tr>
|
59
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SpawnException.html">SpawnException</a></td></tr>
|
60
|
+
|
61
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Thrown when <a class="el" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation.">SpawnManager</a> or ApplicationPool fails to spawn an application instance. <a href="classPassenger_1_1SpawnException.html#_details">More...</a><br></td></tr>
|
62
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ArgumentException.html">ArgumentException</a></td></tr>
|
63
|
+
|
64
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Indicates that a specified argument is incorrect or violates a requirement. <a href="classPassenger_1_1ArgumentException.html#_details">More...</a><br></td></tr>
|
65
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1RuntimeException.html">RuntimeException</a></td></tr>
|
66
|
+
|
67
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">A generic runtime exception. <a href="classPassenger_1_1RuntimeException.html#_details">More...</a><br></td></tr>
|
68
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1TimeoutException.html">TimeoutException</a></td></tr>
|
69
|
+
|
70
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">An exception indicating that some timeout expired. <a href="classPassenger_1_1TimeoutException.html#_details">More...</a><br></td></tr>
|
71
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SecurityException.html">SecurityException</a></td></tr>
|
72
|
+
|
73
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Represents some kind of security error. <a href="classPassenger_1_1SecurityException.html#_details">More...</a><br></td></tr>
|
74
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1BusyException.html">BusyException</a></td></tr>
|
75
|
+
|
76
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">The application pool is too busy and cannot fulfill a get() request. <a href="classPassenger_1_1BusyException.html#_details">More...</a><br></td></tr>
|
77
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1FileDescriptor.html">FileDescriptor</a></td></tr>
|
78
|
+
|
79
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Wrapper class around a file descriptor integer, for RAII behavior. <a href="classPassenger_1_1FileDescriptor.html#_details">More...</a><br></td></tr>
|
80
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1EventFd.html">EventFd</a></td></tr>
|
81
|
+
|
82
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">A synchronization mechanism that's implemented with file descriptors, and as such can be used in combination with select() and friends. <a href="classPassenger_1_1EventFd.html#_details">More...</a><br></td></tr>
|
83
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1MessageChannel.html">MessageChannel</a></td></tr>
|
84
|
+
|
85
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience class for I/O operations on file descriptors. <a href="classPassenger_1_1MessageChannel.html#_details">More...</a><br></td></tr>
|
86
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1MessageServer.html">MessageServer</a></td></tr>
|
87
|
+
|
88
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Simple pluggable request/response messaging server framework. <a href="classPassenger_1_1MessageServer.html#_details">More...</a><br></td></tr>
|
89
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1PoolOptions.html">PoolOptions</a></td></tr>
|
90
|
+
|
91
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">This struct encapsulates information for ApplicationPool::get() and for <a class="el" href="classPassenger_1_1SpawnManager.html#88a94ba4d41dab492cb1dc8a0f998973" title="Spawn a new application process.">SpawnManager::spawn()</a>, such as which application is to be spawned. <a href="structPassenger_1_1PoolOptions.html#_details">More...</a><br></td></tr>
|
92
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1Process.html">Process</a></td></tr>
|
93
|
+
|
94
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Represents a single application process, as spawned by <a class="el" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation.">SpawnManager</a> or by ApplicationPool::Interface::get(). <a href="classPassenger_1_1Process.html#_details">More...</a><br></td></tr>
|
95
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1RandomGenerator.html">RandomGenerator</a></td></tr>
|
96
|
+
|
97
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">A random data generator. <a href="classPassenger_1_1RandomGenerator.html#_details">More...</a><br></td></tr>
|
98
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1Session.html">Session</a></td></tr>
|
99
|
+
|
100
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Represents a single request/response pair of an application process. <a href="classPassenger_1_1Session.html#_details">More...</a><br></td></tr>
|
101
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StandardSession.html">StandardSession</a></td></tr>
|
102
|
+
|
103
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">A "standard" implementation of <a class="el" href="classPassenger_1_1Session.html" title="Represents a single request/response pair of an application process.">Session</a>. <a href="classPassenger_1_1StandardSession.html#_details">More...</a><br></td></tr>
|
104
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1SpawnManager.html">SpawnManager</a></td></tr>
|
105
|
+
|
106
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">An <a class="el" href="classPassenger_1_1AbstractSpawnManager.html" title="Spawning of application processes.">AbstractSpawnManager</a> implementation. <a href="classPassenger_1_1SpawnManager.html#_details">More...</a><br></td></tr>
|
107
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1StaticString.html">StaticString</a></td></tr>
|
108
|
+
|
109
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">An immutable, static byte buffer. <a href="classPassenger_1_1StaticString.html#_details">More...</a><br></td></tr>
|
110
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1AnythingToString.html">AnythingToString</a></td></tr>
|
111
|
+
|
112
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Used internally by <a class="el" href="group__Support.html#gf6fab368d70c18fdf16bf5a24f630407" title="Convert anything to a string.">toString()</a>. <a href="structPassenger_1_1AnythingToString.html#_details">More...</a><br></td></tr>
|
113
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html">AnythingToString< vector< string > ></a></td></tr>
|
114
|
+
|
115
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Used internally by <a class="el" href="group__Support.html#gf6fab368d70c18fdf16bf5a24f630407" title="Convert anything to a string.">toString()</a>. <a href="structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html#_details">More...</a><br></td></tr>
|
116
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1BufferedUpload.html">BufferedUpload</a></td></tr>
|
117
|
+
|
118
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Represents a buffered upload file. <a href="classPassenger_1_1BufferedUpload.html#_details">More...</a><br></td></tr>
|
119
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1MemZeroGuard.html">MemZeroGuard</a></td></tr>
|
120
|
+
|
121
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Fills the given memory space or string with zeroes when a MemoryZeroGuard object is destroyed. <a href="classPassenger_1_1MemZeroGuard.html#_details">More...</a><br></td></tr>
|
122
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1HttpStatusExtractor.html">HttpStatusExtractor</a></td></tr>
|
123
|
+
|
124
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Utility class for extracting the HTTP status value from an HTTP response. <a href="classPassenger_1_1HttpStatusExtractor.html#_details">More...</a><br></td></tr>
|
125
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPassenger_1_1ScgiRequestParser.html">ScgiRequestParser</a></td></tr>
|
126
|
+
|
127
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">A parser for SCGI requests. <a href="classPassenger_1_1ScgiRequestParser.html#_details">More...</a><br></td></tr>
|
128
|
+
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
|
129
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef shared_ptr<br class="typebreak">
|
130
|
+
< <a class="el" href="classPassenger_1_1AbstractSpawnManager.html">AbstractSpawnManager</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#fd60d942a89fbb7f306e330d75704570">AbstractSpawnManagerPtr</a></td></tr>
|
131
|
+
|
132
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenient alias for <a class="el" href="classPassenger_1_1AbstractSpawnManager.html" title="Spawning of application processes.">AbstractSpawnManager</a> smart pointer. <a href="#fd60d942a89fbb7f306e330d75704570"></a><br></td></tr>
|
133
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef shared_ptr< <a class="el" href="classPassenger_1_1Process.html">Process</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#ced1f248465136b313c6dec5fe6ca492">ProcessPtr</a></td></tr>
|
134
|
+
|
135
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenient alias for <a class="el" href="classPassenger_1_1Process.html" title="Represents a single application process, as spawned by SpawnManager or by ApplicationPool::Interface...">Process</a> smart pointer. <a href="#ced1f248465136b313c6dec5fe6ca492"></a><br></td></tr>
|
136
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef shared_ptr< <a class="el" href="classPassenger_1_1SpawnManager.html">SpawnManager</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#6ab2d566ff87a2676c23d8aa40204587">SpawnManagerPtr</a></td></tr>
|
137
|
+
|
138
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenient alias for <a class="el" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation.">SpawnManager</a> smart pointer. <a href="#6ab2d566ff87a2676c23d8aa40204587"></a><br></td></tr>
|
139
|
+
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
|
140
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#14174b712df6046cb823cde43d7ef07d">FileType</a> { <a class="el" href="namespacePassenger.html#14174b712df6046cb823cde43d7ef07d9fc66834fe96c52799397496b8df8486">FT_NONEXISTANT</a>,
|
141
|
+
<a class="el" href="namespacePassenger.html#14174b712df6046cb823cde43d7ef07d1538596a928321d1a282c6bb06e80563">FT_REGULAR</a>,
|
142
|
+
<a class="el" href="namespacePassenger.html#14174b712df6046cb823cde43d7ef07dbb09dbba1071b4770913363db2462eee">FT_DIRECTORY</a>,
|
143
|
+
<a class="el" href="namespacePassenger.html#14174b712df6046cb823cde43d7ef07d3e89b9a7be074975e007d9f7cd77f4ff">FT_OTHER</a>
|
144
|
+
}</td></tr>
|
145
|
+
|
146
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Enumeration which indicates what kind of file a file is. <a href="namespacePassenger.html#14174b712df6046cb823cde43d7ef07d">More...</a><br></td></tr>
|
147
|
+
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
148
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">apr_bucket * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#35b11c8ce90e90d01380f182d82f8cac">passenger_bucket_create</a> (SessionPtr session, PassengerBucketStatePtr state, apr_bucket_alloc_t *list)</td></tr>
|
149
|
+
|
150
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">We used to use an apr_bucket_pipe for forwarding the backend process's response to the HTTP client. <a href="#35b11c8ce90e90d01380f182d82f8cac"></a><br></td></tr>
|
151
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g73b17b509ee44938a56bf16cbf82fb48"></a><!-- doxytag: member="Passenger::atoi" ref="g73b17b509ee44938a56bf16cbf82fb48" args="(const string &s)" -->
|
152
|
+
int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g73b17b509ee44938a56bf16cbf82fb48">atoi</a> (const string &s)</td></tr>
|
153
|
+
|
154
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Converts the given string to an integer. <br></td></tr>
|
155
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7b50461f1bc2b370c956967870da2762"></a><!-- doxytag: member="Passenger::atol" ref="g7b50461f1bc2b370c956967870da2762" args="(const string &s)" -->
|
156
|
+
long </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g7b50461f1bc2b370c956967870da2762">atol</a> (const string &s)</td></tr>
|
157
|
+
|
158
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Converts the given string to a long integer. <br></td></tr>
|
159
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g4b8320aedc6a164a535c920234e3d8bf">split</a> (const string &str, char sep, vector< string > &output)</td></tr>
|
160
|
+
|
161
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Split the given string using the given separator. <a href="group__Support.html#g4b8320aedc6a164a535c920234e3d8bf"></a><br></td></tr>
|
162
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g2a62e38a72c6c65992e3361f6d80c7ef">fileExists</a> (const <a class="el" href="classPassenger_1_1StaticString.html">StaticString</a> &filename, CachedFileStat *cstat=0, unsigned int throttleRate=0)</td></tr>
|
163
|
+
|
164
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Check whether the specified file exists. <a href="group__Support.html#g2a62e38a72c6c65992e3361f6d80c7ef"></a><br></td></tr>
|
165
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacePassenger.html#14174b712df6046cb823cde43d7ef07d">FileType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g15298b031377d3ecb80295bd5b1a8180">getFileType</a> (const <a class="el" href="classPassenger_1_1StaticString.html">StaticString</a> &filename, CachedFileStat *cstat=0, unsigned int throttleRate=0)</td></tr>
|
166
|
+
|
167
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Check whether 'filename' exists and what kind of file it is. <a href="group__Support.html#g15298b031377d3ecb80295bd5b1a8180"></a><br></td></tr>
|
168
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g6f414070373465da2e12947463f69953">createFile</a> (const string &filename, const <a class="el" href="classPassenger_1_1StaticString.html">StaticString</a> &contents, mode_t permissions=S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH, uid_t owner=USER_NOT_GIVEN, gid_t group=GROUP_NOT_GIVEN, bool overwrite=true)</td></tr>
|
169
|
+
|
170
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Create the given file with the given contents, permissions and ownership. <a href="group__Support.html#g6f414070373465da2e12947463f69953"></a><br></td></tr>
|
171
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#gf3b0a483f0a252ae08d9de9f8b267d36">canonicalizePath</a> (const string &path)</td></tr>
|
172
|
+
|
173
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a canonical version of the specified path. <a href="group__Support.html#gf3b0a483f0a252ae08d9de9f8b267d36"></a><br></td></tr>
|
174
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#gc3d2b3d608188527d888e63d22c5163c">resolveSymlink</a> (const string &path)</td></tr>
|
175
|
+
|
176
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">If <em>path</em> refers to a symlink, then this function resolves the symlink for 1 level. <a href="group__Support.html#gc3d2b3d608188527d888e63d22c5163c"></a><br></td></tr>
|
177
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge651ece5281f22dc5fc974079f7c9187"></a><!-- doxytag: member="Passenger::extractDirName" ref="ge651ece5281f22dc5fc974079f7c9187" args="(const StaticString &path)" -->
|
178
|
+
string </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#ge651ece5281f22dc5fc974079f7c9187">extractDirName</a> (const <a class="el" href="classPassenger_1_1StaticString.html">StaticString</a> &path)</td></tr>
|
179
|
+
|
180
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Given a path, extracts its directory name. <br></td></tr>
|
181
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="geb750234207485fa57609174ca8d4359"></a><!-- doxytag: member="Passenger::extractBaseName" ref="geb750234207485fa57609174ca8d4359" args="(const StaticString &path)" -->
|
182
|
+
string </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#geb750234207485fa57609174ca8d4359">extractBaseName</a> (const <a class="el" href="classPassenger_1_1StaticString.html">StaticString</a> &path)</td></tr>
|
183
|
+
|
184
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Given a path, extracts its base name. <br></td></tr>
|
185
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#ge74addedf73782a1eb1f6dd48d6fce06">escapeForXml</a> (const string &input)</td></tr>
|
186
|
+
|
187
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Escape the given raw string into an XML value. <a href="group__Support.html#ge74addedf73782a1eb1f6dd48d6fce06"></a><br></td></tr>
|
188
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#de80218e8b836b796f8b960b6225b439">getProcessUsername</a> ()</td></tr>
|
189
|
+
|
190
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the username of the user that the current process is running as. <a href="#de80218e8b836b796f8b960b6225b439"></a><br></td></tr>
|
191
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">mode_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#da53f5a9bdcf3d22d4a710e7ea3678e9">parseModeString</a> (const <a class="el" href="classPassenger_1_1StaticString.html">StaticString</a> &mode)</td></tr>
|
192
|
+
|
193
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Converts a mode string into a mode_t value. <a href="#da53f5a9bdcf3d22d4a710e7ea3678e9"></a><br></td></tr>
|
194
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g68f4105c5a8e510520b5ea3eecb66213">getSystemTempDir</a> ()</td></tr>
|
195
|
+
|
196
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the path name for the directory in which the system stores general temporary files. <a href="group__Support.html#g68f4105c5a8e510520b5ea3eecb66213"></a><br></td></tr>
|
197
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#448f25263af0b37b91caee3d294ec4aa">makeDirTree</a> (const string &path, const <a class="el" href="classPassenger_1_1StaticString.html">StaticString</a> &mode="u=rwx,g=,o=", uid_t owner=USER_NOT_GIVEN, gid_t group=GROUP_NOT_GIVEN)</td></tr>
|
198
|
+
|
199
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Create the directory at the given path, creating intermediate directories if necessary. <a href="#448f25263af0b37b91caee3d294ec4aa"></a><br></td></tr>
|
200
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#8422d210cbd2f62d21254415b5a7f747">removeDirTree</a> (const string &path)</td></tr>
|
201
|
+
|
202
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Remove an entire directory tree recursively. <a href="#8422d210cbd2f62d21254415b5a7f747"></a><br></td></tr>
|
203
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g5e6bc7ff22b7c61238d7913521936f71">verifyRailsDir</a> (const string &dir, CachedFileStat *cstat=0, unsigned int throttleRate=0)</td></tr>
|
204
|
+
|
205
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Check whether the specified directory is a valid Ruby on Rails application root directory. <a href="group__Support.html#g5e6bc7ff22b7c61238d7913521936f71"></a><br></td></tr>
|
206
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g53969f8e3ee68d1d99ffe75af8db9be8">verifyRackDir</a> (const string &dir, CachedFileStat *cstat=0, unsigned int throttleRate=0)</td></tr>
|
207
|
+
|
208
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Check whether the specified directory is a valid Rack application root directory. <a href="group__Support.html#g53969f8e3ee68d1d99ffe75af8db9be8"></a><br></td></tr>
|
209
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#gaec51d2912999d611994c49341f36247">verifyWSGIDir</a> (const string &dir, CachedFileStat *cstat=0, unsigned int throttleRate=0)</td></tr>
|
210
|
+
|
211
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Check whether the specified directory is a valid WSGI application root directory. <a href="group__Support.html#gaec51d2912999d611994c49341f36247"></a><br></td></tr>
|
212
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#geb1ed5adc17a8f98fbc9a4e96bb3ae95">generateSecureToken</a> (void *buf, unsigned int size)</td></tr>
|
213
|
+
|
214
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Generate a secure, random token of the <code>size</code> bytes and put the result into <code>buf</code>. <a href="group__Support.html#geb1ed5adc17a8f98fbc9a4e96bb3ae95"></a><br></td></tr>
|
215
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#d88884ee6e2184ef8656fc20f0549b0b">fillInMiddle</a> (unsigned int max, const string &prefix, const string &middle, const string &postfix="")</td></tr>
|
216
|
+
|
217
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Given a prefix string, a middle string and a postfix string, try to build a string that looks like <code>prefix + middle + postfix</code>, with as many characters from <code>midle</code> preserved as possible. <a href="#d88884ee6e2184ef8656fc20f0549b0b"></a><br></td></tr>
|
218
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1d4b16a419fe7231bc8b7036266f8131"></a><!-- doxytag: member="Passenger::toHex" ref="1d4b16a419fe7231bc8b7036266f8131" args="(const StaticString &data)" -->
|
219
|
+
string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#1d4b16a419fe7231bc8b7036266f8131">toHex</a> (const <a class="el" href="classPassenger_1_1StaticString.html">StaticString</a> &data)</td></tr>
|
220
|
+
|
221
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert the given binary data to hexadecimal. <br></td></tr>
|
222
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#8b73dbe534ee6daf755909cf6c321166">toHex</a> (const <a class="el" href="classPassenger_1_1StaticString.html">StaticString</a> &data, char *output)</td></tr>
|
223
|
+
|
224
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert the given binary data to hexadecimal. <a href="#8b73dbe534ee6daf755909cf6c321166"></a><br></td></tr>
|
225
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="979cb43cef743bf261c329b13e712366"></a><!-- doxytag: member="Passenger::getSignalName" ref="979cb43cef743bf261c329b13e712366" args="(int sig)" -->
|
226
|
+
string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#979cb43cef743bf261c329b13e712366">getSignalName</a> (int sig)</td></tr>
|
227
|
+
|
228
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert a signal number to its associated name. <br></td></tr>
|
229
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#g5d3b342a34d81e7506744e90ee2f9b8b">createUnixServer</a> (const char *filename, unsigned int backlogSize=0, bool autoDelete=true)</td></tr>
|
230
|
+
|
231
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new Unix server socket which is bounded to <code>filename</code>. <a href="group__Support.html#g5d3b342a34d81e7506744e90ee2f9b8b"></a><br></td></tr>
|
232
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#gae3993db9dfa0b05c97b67ccefd2b619">connectToUnixServer</a> (const char *filename)</td></tr>
|
233
|
+
|
234
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Connect to a Unix server socket at <code>filename</code>. <a href="group__Support.html#gae3993db9dfa0b05c97b67ccefd2b619"></a><br></td></tr>
|
235
|
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Support.html#gaf4965fbefc2dfe26c1380c621962e68">connectToTcpServer</a> (const char *hostname, unsigned int port)</td></tr>
|
236
|
+
|
237
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Connect to a TCP server socket at the given host name and port. <a href="group__Support.html#gaf4965fbefc2dfe26c1380c621962e68"></a><br></td></tr>
|
238
|
+
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T > </td></tr>
|
239
|
+
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">shared_ptr< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__Support.html#g41b6c4a82fed72531a147de0505a8396">ptr</a> (T *pointer)</td></tr>
|
240
|
+
|
241
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience shortcut for creating a <code>shared_ptr</code>. <a href="group__Support.html#g41b6c4a82fed72531a147de0505a8396"></a><br></td></tr>
|
242
|
+
<tr><td class="memTemplParams" nowrap colspan="2">template<typename T > </td></tr>
|
243
|
+
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">string </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__Support.html#gf6fab368d70c18fdf16bf5a24f630407">toString</a> (T something)</td></tr>
|
244
|
+
|
245
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert anything to a string. <a href="group__Support.html#gf6fab368d70c18fdf16bf5a24f630407"></a><br></td></tr>
|
246
|
+
<tr><td class="memTemplParams" nowrap colspan="2">template<typename IntType > </td></tr>
|
247
|
+
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">IntType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacePassenger.html#6b2bc9d6fa3848e01fd8c164d30737cc">roundUp</a> (IntType number, IntType multiple)</td></tr>
|
248
|
+
|
249
|
+
<tr><td class="mdescLeft"> </td><td class="mdescRight">Round <em>number</em> up to the nearest multiple of <em>multiple</em>. <a href="#6b2bc9d6fa3848e01fd8c164d30737cc"></a><br></td></tr>
|
250
|
+
</table>
|
251
|
+
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
252
|
+
A random.
|
253
|
+
<p>
|
254
|
+
<hr><h2>Typedef Documentation</h2>
|
255
|
+
<a class="anchor" name="fd60d942a89fbb7f306e330d75704570"></a><!-- doxytag: member="Passenger::AbstractSpawnManagerPtr" ref="fd60d942a89fbb7f306e330d75704570" args="" -->
|
256
|
+
<div class="memitem">
|
257
|
+
<div class="memproto">
|
258
|
+
<table class="memname">
|
259
|
+
<tr>
|
260
|
+
<td class="memname">typedef shared_ptr<<a class="el" href="classPassenger_1_1AbstractSpawnManager.html">AbstractSpawnManager</a>> <a class="el" href="namespacePassenger.html#fd60d942a89fbb7f306e330d75704570">Passenger::AbstractSpawnManagerPtr</a> </td>
|
261
|
+
</tr>
|
262
|
+
</table>
|
263
|
+
</div>
|
264
|
+
<div class="memdoc">
|
265
|
+
|
266
|
+
<p>
|
267
|
+
Convenient alias for <a class="el" href="classPassenger_1_1AbstractSpawnManager.html" title="Spawning of application processes.">AbstractSpawnManager</a> smart pointer.
|
268
|
+
<p>
|
269
|
+
|
270
|
+
</div>
|
271
|
+
</div><p>
|
272
|
+
<a class="anchor" name="ced1f248465136b313c6dec5fe6ca492"></a><!-- doxytag: member="Passenger::ProcessPtr" ref="ced1f248465136b313c6dec5fe6ca492" args="" -->
|
273
|
+
<div class="memitem">
|
274
|
+
<div class="memproto">
|
275
|
+
<table class="memname">
|
276
|
+
<tr>
|
277
|
+
<td class="memname">typedef shared_ptr<<a class="el" href="classPassenger_1_1Process.html">Process</a>> <a class="el" href="namespacePassenger.html#ced1f248465136b313c6dec5fe6ca492">Passenger::ProcessPtr</a> </td>
|
278
|
+
</tr>
|
279
|
+
</table>
|
280
|
+
</div>
|
281
|
+
<div class="memdoc">
|
282
|
+
|
283
|
+
<p>
|
284
|
+
Convenient alias for <a class="el" href="classPassenger_1_1Process.html" title="Represents a single application process, as spawned by SpawnManager or by ApplicationPool::Interface...">Process</a> smart pointer.
|
285
|
+
<p>
|
286
|
+
|
287
|
+
</div>
|
288
|
+
</div><p>
|
289
|
+
<a class="anchor" name="6ab2d566ff87a2676c23d8aa40204587"></a><!-- doxytag: member="Passenger::SpawnManagerPtr" ref="6ab2d566ff87a2676c23d8aa40204587" args="" -->
|
290
|
+
<div class="memitem">
|
291
|
+
<div class="memproto">
|
292
|
+
<table class="memname">
|
293
|
+
<tr>
|
294
|
+
<td class="memname">typedef shared_ptr<<a class="el" href="classPassenger_1_1SpawnManager.html">SpawnManager</a>> <a class="el" href="namespacePassenger.html#6ab2d566ff87a2676c23d8aa40204587">Passenger::SpawnManagerPtr</a> </td>
|
295
|
+
</tr>
|
296
|
+
</table>
|
297
|
+
</div>
|
298
|
+
<div class="memdoc">
|
299
|
+
|
300
|
+
<p>
|
301
|
+
Convenient alias for <a class="el" href="classPassenger_1_1SpawnManager.html" title="An AbstractSpawnManager implementation.">SpawnManager</a> smart pointer.
|
302
|
+
<p>
|
303
|
+
|
304
|
+
</div>
|
305
|
+
</div><p>
|
306
|
+
<hr><h2>Enumeration Type Documentation</h2>
|
307
|
+
<a class="anchor" name="14174b712df6046cb823cde43d7ef07d"></a><!-- doxytag: member="Passenger::FileType" ref="14174b712df6046cb823cde43d7ef07d" args="" -->
|
308
|
+
<div class="memitem">
|
309
|
+
<div class="memproto">
|
310
|
+
<table class="memname">
|
311
|
+
<tr>
|
312
|
+
<td class="memname">enum <a class="el" href="namespacePassenger.html#14174b712df6046cb823cde43d7ef07d">Passenger::FileType</a> </td>
|
313
|
+
</tr>
|
314
|
+
</table>
|
315
|
+
</div>
|
316
|
+
<div class="memdoc">
|
317
|
+
|
318
|
+
<p>
|
319
|
+
Enumeration which indicates what kind of file a file is.
|
320
|
+
<p>
|
321
|
+
<dl compact><dt><b>Enumerator: </b></dt><dd>
|
322
|
+
<table border="0" cellspacing="2" cellpadding="0">
|
323
|
+
<tr><td valign="top"><em><a class="anchor" name="14174b712df6046cb823cde43d7ef07d9fc66834fe96c52799397496b8df8486"></a><!-- doxytag: member="FT_NONEXISTANT" ref="14174b712df6046cb823cde43d7ef07d9fc66834fe96c52799397496b8df8486" args="" -->FT_NONEXISTANT</em> </td><td>
|
324
|
+
The file doesn't exist.
|
325
|
+
<p>
|
326
|
+
</td></tr>
|
327
|
+
<tr><td valign="top"><em><a class="anchor" name="14174b712df6046cb823cde43d7ef07d1538596a928321d1a282c6bb06e80563"></a><!-- doxytag: member="FT_REGULAR" ref="14174b712df6046cb823cde43d7ef07d1538596a928321d1a282c6bb06e80563" args="" -->FT_REGULAR</em> </td><td>
|
328
|
+
A regular file or a symlink to a regular file.
|
329
|
+
<p>
|
330
|
+
</td></tr>
|
331
|
+
<tr><td valign="top"><em><a class="anchor" name="14174b712df6046cb823cde43d7ef07dbb09dbba1071b4770913363db2462eee"></a><!-- doxytag: member="FT_DIRECTORY" ref="14174b712df6046cb823cde43d7ef07dbb09dbba1071b4770913363db2462eee" args="" -->FT_DIRECTORY</em> </td><td>
|
332
|
+
A directory.
|
333
|
+
<p>
|
334
|
+
</td></tr>
|
335
|
+
<tr><td valign="top"><em><a class="anchor" name="14174b712df6046cb823cde43d7ef07d3e89b9a7be074975e007d9f7cd77f4ff"></a><!-- doxytag: member="FT_OTHER" ref="14174b712df6046cb823cde43d7ef07d3e89b9a7be074975e007d9f7cd77f4ff" args="" -->FT_OTHER</em> </td><td>
|
336
|
+
Something else, e.g.
|
337
|
+
<p>
|
338
|
+
a pipe or a socket. </td></tr>
|
339
|
+
</table>
|
340
|
+
</dl>
|
341
|
+
|
342
|
+
</div>
|
343
|
+
</div><p>
|
344
|
+
<hr><h2>Function Documentation</h2>
|
345
|
+
<a class="anchor" name="d88884ee6e2184ef8656fc20f0549b0b"></a><!-- doxytag: member="Passenger::fillInMiddle" ref="d88884ee6e2184ef8656fc20f0549b0b" args="(unsigned int max, const string &prefix, const string &middle, const string &postfix="")" -->
|
346
|
+
<div class="memitem">
|
347
|
+
<div class="memproto">
|
348
|
+
<table class="memname">
|
349
|
+
<tr>
|
350
|
+
<td class="memname">string Passenger::fillInMiddle </td>
|
351
|
+
<td>(</td>
|
352
|
+
<td class="paramtype">unsigned int </td>
|
353
|
+
<td class="paramname"> <em>max</em>, </td>
|
354
|
+
</tr>
|
355
|
+
<tr>
|
356
|
+
<td class="paramkey"></td>
|
357
|
+
<td></td>
|
358
|
+
<td class="paramtype">const string & </td>
|
359
|
+
<td class="paramname"> <em>prefix</em>, </td>
|
360
|
+
</tr>
|
361
|
+
<tr>
|
362
|
+
<td class="paramkey"></td>
|
363
|
+
<td></td>
|
364
|
+
<td class="paramtype">const string & </td>
|
365
|
+
<td class="paramname"> <em>middle</em>, </td>
|
366
|
+
</tr>
|
367
|
+
<tr>
|
368
|
+
<td class="paramkey"></td>
|
369
|
+
<td></td>
|
370
|
+
<td class="paramtype">const string & </td>
|
371
|
+
<td class="paramname"> <em>postfix</em> = <code>""</code></td><td> </td>
|
372
|
+
</tr>
|
373
|
+
<tr>
|
374
|
+
<td></td>
|
375
|
+
<td>)</td>
|
376
|
+
<td></td><td></td><td></td>
|
377
|
+
</tr>
|
378
|
+
</table>
|
379
|
+
</div>
|
380
|
+
<div class="memdoc">
|
381
|
+
|
382
|
+
<p>
|
383
|
+
Given a prefix string, a middle string and a postfix string, try to build a string that looks like <code>prefix + middle + postfix</code>, with as many characters from <code>midle</code> preserved as possible.
|
384
|
+
<p>
|
385
|
+
If <code>prefix + middle + postfix</code> does not fit in <code>max</code> characters, then <code>middle</code> will be truncated so that it fits. If <code>max</code> is too small to contain even 1 character from <code>middle</code>, then an <a class="el" href="classPassenger_1_1ArgumentException.html" title="Indicates that a specified argument is incorrect or violates a requirement.">ArgumentException</a> will be thrown.<p>
|
386
|
+
<div class="fragment"><pre class="fragment"> <a class="code" href="namespacePassenger.html#d88884ee6e2184ef8656fc20f0549b0b" title="Given a prefix string, a middle string and a postfix string, try to build a string...">fillInMiddle</a>(18, <span class="stringliteral">"server."</span>, <span class="stringliteral">"1234"</span>, <span class="stringliteral">".socket"</span>); <span class="comment">// "server.1234.socket"</span>
|
387
|
+
<a class="code" href="namespacePassenger.html#d88884ee6e2184ef8656fc20f0549b0b" title="Given a prefix string, a middle string and a postfix string, try to build a string...">fillInMiddle</a>(16, <span class="stringliteral">"server."</span>, <span class="stringliteral">"1234"</span>, <span class="stringliteral">".socket"</span>); <span class="comment">// "server.12.socket"</span>
|
388
|
+
<a class="code" href="namespacePassenger.html#d88884ee6e2184ef8656fc20f0549b0b" title="Given a prefix string, a middle string and a postfix string, try to build a string...">fillInMiddle</a>(14, <span class="stringliteral">"server."</span>, <span class="stringliteral">"1234"</span>, <span class="stringliteral">".socket"</span>); <span class="comment">// ArgumentException</span>
|
389
|
+
</pre></div><p>
|
390
|
+
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The resulting string, with <code>middle</code> possibly truncated. </dd></dl>
|
391
|
+
<dl compact><dt><b>Exceptions:</b></dt><dd>
|
392
|
+
<table border="0" cellspacing="2" cellpadding="0">
|
393
|
+
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1ArgumentException.html" title="Indicates that a specified argument is incorrect or violates a requirement.">ArgumentException</a></em> </td><td><code>max</code> is too small to contain even 1 character from <code>middle</code>. </td></tr>
|
394
|
+
</table>
|
395
|
+
</dl>
|
396
|
+
<dl class="post" compact><dt><b>Postcondition:</b></dt><dd>result.size() <= max </dd></dl>
|
397
|
+
|
398
|
+
</div>
|
399
|
+
</div><p>
|
400
|
+
<a class="anchor" name="de80218e8b836b796f8b960b6225b439"></a><!-- doxytag: member="Passenger::getProcessUsername" ref="de80218e8b836b796f8b960b6225b439" args="()" -->
|
401
|
+
<div class="memitem">
|
402
|
+
<div class="memproto">
|
403
|
+
<table class="memname">
|
404
|
+
<tr>
|
405
|
+
<td class="memname">string Passenger::getProcessUsername </td>
|
406
|
+
<td>(</td>
|
407
|
+
<td class="paramname"> </td>
|
408
|
+
<td> ) </td>
|
409
|
+
<td></td>
|
410
|
+
</tr>
|
411
|
+
</table>
|
412
|
+
</div>
|
413
|
+
<div class="memdoc">
|
414
|
+
|
415
|
+
<p>
|
416
|
+
Returns the username of the user that the current process is running as.
|
417
|
+
<p>
|
418
|
+
If the user has no associated username, then "UID xxxx" is returned, where xxxx is the current UID.
|
419
|
+
</div>
|
420
|
+
</div><p>
|
421
|
+
<a class="anchor" name="448f25263af0b37b91caee3d294ec4aa"></a><!-- doxytag: member="Passenger::makeDirTree" ref="448f25263af0b37b91caee3d294ec4aa" args="(const string &path, const StaticString &mode="u=rwx,g=,o=", uid_t owner=USER_NOT_GIVEN, gid_t group=GROUP_NOT_GIVEN)" -->
|
422
|
+
<div class="memitem">
|
423
|
+
<div class="memproto">
|
424
|
+
<table class="memname">
|
425
|
+
<tr>
|
426
|
+
<td class="memname">void Passenger::makeDirTree </td>
|
427
|
+
<td>(</td>
|
428
|
+
<td class="paramtype">const string & </td>
|
429
|
+
<td class="paramname"> <em>path</em>, </td>
|
430
|
+
</tr>
|
431
|
+
<tr>
|
432
|
+
<td class="paramkey"></td>
|
433
|
+
<td></td>
|
434
|
+
<td class="paramtype">const StaticString & </td>
|
435
|
+
<td class="paramname"> <em>mode</em> = <code>"u=rwx,g=,o="</code>, </td>
|
436
|
+
</tr>
|
437
|
+
<tr>
|
438
|
+
<td class="paramkey"></td>
|
439
|
+
<td></td>
|
440
|
+
<td class="paramtype">uid_t </td>
|
441
|
+
<td class="paramname"> <em>owner</em> = <code>USER_NOT_GIVEN</code>, </td>
|
442
|
+
</tr>
|
443
|
+
<tr>
|
444
|
+
<td class="paramkey"></td>
|
445
|
+
<td></td>
|
446
|
+
<td class="paramtype">gid_t </td>
|
447
|
+
<td class="paramname"> <em>group</em> = <code>GROUP_NOT_GIVEN</code></td><td> </td>
|
448
|
+
</tr>
|
449
|
+
<tr>
|
450
|
+
<td></td>
|
451
|
+
<td>)</td>
|
452
|
+
<td></td><td></td><td></td>
|
453
|
+
</tr>
|
454
|
+
</table>
|
455
|
+
</div>
|
456
|
+
<div class="memdoc">
|
457
|
+
|
458
|
+
<p>
|
459
|
+
Create the directory at the given path, creating intermediate directories if necessary.
|
460
|
+
<p>
|
461
|
+
The created directories' permissions are exactly as specified by the 'mode' parameter (i.e. the umask will be ignored). You can specify this directory's owner and group through the 'owner' and 'group' parameters. A value of USER_NOT_GIVEN for 'owner' and/or GROUP_NOT_GIVEN 'group' means that the owner/group should not be changed.<p>
|
462
|
+
If 'path' already exists, then nothing will happen.<p>
|
463
|
+
<dl compact><dt><b>Parameters:</b></dt><dd>
|
464
|
+
<table border="0" cellspacing="2" cellpadding="0">
|
465
|
+
<tr><td valign="top"></td><td valign="top"><em>mode</em> </td><td>A mode string, as supported by <a class="el" href="namespacePassenger.html#da53f5a9bdcf3d22d4a710e7ea3678e9" title="Converts a mode string into a mode_t value.">parseModeString()</a>. </td></tr>
|
466
|
+
</table>
|
467
|
+
</dl>
|
468
|
+
<dl compact><dt><b>Exceptions:</b></dt><dd>
|
469
|
+
<table border="0" cellspacing="2" cellpadding="0">
|
470
|
+
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1FileSystemException.html" title="A filesystem error, as returned by the operating system.">FileSystemException</a></em> </td><td>Something went wrong. </td></tr>
|
471
|
+
<tr><td valign="top"></td><td valign="top"><em>InvalidModeStringException</em> </td><td>The mode string cannot be parsed. </td></tr>
|
472
|
+
</table>
|
473
|
+
</dl>
|
474
|
+
|
475
|
+
</div>
|
476
|
+
</div><p>
|
477
|
+
<a class="anchor" name="da53f5a9bdcf3d22d4a710e7ea3678e9"></a><!-- doxytag: member="Passenger::parseModeString" ref="da53f5a9bdcf3d22d4a710e7ea3678e9" args="(const StaticString &mode)" -->
|
478
|
+
<div class="memitem">
|
479
|
+
<div class="memproto">
|
480
|
+
<table class="memname">
|
481
|
+
<tr>
|
482
|
+
<td class="memname">mode_t Passenger::parseModeString </td>
|
483
|
+
<td>(</td>
|
484
|
+
<td class="paramtype">const StaticString & </td>
|
485
|
+
<td class="paramname"> <em>mode</em> </td>
|
486
|
+
<td> ) </td>
|
487
|
+
<td></td>
|
488
|
+
</tr>
|
489
|
+
</table>
|
490
|
+
</div>
|
491
|
+
<div class="memdoc">
|
492
|
+
|
493
|
+
<p>
|
494
|
+
Converts a mode string into a mode_t value.
|
495
|
+
<p>
|
496
|
+
At this time only the symbolic mode strings are supported, e.g. something like looks this: "u=rwx,g=w,o=rx". The grammar is as follows: <div class="fragment"><pre class="fragment"> mode ::= (clause (<span class="stringliteral">","</span> clause)*)?
|
497
|
+
clause ::= who <span class="stringliteral">"="</span> permission*
|
498
|
+
who ::= <span class="stringliteral">"u"</span> | <span class="stringliteral">"g"</span> | <span class="stringliteral">"o"</span>
|
499
|
+
permission ::= <span class="stringliteral">"r"</span> | <span class="stringliteral">"w"</span> | <span class="stringliteral">"x"</span> | <span class="stringliteral">"s"</span>
|
500
|
+
</pre></div><p>
|
501
|
+
Notes:<ul>
|
502
|
+
<li>The mode value starts with 0. So if you specify "u=rwx", then the group and world permissions will be empty (set to 0).</li><li>The "s" permission is only allowed for who == "u" or who == "g".</li><li>The return value does not depend on the umask.</li></ul>
|
503
|
+
<p>
|
504
|
+
<dl compact><dt><b>Exceptions:</b></dt><dd>
|
505
|
+
<table border="0" cellspacing="2" cellpadding="0">
|
506
|
+
<tr><td valign="top"></td><td valign="top"><em>InvalidModeStringException</em> </td><td>The mode string cannot be parsed. </td></tr>
|
507
|
+
</table>
|
508
|
+
</dl>
|
509
|
+
|
510
|
+
</div>
|
511
|
+
</div><p>
|
512
|
+
<a class="anchor" name="35b11c8ce90e90d01380f182d82f8cac"></a><!-- doxytag: member="Passenger::passenger_bucket_create" ref="35b11c8ce90e90d01380f182d82f8cac" args="(SessionPtr session, PassengerBucketStatePtr state, apr_bucket_alloc_t *list)" -->
|
513
|
+
<div class="memitem">
|
514
|
+
<div class="memproto">
|
515
|
+
<table class="memname">
|
516
|
+
<tr>
|
517
|
+
<td class="memname">apr_bucket * Passenger::passenger_bucket_create </td>
|
518
|
+
<td>(</td>
|
519
|
+
<td class="paramtype">SessionPtr </td>
|
520
|
+
<td class="paramname"> <em>session</em>, </td>
|
521
|
+
</tr>
|
522
|
+
<tr>
|
523
|
+
<td class="paramkey"></td>
|
524
|
+
<td></td>
|
525
|
+
<td class="paramtype">PassengerBucketStatePtr </td>
|
526
|
+
<td class="paramname"> <em>state</em>, </td>
|
527
|
+
</tr>
|
528
|
+
<tr>
|
529
|
+
<td class="paramkey"></td>
|
530
|
+
<td></td>
|
531
|
+
<td class="paramtype">apr_bucket_alloc_t * </td>
|
532
|
+
<td class="paramname"> <em>list</em></td><td> </td>
|
533
|
+
</tr>
|
534
|
+
<tr>
|
535
|
+
<td></td>
|
536
|
+
<td>)</td>
|
537
|
+
<td></td><td></td><td></td>
|
538
|
+
</tr>
|
539
|
+
</table>
|
540
|
+
</div>
|
541
|
+
<div class="memdoc">
|
542
|
+
|
543
|
+
<p>
|
544
|
+
We used to use an apr_bucket_pipe for forwarding the backend process's response to the HTTP client.
|
545
|
+
<p>
|
546
|
+
However, apr_bucket_pipe has a number of issues:<ul>
|
547
|
+
<li>It closes the pipe's file descriptor when it has reached end-of-stream, but not when an error has occurred. This behavior is undesirable because it can easily cause file descriptor leaks.</li><li>It does weird non-blocking-I/O related things which can cause it to read less data than can actually be read.</li></ul>
|
548
|
+
<p>
|
549
|
+
PassengerBucket is like apr_bucket_pipe, but:<ul>
|
550
|
+
<li>It also holds a reference to a <a class="el" href="classPassenger_1_1Session.html" title="Represents a single request/response pair of an application process.">Session</a>. When a read error has occured or when end-of-stream has been reached, the <a class="el" href="classPassenger_1_1Session.html" title="Represents a single request/response pair of an application process.">Session</a> will be dereferenced, so that the underlying file descriptor is closed.</li><li>It ignores the APR_NONBLOCK_READ flag because that's known to cause strange I/O problems.</li><li>It can store its current state in a PassengerBucketState data structure. </li></ul>
|
551
|
+
|
552
|
+
</div>
|
553
|
+
</div><p>
|
554
|
+
<a class="anchor" name="8422d210cbd2f62d21254415b5a7f747"></a><!-- doxytag: member="Passenger::removeDirTree" ref="8422d210cbd2f62d21254415b5a7f747" args="(const string &path)" -->
|
555
|
+
<div class="memitem">
|
556
|
+
<div class="memproto">
|
557
|
+
<table class="memname">
|
558
|
+
<tr>
|
559
|
+
<td class="memname">void Passenger::removeDirTree </td>
|
560
|
+
<td>(</td>
|
561
|
+
<td class="paramtype">const string & </td>
|
562
|
+
<td class="paramname"> <em>path</em> </td>
|
563
|
+
<td> ) </td>
|
564
|
+
<td></td>
|
565
|
+
</tr>
|
566
|
+
</table>
|
567
|
+
</div>
|
568
|
+
<div class="memdoc">
|
569
|
+
|
570
|
+
<p>
|
571
|
+
Remove an entire directory tree recursively.
|
572
|
+
<p>
|
573
|
+
If the directory doesn't exist then this function does nothing.<p>
|
574
|
+
<dl compact><dt><b>Exceptions:</b></dt><dd>
|
575
|
+
<table border="0" cellspacing="2" cellpadding="0">
|
576
|
+
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classPassenger_1_1FileSystemException.html" title="A filesystem error, as returned by the operating system.">FileSystemException</a></em> </td><td>Something went wrong. </td></tr>
|
577
|
+
</table>
|
578
|
+
</dl>
|
579
|
+
|
580
|
+
</div>
|
581
|
+
</div><p>
|
582
|
+
<a class="anchor" name="6b2bc9d6fa3848e01fd8c164d30737cc"></a><!-- doxytag: member="Passenger::roundUp" ref="6b2bc9d6fa3848e01fd8c164d30737cc" args="(IntType number, IntType multiple)" -->
|
583
|
+
<div class="memitem">
|
584
|
+
<div class="memproto">
|
585
|
+
<div class="memtemplate">
|
586
|
+
template<typename IntType > </div>
|
587
|
+
<table class="memname">
|
588
|
+
<tr>
|
589
|
+
<td class="memname">IntType Passenger::roundUp </td>
|
590
|
+
<td>(</td>
|
591
|
+
<td class="paramtype">IntType </td>
|
592
|
+
<td class="paramname"> <em>number</em>, </td>
|
593
|
+
</tr>
|
594
|
+
<tr>
|
595
|
+
<td class="paramkey"></td>
|
596
|
+
<td></td>
|
597
|
+
<td class="paramtype">IntType </td>
|
598
|
+
<td class="paramname"> <em>multiple</em></td><td> </td>
|
599
|
+
</tr>
|
600
|
+
<tr>
|
601
|
+
<td></td>
|
602
|
+
<td>)</td>
|
603
|
+
<td></td><td></td><td><code> [inline]</code></td>
|
604
|
+
</tr>
|
605
|
+
</table>
|
606
|
+
</div>
|
607
|
+
<div class="memdoc">
|
608
|
+
|
609
|
+
<p>
|
610
|
+
Round <em>number</em> up to the nearest multiple of <em>multiple</em>.
|
611
|
+
<p>
|
612
|
+
|
613
|
+
</div>
|
614
|
+
</div><p>
|
615
|
+
<a class="anchor" name="8b73dbe534ee6daf755909cf6c321166"></a><!-- doxytag: member="Passenger::toHex" ref="8b73dbe534ee6daf755909cf6c321166" args="(const StaticString &data, char *output)" -->
|
616
|
+
<div class="memitem">
|
617
|
+
<div class="memproto">
|
618
|
+
<table class="memname">
|
619
|
+
<tr>
|
620
|
+
<td class="memname">void Passenger::toHex </td>
|
621
|
+
<td>(</td>
|
622
|
+
<td class="paramtype">const StaticString & </td>
|
623
|
+
<td class="paramname"> <em>data</em>, </td>
|
624
|
+
</tr>
|
625
|
+
<tr>
|
626
|
+
<td class="paramkey"></td>
|
627
|
+
<td></td>
|
628
|
+
<td class="paramtype">char * </td>
|
629
|
+
<td class="paramname"> <em>output</em></td><td> </td>
|
630
|
+
</tr>
|
631
|
+
<tr>
|
632
|
+
<td></td>
|
633
|
+
<td>)</td>
|
634
|
+
<td></td><td></td><td></td>
|
635
|
+
</tr>
|
636
|
+
</table>
|
637
|
+
</div>
|
638
|
+
<div class="memdoc">
|
639
|
+
|
640
|
+
<p>
|
641
|
+
Convert the given binary data to hexadecimal.
|
642
|
+
<p>
|
643
|
+
This form accepts an output buffer which must be at least data.size() * 2 bytes large.
|
644
|
+
</div>
|
645
|
+
</div><p>
|
646
|
+
</div>
|
647
|
+
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Feb 21 12:22:48 2010 for Passenger by
|
648
|
+
<a href="http://www.doxygen.org/index.html">
|
649
|
+
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
|
650
|
+
</body>
|
651
|
+
</html>
|