passenger 3.0.3 → 3.0.4
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 +14 -0
- data/ext/apache2/Hooks.cpp +2 -2
- data/ext/boost/thread/exceptions.hpp +8 -1
- data/ext/common/Constants.h +1 -1
- data/ext/nginx/Configuration.c +2 -1
- data/lib/phusion_passenger.rb +1 -1
- metadata +4 -618
- data/doc/cxxapi/AbstractSpawnManager_8h-source.html +0 -138
- data/doc/cxxapi/AbstractSpawnManager_8h_source.html +0 -141
- data/doc/cxxapi/Account_8h-source.html +0 -202
- data/doc/cxxapi/Account_8h_source.html +0 -206
- data/doc/cxxapi/AccountsDatabase_8h-source.html +0 -158
- data/doc/cxxapi/AccountsDatabase_8h_source.html +0 -161
- data/doc/cxxapi/AgentBase_8h_source.html +0 -70
- data/doc/cxxapi/AgentsStarter_8h-source.html +0 -79
- data/doc/cxxapi/AgentsStarter_8h_source.html +0 -112
- data/doc/cxxapi/BCrypt_8h-source.html +0 -101
- data/doc/cxxapi/BCrypt_8h_source.html +0 -104
- data/doc/cxxapi/BacktracesServer_8h-source.html +0 -87
- data/doc/cxxapi/Base64_8h-source.html +0 -85
- data/doc/cxxapi/Blowfish_8h-source.html +0 -131
- data/doc/cxxapi/Blowfish_8h_source.html +0 -134
- data/doc/cxxapi/Bucket_8h-source.html +0 -115
- data/doc/cxxapi/Bucket_8h_source.html +0 -118
- data/doc/cxxapi/CachedFileStat_8h-source.html +0 -79
- data/doc/cxxapi/Configuration_8h-source.html +0 -432
- data/doc/cxxapi/Configuration_8h_source.html +0 -435
- data/doc/cxxapi/Constants_8h-source.html +0 -71
- data/doc/cxxapi/Constants_8h_source.html +0 -79
- data/doc/cxxapi/ContentHandler_8h-source.html +0 -92
- data/doc/cxxapi/ContentHandler_8h_source.html +0 -95
- data/doc/cxxapi/DirectoryMapper_8h-source.html +0 -324
- data/doc/cxxapi/DirectoryMapper_8h_source.html +0 -311
- data/doc/cxxapi/EventedClient_8h_source.html +0 -733
- data/doc/cxxapi/EventedMessageServer_8h_source.html +0 -358
- data/doc/cxxapi/EventedServer_8h-source.html +0 -415
- data/doc/cxxapi/EventedServer_8h_source.html +0 -326
- data/doc/cxxapi/Exceptions_8h-source.html +0 -363
- data/doc/cxxapi/Exceptions_8h_source.html +0 -393
- data/doc/cxxapi/FileChangeChecker_8h-source.html +0 -237
- data/doc/cxxapi/FileDescriptor_8h-source.html +0 -206
- data/doc/cxxapi/FileDescriptor_8h_source.html +0 -324
- data/doc/cxxapi/Hooks_8h-source.html +0 -73
- data/doc/cxxapi/Hooks_8h_source.html +0 -76
- data/doc/cxxapi/HttpStatusExtractor_8h-source.html +0 -379
- data/doc/cxxapi/HttpStatusExtractor_8h_source.html +0 -382
- data/doc/cxxapi/IniFile_8h_source.html +0 -527
- data/doc/cxxapi/LoggingServer_8h-source.html +0 -165
- data/doc/cxxapi/Logging_8h-source.html +0 -709
- data/doc/cxxapi/Logging_8h_source.html +0 -796
- data/doc/cxxapi/MessageChannel_8h-source.html +0 -852
- data/doc/cxxapi/MessageChannel_8h_source.html +0 -776
- data/doc/cxxapi/MessageClient_8h-source.html +0 -297
- data/doc/cxxapi/MessageClient_8h_source.html +0 -328
- data/doc/cxxapi/MessageReadersWriters_8h-source.html +0 -451
- data/doc/cxxapi/MessageReadersWriters_8h_source.html +0 -539
- data/doc/cxxapi/MessageServer_8h-source.html +0 -607
- data/doc/cxxapi/MessageServer_8h_source.html +0 -612
- data/doc/cxxapi/PoolOptions_8h-source.html +0 -511
- data/doc/cxxapi/PoolOptions_8h_source.html +0 -549
- data/doc/cxxapi/Process_8h-source.html +0 -283
- data/doc/cxxapi/Process_8h_source.html +0 -286
- data/doc/cxxapi/RandomGenerator_8h-source.html +0 -183
- data/doc/cxxapi/RandomGenerator_8h_source.html +0 -191
- data/doc/cxxapi/ResourceLocator_8h-source.html +0 -104
- data/doc/cxxapi/ResourceLocator_8h_source.html +0 -166
- data/doc/cxxapi/SafeLibev_8h_source.html +0 -180
- data/doc/cxxapi/ScgiRequestParser_8h-source.html +0 -400
- data/doc/cxxapi/ScgiRequestParser_8h_source.html +0 -406
- data/doc/cxxapi/ServerInstanceDir_8h-source.html +0 -356
- data/doc/cxxapi/ServerInstanceDir_8h_source.html +0 -378
- data/doc/cxxapi/Session_8h-source.html +0 -496
- data/doc/cxxapi/Session_8h_source.html +0 -501
- data/doc/cxxapi/SpawnManager_8h-source.html +0 -632
- data/doc/cxxapi/SpawnManager_8h_source.html +0 -647
- data/doc/cxxapi/StaticContentHandler_8h-source.html +0 -65
- data/doc/cxxapi/StaticContentHandler_8h_source.html +0 -68
- data/doc/cxxapi/StaticString_8h-source.html +0 -214
- data/doc/cxxapi/StaticString_8h_source.html +0 -329
- data/doc/cxxapi/StringListCreator_8h-source.html +0 -111
- data/doc/cxxapi/StringListCreator_8h_source.html +0 -114
- data/doc/cxxapi/SystemTime_8h-source.html +0 -222
- data/doc/cxxapi/Timer_8h-source.html +0 -157
- data/doc/cxxapi/Utils_8h-source.html +0 -688
- data/doc/cxxapi/Utils_8h_source.html +0 -459
- data/doc/cxxapi/Version_8h-source.html +0 -59
- data/doc/cxxapi/annotated.html +0 -87
- data/doc/cxxapi/apache2_2Configuration_8h-source.html +0 -79
- data/doc/cxxapi/apache2_2Configuration_8h_source.html +0 -82
- data/doc/cxxapi/classAgentWatcher-members.html +0 -54
- data/doc/cxxapi/classAgentWatcher.html +0 -419
- data/doc/cxxapi/classClient-members.html +0 -38
- data/doc/cxxapi/classClient.html +0 -123
- data/doc/cxxapi/classHooks-members.html +0 -40
- data/doc/cxxapi/classHooks.html +0 -153
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager-members.html +0 -40
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager.html +0 -187
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.map +0 -1
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1ArgumentException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1ArgumentException.html +0 -56
- data/doc/cxxapi/classPassenger_1_1ArrayMessage-members.html +0 -37
- data/doc/cxxapi/classPassenger_1_1ArrayMessage.html +0 -113
- data/doc/cxxapi/classPassenger_1_1ArrayReader-members.html +0 -33
- data/doc/cxxapi/classPassenger_1_1ArrayReader.html +0 -47
- data/doc/cxxapi/classPassenger_1_1BacktracesServer-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1BacktracesServer.html +0 -107
- data/doc/cxxapi/classPassenger_1_1BacktracesServer__inherit__graph.map +0 -1
- data/doc/cxxapi/classPassenger_1_1BacktracesServer__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1BacktracesServer__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1BufferedUpload-members.html +0 -38
- data/doc/cxxapi/classPassenger_1_1BufferedUpload.html +0 -112
- data/doc/cxxapi/classPassenger_1_1BusyException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1BusyException.html +0 -54
- data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +0 -51
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +0 -41
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +0 -223
- data/doc/cxxapi/classPassenger_1_1EOFException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1EOFException.html +0 -61
- data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.map +0 -1
- data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1EOFException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1EventFd-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1EventFd.html +0 -52
- data/doc/cxxapi/classPassenger_1_1EventedClient-members.html +0 -59
- data/doc/cxxapi/classPassenger_1_1EventedClient.html +0 -531
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer-members.html +0 -37
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer.html +0 -59
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1EventedServer-members.html +0 -37
- data/doc/cxxapi/classPassenger_1_1EventedServer.html +0 -93
- data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1FileChangeChecker-members.html +0 -37
- data/doc/cxxapi/classPassenger_1_1FileChangeChecker.html +0 -166
- data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +0 -41
- data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +0 -178
- data/doc/cxxapi/classPassenger_1_1FileDescriptorPair-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1FileDescriptorPair.html +0 -52
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +0 -58
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.map +0 -1
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +0 -41
- data/doc/cxxapi/classPassenger_1_1FileSystemException.html +0 -66
- data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.map +0 -1
- data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor-members.html +0 -39
- data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor.html +0 -128
- data/doc/cxxapi/classPassenger_1_1IOException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1IOException.html +0 -61
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +0 -2
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MemZeroGuard-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1MemZeroGuard.html +0 -147
- data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +0 -57
- data/doc/cxxapi/classPassenger_1_1MessageChannel.html +0 -839
- data/doc/cxxapi/classPassenger_1_1MessageServer-members.html +0 -49
- data/doc/cxxapi/classPassenger_1_1MessageServer.html +0 -407
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext.html +0 -58
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext-members.html +0 -41
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext.html +0 -165
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.map +0 -3
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler-members.html +0 -39
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler.html +0 -173
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler__inherit__graph.map +0 -1
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1Process-members.html +0 -44
- data/doc/cxxapi/classPassenger_1_1Process.html +0 -290
- data/doc/cxxapi/classPassenger_1_1RandomGenerator-members.html +0 -37
- data/doc/cxxapi/classPassenger_1_1RandomGenerator.html +0 -79
- data/doc/cxxapi/classPassenger_1_1ResourceLocator-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1ResourceLocator.html +0 -51
- data/doc/cxxapi/classPassenger_1_1RuntimeException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1RuntimeException.html +0 -54
- data/doc/cxxapi/classPassenger_1_1SafeLibev-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1SafeLibev.html +0 -51
- data/doc/cxxapi/classPassenger_1_1ScalarMessage-members.html +0 -37
- data/doc/cxxapi/classPassenger_1_1ScalarMessage.html +0 -76
- data/doc/cxxapi/classPassenger_1_1ScalarReader-members.html +0 -33
- data/doc/cxxapi/classPassenger_1_1ScalarReader.html +0 -47
- data/doc/cxxapi/classPassenger_1_1ScgiRequestParser-members.html +0 -50
- data/doc/cxxapi/classPassenger_1_1ScgiRequestParser.html +0 -285
- data/doc/cxxapi/classPassenger_1_1SecurityException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1SecurityException.html +0 -56
- data/doc/cxxapi/classPassenger_1_1Session-members.html +0 -53
- data/doc/cxxapi/classPassenger_1_1Session.html +0 -556
- data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.map +0 -1
- data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1Session__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +0 -39
- data/doc/cxxapi/classPassenger_1_1SpawnException.html +0 -101
- data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +0 -42
- data/doc/cxxapi/classPassenger_1_1SpawnManager.html +0 -292
- data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.map +0 -1
- data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1SpawnManager__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1StandardSession-members.html +0 -54
- data/doc/cxxapi/classPassenger_1_1StandardSession.html +0 -394
- data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.map +0 -1
- data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1StandardSession__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1StaticString-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1StaticString.html +0 -56
- data/doc/cxxapi/classPassenger_1_1SystemException-members.html +0 -40
- data/doc/cxxapi/classPassenger_1_1SystemException.html +0 -155
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map +0 -2
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1SystemTime-members.html +0 -43
- data/doc/cxxapi/classPassenger_1_1SystemTime.html +0 -173
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException-members.html +0 -40
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException.html +0 -61
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.map +0 -1
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.md5 +0 -1
- data/doc/cxxapi/classPassenger_1_1TimeRetrievalException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1TimeoutException-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1TimeoutException.html +0 -54
- data/doc/cxxapi/classPassenger_1_1Timer-members.html +0 -38
- data/doc/cxxapi/classPassenger_1_1Timer.html +0 -163
- data/doc/cxxapi/classPassenger_1_1Uint16Message-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1Uint16Message.html +0 -51
- data/doc/cxxapi/classPassenger_1_1Uint16Reader-members.html +0 -33
- data/doc/cxxapi/classPassenger_1_1Uint16Reader.html +0 -47
- data/doc/cxxapi/classPassenger_1_1Uint32Message-members.html +0 -36
- data/doc/cxxapi/classPassenger_1_1Uint32Message.html +0 -51
- data/doc/cxxapi/classPassenger_1_1Uint32Reader-members.html +0 -33
- data/doc/cxxapi/classPassenger_1_1Uint32Reader.html +0 -47
- data/doc/cxxapi/classServer-members.html +0 -36
- data/doc/cxxapi/classServer.html +0 -49
- data/doc/cxxapi/classServerInstanceDirToucher-members.html +0 -36
- data/doc/cxxapi/classServerInstanceDirToucher.html +0 -47
- data/doc/cxxapi/classes.html +0 -52
- data/doc/cxxapi/definitions_8h-source.html +0 -33
- data/doc/cxxapi/definitions_8h_source.html +0 -36
- data/doc/cxxapi/doxygen.css +0 -532
- data/doc/cxxapi/doxygen.png +0 -0
- data/doc/cxxapi/files.html +0 -76
- data/doc/cxxapi/ftv2blank.png +0 -0
- data/doc/cxxapi/ftv2doc.png +0 -0
- data/doc/cxxapi/ftv2folderclosed.png +0 -0
- data/doc/cxxapi/ftv2folderopen.png +0 -0
- data/doc/cxxapi/ftv2lastnode.png +0 -0
- data/doc/cxxapi/ftv2link.png +0 -0
- data/doc/cxxapi/ftv2mlastnode.png +0 -0
- data/doc/cxxapi/ftv2mnode.png +0 -0
- data/doc/cxxapi/ftv2node.png +0 -0
- data/doc/cxxapi/ftv2plastnode.png +0 -0
- data/doc/cxxapi/ftv2pnode.png +0 -0
- data/doc/cxxapi/ftv2vertline.png +0 -0
- data/doc/cxxapi/functions.html +0 -103
- data/doc/cxxapi/functions_0x62.html +0 -82
- data/doc/cxxapi/functions_0x63.html +0 -102
- data/doc/cxxapi/functions_0x64.html +0 -102
- data/doc/cxxapi/functions_0x65.html +0 -88
- data/doc/cxxapi/functions_0x66.html +0 -100
- data/doc/cxxapi/functions_0x67.html +0 -167
- data/doc/cxxapi/functions_0x68.html +0 -88
- data/doc/cxxapi/functions_0x69.html +0 -96
- data/doc/cxxapi/functions_0x6b.html +0 -80
- data/doc/cxxapi/functions_0x6c.html +0 -88
- data/doc/cxxapi/functions_0x6d.html +0 -88
- data/doc/cxxapi/functions_0x6e.html +0 -86
- data/doc/cxxapi/functions_0x6f.html +0 -94
- data/doc/cxxapi/functions_0x70.html +0 -94
- data/doc/cxxapi/functions_0x72.html +0 -110
- data/doc/cxxapi/functions_0x73.html +0 -171
- data/doc/cxxapi/functions_0x74.html +0 -85
- data/doc/cxxapi/functions_0x75.html +0 -85
- data/doc/cxxapi/functions_0x77.html +0 -92
- data/doc/cxxapi/functions_0x7e.html +0 -79
- data/doc/cxxapi/functions_enum.html +0 -49
- data/doc/cxxapi/functions_eval.html +0 -67
- data/doc/cxxapi/functions_func.html +0 -531
- data/doc/cxxapi/functions_vars.html +0 -278
- data/doc/cxxapi/graph_legend.dot +0 -22
- data/doc/cxxapi/graph_legend.html +0 -92
- data/doc/cxxapi/graph_legend.png +0 -0
- data/doc/cxxapi/group__Configuration.html +0 -198
- data/doc/cxxapi/group__Configuration.map +0 -3
- data/doc/cxxapi/group__Configuration.png +0 -0
- data/doc/cxxapi/group__Core.html +0 -46
- data/doc/cxxapi/group__Core.map +0 -3
- data/doc/cxxapi/group__Core.png +0 -0
- data/doc/cxxapi/group__Exceptions.html +0 -53
- data/doc/cxxapi/group__Hooks.html +0 -42
- data/doc/cxxapi/group__Hooks.map +0 -3
- data/doc/cxxapi/group__Hooks.png +0 -0
- data/doc/cxxapi/group__Support.html +0 -538
- data/doc/cxxapi/hierarchy.html +0 -101
- data/doc/cxxapi/index.html +0 -16
- data/doc/cxxapi/inherit__graph__0.map +0 -1
- data/doc/cxxapi/inherit__graph__0.md5 +0 -1
- data/doc/cxxapi/inherit__graph__0.png +0 -0
- data/doc/cxxapi/inherit__graph__1.map +0 -1
- data/doc/cxxapi/inherit__graph__1.md5 +0 -1
- data/doc/cxxapi/inherit__graph__1.png +0 -0
- data/doc/cxxapi/inherit__graph__10.map +0 -3
- data/doc/cxxapi/inherit__graph__10.md5 +0 -1
- data/doc/cxxapi/inherit__graph__10.png +0 -0
- data/doc/cxxapi/inherit__graph__11.map +0 -4
- data/doc/cxxapi/inherit__graph__11.md5 +0 -1
- data/doc/cxxapi/inherit__graph__11.png +0 -0
- data/doc/cxxapi/inherit__graph__12.map +0 -3
- data/doc/cxxapi/inherit__graph__12.md5 +0 -1
- data/doc/cxxapi/inherit__graph__12.png +0 -0
- data/doc/cxxapi/inherit__graph__13.map +0 -3
- data/doc/cxxapi/inherit__graph__13.md5 +0 -1
- data/doc/cxxapi/inherit__graph__13.png +0 -0
- data/doc/cxxapi/inherit__graph__14.map +0 -3
- data/doc/cxxapi/inherit__graph__14.md5 +0 -1
- data/doc/cxxapi/inherit__graph__14.png +0 -0
- data/doc/cxxapi/inherit__graph__15.map +0 -3
- data/doc/cxxapi/inherit__graph__15.md5 +0 -1
- data/doc/cxxapi/inherit__graph__15.png +0 -0
- data/doc/cxxapi/inherit__graph__16.map +0 -5
- data/doc/cxxapi/inherit__graph__16.md5 +0 -1
- data/doc/cxxapi/inherit__graph__16.png +0 -0
- data/doc/cxxapi/inherit__graph__17.map +0 -3
- data/doc/cxxapi/inherit__graph__17.md5 +0 -1
- data/doc/cxxapi/inherit__graph__17.png +0 -0
- data/doc/cxxapi/inherit__graph__18.map +0 -3
- data/doc/cxxapi/inherit__graph__18.md5 +0 -1
- data/doc/cxxapi/inherit__graph__18.png +0 -0
- data/doc/cxxapi/inherit__graph__19.map +0 -4
- data/doc/cxxapi/inherit__graph__19.md5 +0 -1
- data/doc/cxxapi/inherit__graph__19.png +0 -0
- data/doc/cxxapi/inherit__graph__2.map +0 -1
- data/doc/cxxapi/inherit__graph__2.md5 +0 -1
- data/doc/cxxapi/inherit__graph__2.png +0 -0
- data/doc/cxxapi/inherit__graph__20.map +0 -3
- data/doc/cxxapi/inherit__graph__20.md5 +0 -1
- data/doc/cxxapi/inherit__graph__20.png +0 -0
- data/doc/cxxapi/inherit__graph__21.map +0 -3
- data/doc/cxxapi/inherit__graph__21.md5 +0 -1
- data/doc/cxxapi/inherit__graph__21.png +0 -0
- data/doc/cxxapi/inherit__graph__22.map +0 -3
- data/doc/cxxapi/inherit__graph__22.md5 +0 -1
- data/doc/cxxapi/inherit__graph__22.png +0 -0
- data/doc/cxxapi/inherit__graph__23.map +0 -3
- data/doc/cxxapi/inherit__graph__23.md5 +0 -1
- data/doc/cxxapi/inherit__graph__23.png +0 -0
- data/doc/cxxapi/inherit__graph__24.map +0 -3
- data/doc/cxxapi/inherit__graph__24.md5 +0 -1
- data/doc/cxxapi/inherit__graph__24.png +0 -0
- data/doc/cxxapi/inherit__graph__25.map +0 -3
- data/doc/cxxapi/inherit__graph__25.md5 +0 -1
- data/doc/cxxapi/inherit__graph__25.png +0 -0
- data/doc/cxxapi/inherit__graph__26.map +0 -3
- data/doc/cxxapi/inherit__graph__26.md5 +0 -1
- data/doc/cxxapi/inherit__graph__26.png +0 -0
- data/doc/cxxapi/inherit__graph__27.map +0 -3
- data/doc/cxxapi/inherit__graph__27.md5 +0 -1
- data/doc/cxxapi/inherit__graph__27.png +0 -0
- data/doc/cxxapi/inherit__graph__28.map +0 -3
- data/doc/cxxapi/inherit__graph__28.md5 +0 -1
- data/doc/cxxapi/inherit__graph__28.png +0 -0
- data/doc/cxxapi/inherit__graph__29.map +0 -3
- data/doc/cxxapi/inherit__graph__29.md5 +0 -1
- data/doc/cxxapi/inherit__graph__29.png +0 -0
- data/doc/cxxapi/inherit__graph__3.map +0 -2
- data/doc/cxxapi/inherit__graph__3.md5 +0 -1
- data/doc/cxxapi/inherit__graph__3.png +0 -0
- data/doc/cxxapi/inherit__graph__30.map +0 -3
- data/doc/cxxapi/inherit__graph__30.md5 +0 -1
- data/doc/cxxapi/inherit__graph__30.png +0 -0
- data/doc/cxxapi/inherit__graph__31.map +0 -4
- data/doc/cxxapi/inherit__graph__31.md5 +0 -1
- data/doc/cxxapi/inherit__graph__31.png +0 -0
- data/doc/cxxapi/inherit__graph__32.map +0 -3
- data/doc/cxxapi/inherit__graph__32.md5 +0 -1
- data/doc/cxxapi/inherit__graph__32.png +0 -0
- data/doc/cxxapi/inherit__graph__33.map +0 -3
- data/doc/cxxapi/inherit__graph__33.md5 +0 -1
- data/doc/cxxapi/inherit__graph__33.png +0 -0
- data/doc/cxxapi/inherit__graph__34.map +0 -3
- data/doc/cxxapi/inherit__graph__34.md5 +0 -1
- data/doc/cxxapi/inherit__graph__34.png +0 -0
- data/doc/cxxapi/inherit__graph__35.map +0 -3
- data/doc/cxxapi/inherit__graph__35.md5 +0 -1
- data/doc/cxxapi/inherit__graph__35.png +0 -0
- data/doc/cxxapi/inherit__graph__36.map +0 -5
- data/doc/cxxapi/inherit__graph__36.md5 +0 -1
- data/doc/cxxapi/inherit__graph__36.png +0 -0
- data/doc/cxxapi/inherit__graph__37.map +0 -3
- data/doc/cxxapi/inherit__graph__37.md5 +0 -1
- data/doc/cxxapi/inherit__graph__37.png +0 -0
- data/doc/cxxapi/inherit__graph__38.map +0 -3
- data/doc/cxxapi/inherit__graph__38.md5 +0 -1
- data/doc/cxxapi/inherit__graph__38.png +0 -0
- data/doc/cxxapi/inherit__graph__39.map +0 -3
- data/doc/cxxapi/inherit__graph__39.md5 +0 -1
- data/doc/cxxapi/inherit__graph__39.png +0 -0
- data/doc/cxxapi/inherit__graph__4.map +0 -3
- data/doc/cxxapi/inherit__graph__4.md5 +0 -1
- data/doc/cxxapi/inherit__graph__4.png +0 -0
- data/doc/cxxapi/inherit__graph__40.map +0 -3
- data/doc/cxxapi/inherit__graph__40.md5 +0 -1
- data/doc/cxxapi/inherit__graph__40.png +0 -0
- data/doc/cxxapi/inherit__graph__5.map +0 -3
- data/doc/cxxapi/inherit__graph__5.md5 +0 -1
- data/doc/cxxapi/inherit__graph__5.png +0 -0
- data/doc/cxxapi/inherit__graph__6.map +0 -3
- data/doc/cxxapi/inherit__graph__6.md5 +0 -1
- data/doc/cxxapi/inherit__graph__6.png +0 -0
- data/doc/cxxapi/inherit__graph__7.map +0 -3
- data/doc/cxxapi/inherit__graph__7.md5 +0 -1
- data/doc/cxxapi/inherit__graph__7.png +0 -0
- data/doc/cxxapi/inherit__graph__8.map +0 -3
- data/doc/cxxapi/inherit__graph__8.md5 +0 -1
- data/doc/cxxapi/inherit__graph__8.png +0 -0
- data/doc/cxxapi/inherit__graph__9.map +0 -3
- data/doc/cxxapi/inherit__graph__9.md5 +0 -1
- data/doc/cxxapi/inherit__graph__9.png +0 -0
- data/doc/cxxapi/inherits.html +0 -165
- data/doc/cxxapi/main.html +0 -28
- data/doc/cxxapi/md5_8h-source.html +0 -121
- data/doc/cxxapi/modules.html +0 -36
- data/doc/cxxapi/namespacePassenger.html +0 -553
- data/doc/cxxapi/namespacemembers.html +0 -135
- data/doc/cxxapi/namespacemembers_enum.html +0 -48
- data/doc/cxxapi/namespacemembers_eval.html +0 -57
- data/doc/cxxapi/namespacemembers_func.html +0 -111
- data/doc/cxxapi/namespacemembers_type.html +0 -54
- data/doc/cxxapi/namespaces.html +0 -37
- data/doc/cxxapi/nginx_2Configuration_8h-source.html +0 -115
- data/doc/cxxapi/nginx_2Configuration_8h_source.html +0 -125
- data/doc/cxxapi/ngx__http__passenger__module_8h-source.html +0 -91
- data/doc/cxxapi/ngx__http__passenger__module_8h_source.html +0 -94
- data/doc/cxxapi/structPassenger_1_1AnythingToString-members.html +0 -33
- data/doc/cxxapi/structPassenger_1_1AnythingToString.html +0 -52
- data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01StaticString_01_4_01_4-members.html +0 -33
- data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01StaticString_01_4_01_4.html +0 -52
- data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4-members.html +0 -33
- data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html +0 -52
- data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard-members.html +0 -36
- data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html +0 -51
- data/doc/cxxapi/structPassenger_1_1PoolOptions-members.html +0 -67
- data/doc/cxxapi/structPassenger_1_1PoolOptions.html +0 -647
- data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash-members.html +0 -36
- data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash.html +0 -51
- data/doc/cxxapi/tab_b.gif +0 -0
- data/doc/cxxapi/tab_l.gif +0 -0
- data/doc/cxxapi/tab_r.gif +0 -0
- data/doc/cxxapi/tabs.css +0 -105
- data/doc/cxxapi/tree.html +0 -249
- data/doc/rdoc/classes/ConditionVariable.html +0 -215
- data/doc/rdoc/classes/Exception.html +0 -120
- data/doc/rdoc/classes/GC.html +0 -113
- data/doc/rdoc/classes/IO.html +0 -221
- data/doc/rdoc/classes/PhusionPassenger.html +0 -397
- data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +0 -180
- data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +0 -647
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +0 -654
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/InvalidPassword.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +0 -97
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +0 -96
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +0 -97
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +0 -96
- data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +0 -619
- data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +0 -142
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats.html +0 -368
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats/Process.html +0 -231
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance.html +0 -588
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/CorruptedDirectoryError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/GenerationsAbsentError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Group.html +0 -147
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Process.html +0 -279
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/RoleDeniedError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/StaleDirectoryError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Stats.html +0 -123
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/UnsupportedGenerationStructureVersionError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger.html +0 -368
- data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/Log.html +0 -299
- data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/SharedData.html +0 -206
- data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +0 -155
- data/doc/rdoc/classes/PhusionPassenger/AppProcess.html +0 -367
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails.html +0 -95
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner.html +0 -351
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner/Error.html +0 -98
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/CGIFixed.html +0 -200
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner.html +0 -410
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner/Error.html +0 -98
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/RequestHandler.html +0 -156
- data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions.html +0 -115
- data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions/AnalyticsLogging.html +0 -202
- data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +0 -172
- data/doc/rdoc/classes/PhusionPassenger/DebugLogging.html +0 -273
- data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +0 -145
- data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +0 -162
- data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +0 -141
- data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +0 -673
- data/doc/rdoc/classes/PhusionPassenger/MessageChannel/InvalidHashError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/MessageClient.html +0 -415
- data/doc/rdoc/classes/PhusionPassenger/NativeSupportLoader.html +0 -134
- data/doc/rdoc/classes/PhusionPassenger/Packaging.html +0 -129
- data/doc/rdoc/classes/PhusionPassenger/PlatformInfo.html +0 -1972
- data/doc/rdoc/classes/PhusionPassenger/Plugin.html +0 -237
- data/doc/rdoc/classes/PhusionPassenger/Rack.html +0 -91
- data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +0 -312
- data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner/Error.html +0 -98
- data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +0 -218
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions.html +0 -114
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging.html +0 -259
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ACExtension.html +0 -139
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ASBenchmarkableExtension.html +0 -118
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ExceptionLogger.html +0 -135
- data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +0 -378
- data/doc/rdoc/classes/PhusionPassenger/Standalone.html +0 -111
- data/doc/rdoc/classes/PhusionPassenger/Standalone/AppFinder.html +0 -252
- data/doc/rdoc/classes/PhusionPassenger/Standalone/Command.html +0 -161
- data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile.html +0 -368
- data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile/DisallowedContextError.html +0 -132
- data/doc/rdoc/classes/PhusionPassenger/Standalone/HelpCommand.html +0 -151
- data/doc/rdoc/classes/PhusionPassenger/Standalone/Main.html +0 -189
- data/doc/rdoc/classes/PhusionPassenger/Standalone/PackageRuntimeCommand.html +0 -177
- data/doc/rdoc/classes/PhusionPassenger/Standalone/RuntimeInstaller.html +0 -341
- data/doc/rdoc/classes/PhusionPassenger/Standalone/StartCommand.html +0 -203
- data/doc/rdoc/classes/PhusionPassenger/Standalone/StatusCommand.html +0 -156
- data/doc/rdoc/classes/PhusionPassenger/Standalone/StopCommand.html +0 -168
- data/doc/rdoc/classes/PhusionPassenger/Standalone/Utils.html +0 -86
- data/doc/rdoc/classes/PhusionPassenger/Standalone/VersionCommand.html +0 -135
- data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +0 -125
- data/doc/rdoc/classes/PhusionPassenger/Utils.html +0 -1543
- data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher.html +0 -204
- data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/DirInfo.html +0 -171
- data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/FileInfo.html +0 -140
- data/doc/rdoc/classes/PhusionPassenger/Utils/HostsFileParser.html +0 -260
- data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +0 -194
- data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput.html +0 -265
- data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput/Tempfile.html +0 -120
- data/doc/rdoc/classes/PhusionPassenger/Utils/UnseekableSocket.html +0 -561
- data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +0 -140
- data/doc/rdoc/classes/PhusionPassenger/WSGI.html +0 -89
- data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +0 -182
- data/doc/rdoc/classes/Process.html +0 -115
- data/doc/rdoc/classes/Signal.html +0 -139
- data/doc/rdoc/created.rid +0 -1
- data/doc/rdoc/files/DEVELOPERS_TXT.html +0 -280
- data/doc/rdoc/files/README.html +0 -157
- data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +0 -130
- data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +0 -135
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +0 -128
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools/memory_stats_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools/server_instance_rb.html +0 -132
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/analytics_logger_rb.html +0 -129
- data/doc/rdoc/files/lib/phusion_passenger/app_process_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/application_spawner_rb.html +0 -141
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/cgi_fixed_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/framework_spawner_rb.html +0 -146
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/request_handler_rb.html +0 -125
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails_extensions/init_rb.html +0 -132
- data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/debug_logging_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +0 -147
- data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +0 -120
- data/doc/rdoc/files/lib/phusion_passenger/message_client_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/native_support_rb.html +0 -132
- data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/apache_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/binary_compatibility_rb.html +0 -129
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/compiler_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/curl_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/documentation_tools_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/linux_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/operating_system_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/ruby_rb.html +0 -128
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/zlib_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/plugin_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/public_api_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +0 -137
- data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +0 -125
- data/doc/rdoc/files/lib/phusion_passenger/rails3_extensions/init_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +0 -160
- data/doc/rdoc/files/lib/phusion_passenger/standalone/app_finder_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/standalone/command_rb.html +0 -136
- data/doc/rdoc/files/lib/phusion_passenger/standalone/config_file_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/help_command_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/main_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/package_runtime_command_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/standalone/runtime_installer_rb.html +0 -133
- data/doc/rdoc/files/lib/phusion_passenger/standalone/start_command_rb.html +0 -136
- data/doc/rdoc/files/lib/phusion_passenger/standalone/status_command_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/stop_command_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/utils_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/version_command_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/utils/file_system_watcher_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/utils/hosts_file_parser_rb.html +0 -120
- data/doc/rdoc/files/lib/phusion_passenger/utils/rewindable_input_rb.html +0 -100
- data/doc/rdoc/files/lib/phusion_passenger/utils/tmpdir_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/utils/unseekable_socket_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +0 -179
- data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +0 -132
- data/doc/rdoc/fr_class_index.html +0 -139
- data/doc/rdoc/fr_file_index.html +0 -108
- data/doc/rdoc/fr_method_index.html +0 -439
- data/doc/rdoc/index.html +0 -26
- data/doc/rdoc/rdoc-style.css +0 -187
@@ -1,326 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
-
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
-
<head>
|
4
|
-
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
5
|
-
<title>Passenger: EventedServer.h Source File</title>
|
6
|
-
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
7
|
-
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
8
|
-
</head>
|
9
|
-
<body>
|
10
|
-
<!-- Generated by Doxygen 1.6.2 -->
|
11
|
-
<div class="navigation" id="top">
|
12
|
-
<div class="tabs">
|
13
|
-
<ul>
|
14
|
-
<li><a href="main.html"><span>Main Page</span></a></li>
|
15
|
-
<li><a href="modules.html"><span>Modules</span></a></li>
|
16
|
-
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
17
|
-
<li><a href="annotated.html"><span>Classes</span></a></li>
|
18
|
-
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
19
|
-
</ul>
|
20
|
-
</div>
|
21
|
-
<div class="tabs">
|
22
|
-
<ul>
|
23
|
-
<li><a href="files.html"><span>File List</span></a></li>
|
24
|
-
</ul>
|
25
|
-
</div>
|
26
|
-
<h1>EventedServer.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
27
|
-
<a name="l00002"></a>00002 <span class="comment"> * Phusion Passenger - http://www.modrails.com/</span>
|
28
|
-
<a name="l00003"></a>00003 <span class="comment"> * Copyright (c) 2010 Phusion</span>
|
29
|
-
<a name="l00004"></a>00004 <span class="comment"> *</span>
|
30
|
-
<a name="l00005"></a>00005 <span class="comment"> * "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.</span>
|
31
|
-
<a name="l00006"></a>00006 <span class="comment"> *</span>
|
32
|
-
<a name="l00007"></a>00007 <span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a copy</span>
|
33
|
-
<a name="l00008"></a>00008 <span class="comment"> * of this software and associated documentation files (the "Software"), to deal</span>
|
34
|
-
<a name="l00009"></a>00009 <span class="comment"> * in the Software without restriction, including without limitation the rights</span>
|
35
|
-
<a name="l00010"></a>00010 <span class="comment"> * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</span>
|
36
|
-
<a name="l00011"></a>00011 <span class="comment"> * copies of the Software, and to permit persons to whom the Software is</span>
|
37
|
-
<a name="l00012"></a>00012 <span class="comment"> * furnished to do so, subject to the following conditions:</span>
|
38
|
-
<a name="l00013"></a>00013 <span class="comment"> *</span>
|
39
|
-
<a name="l00014"></a>00014 <span class="comment"> * The above copyright notice and this permission notice shall be included in</span>
|
40
|
-
<a name="l00015"></a>00015 <span class="comment"> * all copies or substantial portions of the Software.</span>
|
41
|
-
<a name="l00016"></a>00016 <span class="comment"> *</span>
|
42
|
-
<a name="l00017"></a>00017 <span class="comment"> * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span>
|
43
|
-
<a name="l00018"></a>00018 <span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span>
|
44
|
-
<a name="l00019"></a>00019 <span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span>
|
45
|
-
<a name="l00020"></a>00020 <span class="comment"> * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span>
|
46
|
-
<a name="l00021"></a>00021 <span class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span>
|
47
|
-
<a name="l00022"></a>00022 <span class="comment"> * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN</span>
|
48
|
-
<a name="l00023"></a>00023 <span class="comment"> * THE SOFTWARE.</span>
|
49
|
-
<a name="l00024"></a>00024 <span class="comment"> */</span>
|
50
|
-
<a name="l00025"></a>00025 <span class="preprocessor">#ifndef _PASSENGER_EVENTED_SERVER_H_</span>
|
51
|
-
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define _PASSENGER_EVENTED_SERVER_H_</span>
|
52
|
-
<a name="l00027"></a>00027 <span class="preprocessor"></span>
|
53
|
-
<a name="l00028"></a>00028 <span class="preprocessor">#include <ev++.h></span>
|
54
|
-
<a name="l00029"></a>00029 <span class="preprocessor">#include <boost/shared_ptr.hpp></span>
|
55
|
-
<a name="l00030"></a>00030 <span class="preprocessor">#include <boost/enable_shared_from_this.hpp></span>
|
56
|
-
<a name="l00031"></a>00031 <span class="preprocessor">#include <oxt/system_calls.hpp></span>
|
57
|
-
<a name="l00032"></a>00032 <span class="preprocessor">#include <oxt/macros.hpp></span>
|
58
|
-
<a name="l00033"></a>00033 <span class="preprocessor">#include <algorithm></span>
|
59
|
-
<a name="l00034"></a>00034 <span class="preprocessor">#include <string></span>
|
60
|
-
<a name="l00035"></a>00035 <span class="preprocessor">#include <set></span>
|
61
|
-
<a name="l00036"></a>00036 <span class="preprocessor">#include <sys/types.h></span>
|
62
|
-
<a name="l00037"></a>00037 <span class="preprocessor">#include <sys/un.h></span>
|
63
|
-
<a name="l00038"></a>00038 <span class="preprocessor">#include <sys/uio.h></span>
|
64
|
-
<a name="l00039"></a>00039 <span class="preprocessor">#include <netinet/in.h></span>
|
65
|
-
<a name="l00040"></a>00040 <span class="preprocessor">#include <unistd.h></span>
|
66
|
-
<a name="l00041"></a>00041 <span class="preprocessor">#include <cerrno></span>
|
67
|
-
<a name="l00042"></a>00042 <span class="preprocessor">#include "EventedClient.h"</span>
|
68
|
-
<a name="l00043"></a>00043 <span class="preprocessor">#include "FileDescriptor.h"</span>
|
69
|
-
<a name="l00044"></a>00044 <span class="preprocessor">#include "StaticString.h"</span>
|
70
|
-
<a name="l00045"></a>00045 <span class="preprocessor">#include "Logging.h"</span>
|
71
|
-
<a name="l00046"></a>00046 <span class="preprocessor">#include "Utils/ScopeGuard.h"</span>
|
72
|
-
<a name="l00047"></a>00047 <span class="preprocessor">#include "Utils/StrIntUtils.h"</span>
|
73
|
-
<a name="l00048"></a>00048
|
74
|
-
<a name="l00049"></a>00049 <span class="keyword">namespace </span>Passenger {
|
75
|
-
<a name="l00050"></a>00050
|
76
|
-
<a name="l00051"></a>00051 <span class="keyword">using namespace </span>std;
|
77
|
-
<a name="l00052"></a>00052 <span class="keyword">using namespace </span>boost;
|
78
|
-
<a name="l00053"></a>00053 <span class="keyword">using namespace </span>oxt;
|
79
|
-
<a name="l00054"></a>00054
|
80
|
-
<a name="l00055"></a>00055 <span class="comment"></span>
|
81
|
-
<a name="l00056"></a>00056 <span class="comment">/**</span>
|
82
|
-
<a name="l00057"></a>00057 <span class="comment"> * A base class for writing single-threaded, evented servers that use non-blocking I/O.</span>
|
83
|
-
<a name="l00058"></a>00058 <span class="comment"> * It uses libev for its event loop. EventedServer handles much of the situps regarding</span>
|
84
|
-
<a name="l00059"></a>00059 <span class="comment"> * client connection management and output buffering and tries to make it easy to</span>
|
85
|
-
<a name="l00060"></a>00060 <span class="comment"> * implement a zero-copy architecture.</span>
|
86
|
-
<a name="l00061"></a>00061 <span class="comment"> *</span>
|
87
|
-
<a name="l00062"></a>00062 <span class="comment"> * <h2>Basic usage</h2></span>
|
88
|
-
<a name="l00063"></a>00063 <span class="comment"> * Derived classes can override the onClientReadable() method, which is called every time</span>
|
89
|
-
<a name="l00064"></a>00064 <span class="comment"> * a specific client becomes readable. It is passed a Client object which contains information</span>
|
90
|
-
<a name="l00065"></a>00065 <span class="comment"> * about the client, such as its file descriptor. One can use the read() system call in</span>
|
91
|
-
<a name="l00066"></a>00066 <span class="comment"> * that method to receive data from the client. Please note that client file descriptors</span>
|
92
|
-
<a name="l00067"></a>00067 <span class="comment"> * are always set to non-blocking mode so you need to handle this gracefully.</span>
|
93
|
-
<a name="l00068"></a>00068 <span class="comment"> *</span>
|
94
|
-
<a name="l00069"></a>00069 <span class="comment"> * EventedServer provides the write() method for sending data to the client. This method</span>
|
95
|
-
<a name="l00070"></a>00070 <span class="comment"> * will attempt to send the data to the client immediately; if it fails with EAGAIN then</span>
|
96
|
-
<a name="l00071"></a>00071 <span class="comment"> * EventedServer will take care of scheduling the send at a later time when the client</span>
|
97
|
-
<a name="l00072"></a>00072 <span class="comment"> * is ready again to receive data.</span>
|
98
|
-
<a name="l00073"></a>00073 <span class="comment"> *</span>
|
99
|
-
<a name="l00074"></a>00074 <span class="comment"> * To disconnect the client, call disconnect(). The connection might not be actually</span>
|
100
|
-
<a name="l00075"></a>00075 <span class="comment"> * closed until all pending outgoing data have been sent out, but all the gory details</span>
|
101
|
-
<a name="l00076"></a>00076 <span class="comment"> * is taken care of for you.</span>
|
102
|
-
<a name="l00077"></a>00077 <span class="comment"> *</span>
|
103
|
-
<a name="l00078"></a>00078 <span class="comment"> * <h2>Keeping per-client information</h2></span>
|
104
|
-
<a name="l00079"></a>00079 <span class="comment"> * If you need to keep per-client information then you can override the createClient()</span>
|
105
|
-
<a name="l00080"></a>00080 <span class="comment"> * method and make it return an object that's a subclass of EventedServer::Client. This</span>
|
106
|
-
<a name="l00081"></a>00081 <span class="comment"> * object is passed to onClientReadable(), so in there you can just cast the client object</span>
|
107
|
-
<a name="l00082"></a>00082 <span class="comment"> * to your subclass.</span>
|
108
|
-
<a name="l00083"></a>00083 <span class="comment"> *</span>
|
109
|
-
<a name="l00084"></a>00084 <span class="comment"> * <h2>Client object life times</h2></span>
|
110
|
-
<a name="l00085"></a>00085 <span class="comment"> * All client objects are destroyed along with the EventedServer. Disconnecting</span>
|
111
|
-
<a name="l00086"></a>00086 <span class="comment"> * a client also causes it to be destroyed after the current event handler has</span>
|
112
|
-
<a name="l00087"></a>00087 <span class="comment"> * run or a short period of time after that.</span>
|
113
|
-
<a name="l00088"></a>00088 <span class="comment"> */</span>
|
114
|
-
<a name="l00089"></a><a class="code" href="classPassenger_1_1EventedServer.html">00089</a> <span class="keyword">class </span><a class="code" href="classPassenger_1_1EventedServer.html" title="A base class for writing single-threaded, evented servers that use non-blocking I/O...">EventedServer</a> {
|
115
|
-
<a name="l00090"></a>00090 <span class="keyword">protected</span>:
|
116
|
-
<a name="l00091"></a>00091 <span class="keyword">typedef</span> set<EventedClient *> ClientSet;
|
117
|
-
<a name="l00092"></a>00092
|
118
|
-
<a name="l00093"></a>00093 <span class="keyword">const</span> ClientSet &getClients()<span class="keyword"> const </span>{
|
119
|
-
<a name="l00094"></a>00094 <span class="keywordflow">return</span> clients;
|
120
|
-
<a name="l00095"></a>00095 }
|
121
|
-
<a name="l00096"></a>00096
|
122
|
-
<a name="l00097"></a>00097 <span class="keywordtype">string</span> getClientName(<span class="keyword">const</span> <a class="code" href="classPassenger_1_1EventedClient.html" title="A utility class for making I/O handling in non-blocking libev evented servers much...">EventedClient</a> *client)<span class="keyword"> const </span>{
|
123
|
-
<a name="l00098"></a>00098 <span class="keywordflow">return</span> toString(client);
|
124
|
-
<a name="l00099"></a>00099 }
|
125
|
-
<a name="l00100"></a>00100
|
126
|
-
<a name="l00101"></a>00101 <span class="keywordtype">void</span> logError(<span class="keyword">const</span> <a class="code" href="classPassenger_1_1EventedClient.html" title="A utility class for making I/O handling in non-blocking libev evented servers much...">EventedClient</a> *client, <span class="keyword">const</span> <span class="keywordtype">string</span> &message) {
|
127
|
-
<a name="l00102"></a>00102 P_ERROR(<span class="stringliteral">"Error in client "</span> << getClientName(client) << <span class="stringliteral">": "</span> << message);
|
128
|
-
<a name="l00103"></a>00103 }
|
129
|
-
<a name="l00104"></a>00104
|
130
|
-
<a name="l00105"></a>00105 <span class="keywordtype">void</span> logSystemError(<span class="keyword">const</span> <a class="code" href="classPassenger_1_1EventedClient.html" title="A utility class for making I/O handling in non-blocking libev evented servers much...">EventedClient</a> *client, <span class="keyword">const</span> <span class="keywordtype">string</span> &message, <span class="keywordtype">int</span> errorCode) {
|
131
|
-
<a name="l00106"></a>00106 P_ERROR(<span class="stringliteral">"Error in client "</span> << getClientName(client) << <span class="stringliteral">": "</span> <<
|
132
|
-
<a name="l00107"></a>00107 message << <span class="stringliteral">": "</span> << strerror(errorCode) << <span class="stringliteral">" ("</span> << errorCode << <span class="stringliteral">")"</span>);
|
133
|
-
<a name="l00108"></a>00108 }
|
134
|
-
<a name="l00109"></a>00109
|
135
|
-
<a name="l00110"></a>00110 <span class="keywordtype">void</span> logSystemError(<span class="keyword">const</span> <span class="keywordtype">string</span> &message, <span class="keywordtype">int</span> errorCode) {
|
136
|
-
<a name="l00111"></a>00111 P_ERROR(message << <span class="stringliteral">": "</span> << strerror(errorCode) << <span class="stringliteral">" ("</span> << errorCode << <span class="stringliteral">")"</span>);
|
137
|
-
<a name="l00112"></a>00112 }
|
138
|
-
<a name="l00113"></a>00113
|
139
|
-
<a name="l00114"></a>00114 <span class="keyword">virtual</span> <a class="code" href="classPassenger_1_1EventedClient.html" title="A utility class for making I/O handling in non-blocking libev evented servers much...">EventedClient</a> *createClient(<span class="keyword">const</span> <a class="code" href="classPassenger_1_1FileDescriptor.html" title="Wrapper class around a file descriptor integer, for RAII behavior.">FileDescriptor</a> &fd) {
|
140
|
-
<a name="l00115"></a>00115 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classPassenger_1_1EventedClient.html" title="A utility class for making I/O handling in non-blocking libev evented servers much...">EventedClient</a>(loop, fd);
|
141
|
-
<a name="l00116"></a>00116 }
|
142
|
-
<a name="l00117"></a>00117
|
143
|
-
<a name="l00118"></a>00118 <span class="keyword">virtual</span> <span class="keywordtype">void</span> onNewClient(<a class="code" href="classPassenger_1_1EventedClient.html" title="A utility class for making I/O handling in non-blocking libev evented servers much...">EventedClient</a> *client) { }
|
144
|
-
<a name="l00119"></a>00119 <span class="keyword">virtual</span> <span class="keywordtype">void</span> onClientReadable(<a class="code" href="classPassenger_1_1EventedClient.html" title="A utility class for making I/O handling in non-blocking libev evented servers much...">EventedClient</a> *client) { }
|
145
|
-
<a name="l00120"></a>00120 <span class="comment"></span>
|
146
|
-
<a name="l00121"></a>00121 <span class="comment"> /**</span>
|
147
|
-
<a name="l00122"></a>00122 <span class="comment"> * Called when a client has been disconnected. This may either be triggered</span>
|
148
|
-
<a name="l00123"></a>00123 <span class="comment"> * immediately by disconnect() or triggered after pending data has been sent</span>
|
149
|
-
<a name="l00124"></a>00124 <span class="comment"> * out. This means that if you call disconnect() from onClientReadable() you</span>
|
150
|
-
<a name="l00125"></a>00125 <span class="comment"> * need take care of the possibility that control returns to onClientReadable()</span>
|
151
|
-
<a name="l00126"></a>00126 <span class="comment"> * after this method is done.</span>
|
152
|
-
<a name="l00127"></a>00127 <span class="comment"> *</span>
|
153
|
-
<a name="l00128"></a>00128 <span class="comment"> * Please note that when EventedServer is being destroyed,</span>
|
154
|
-
<a name="l00129"></a>00129 <span class="comment"> * onClientDisconnected() is *not* triggered.</span>
|
155
|
-
<a name="l00130"></a>00130 <span class="comment"> */</span>
|
156
|
-
<a name="l00131"></a><a class="code" href="classPassenger_1_1EventedServer.html#a7db4c8d0ad8aa77bcb40344e53319f11">00131</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPassenger_1_1EventedServer.html#a7db4c8d0ad8aa77bcb40344e53319f11" title="Called when a client has been disconnected.">onClientDisconnected</a>(<a class="code" href="classPassenger_1_1EventedClient.html" title="A utility class for making I/O handling in non-blocking libev evented servers much...">EventedClient</a> *client) { }
|
157
|
-
<a name="l00132"></a>00132
|
158
|
-
<a name="l00133"></a>00133 <span class="keyword">private</span>:
|
159
|
-
<a name="l00134"></a>00134 <span class="keyword">struct </span>ev_loop *loop;
|
160
|
-
<a name="l00135"></a>00135 <a class="code" href="classPassenger_1_1FileDescriptor.html" title="Wrapper class around a file descriptor integer, for RAII behavior.">FileDescriptor</a> fd;
|
161
|
-
<a name="l00136"></a>00136 ev::io acceptWatcher;
|
162
|
-
<a name="l00137"></a>00137 ClientSet clients;
|
163
|
-
<a name="l00138"></a>00138
|
164
|
-
<a name="l00139"></a>00139 <span class="keywordtype">void</span> removeClient(<a class="code" href="classPassenger_1_1EventedClient.html" title="A utility class for making I/O handling in non-blocking libev evented servers much...">EventedClient</a> *client) {
|
165
|
-
<a name="l00140"></a>00140 clients.erase(client);
|
166
|
-
<a name="l00141"></a>00141 }
|
167
|
-
<a name="l00142"></a>00142
|
168
|
-
<a name="l00143"></a>00143 <span class="keywordtype">void</span> freeAllClients() {
|
169
|
-
<a name="l00144"></a>00144 ClientSet::iterator it;
|
170
|
-
<a name="l00145"></a>00145 ClientSet::iterator end = clients.end();
|
171
|
-
<a name="l00146"></a>00146
|
172
|
-
<a name="l00147"></a>00147 <span class="keywordflow">for</span> (it = clients.begin(); it != clients.end(); it++) {
|
173
|
-
<a name="l00148"></a>00148 (*it)->unref();
|
174
|
-
<a name="l00149"></a>00149 }
|
175
|
-
<a name="l00150"></a>00150 clients.clear();
|
176
|
-
<a name="l00151"></a>00151 }
|
177
|
-
<a name="l00152"></a>00152
|
178
|
-
<a name="l00153"></a>00153 <span class="keyword">static</span> <span class="keywordtype">void</span> _onReadable(EventedClient *client) {
|
179
|
-
<a name="l00154"></a>00154 EventedServer *server = (EventedServer *) client->userData;
|
180
|
-
<a name="l00155"></a>00155 client->ref();
|
181
|
-
<a name="l00156"></a>00156 ScopeGuard guard(boost::bind(&<a class="code" href="classPassenger_1_1EventedClient.html#a1e480f15dfd339ff781f8daedc5b8190" title="Decrease reference count.">EventedClient::unref</a>, client));
|
182
|
-
<a name="l00157"></a>00157 server->onClientReadable((EventedClient *) client);
|
183
|
-
<a name="l00158"></a>00158 }
|
184
|
-
<a name="l00159"></a>00159
|
185
|
-
<a name="l00160"></a>00160 <span class="keyword">static</span> <span class="keywordtype">void</span> _onDisconnect(EventedClient *client) {
|
186
|
-
<a name="l00161"></a>00161 EventedServer *server = (EventedServer *) client->userData;
|
187
|
-
<a name="l00162"></a>00162 ScopeGuard guard1(boost::bind(&<a class="code" href="classPassenger_1_1EventedClient.html#a1e480f15dfd339ff781f8daedc5b8190" title="Decrease reference count.">EventedClient::unref</a>, client));
|
188
|
-
<a name="l00163"></a>00163
|
189
|
-
<a name="l00164"></a>00164 client->ref();
|
190
|
-
<a name="l00165"></a>00165 ScopeGuard guard2(boost::bind(&<a class="code" href="classPassenger_1_1EventedClient.html#a1e480f15dfd339ff781f8daedc5b8190" title="Decrease reference count.">EventedClient::unref</a>, client));
|
191
|
-
<a name="l00166"></a>00166
|
192
|
-
<a name="l00167"></a>00167 server->removeClient(client);
|
193
|
-
<a name="l00168"></a>00168 server->onClientDisconnected((EventedClient *) client);
|
194
|
-
<a name="l00169"></a>00169 }
|
195
|
-
<a name="l00170"></a>00170
|
196
|
-
<a name="l00171"></a>00171 <span class="keyword">static</span> <span class="keywordtype">void</span> _onDetach(EventedClient *client) {
|
197
|
-
<a name="l00172"></a>00172 EventedServer *server = (EventedServer *) client->userData;
|
198
|
-
<a name="l00173"></a>00173 ScopeGuard guard1(boost::bind(&<a class="code" href="classPassenger_1_1EventedClient.html#a1e480f15dfd339ff781f8daedc5b8190" title="Decrease reference count.">EventedClient::unref</a>, client));
|
199
|
-
<a name="l00174"></a>00174
|
200
|
-
<a name="l00175"></a>00175 client->ref();
|
201
|
-
<a name="l00176"></a>00176 ScopeGuard guard2(boost::bind(&<a class="code" href="classPassenger_1_1EventedClient.html#a1e480f15dfd339ff781f8daedc5b8190" title="Decrease reference count.">EventedClient::unref</a>, client));
|
202
|
-
<a name="l00177"></a>00177
|
203
|
-
<a name="l00178"></a>00178 server->removeClient(client);
|
204
|
-
<a name="l00179"></a>00179 }
|
205
|
-
<a name="l00180"></a>00180
|
206
|
-
<a name="l00181"></a>00181 <span class="keyword">static</span> <span class="keywordtype">void</span> _onSystemError(EventedClient *client, <span class="keyword">const</span> <span class="keywordtype">string</span> &message, <span class="keywordtype">int</span> code) {
|
207
|
-
<a name="l00182"></a>00182 EventedServer *server = (EventedServer *) client->userData;
|
208
|
-
<a name="l00183"></a>00183 server->logSystemError(client, message, code);
|
209
|
-
<a name="l00184"></a>00184 }
|
210
|
-
<a name="l00185"></a>00185
|
211
|
-
<a name="l00186"></a>00186 <span class="keywordtype">void</span> exceptionThrownWhileInitializingClient(EventedClient *client, ClientSet::iterator it) {
|
212
|
-
<a name="l00187"></a>00187 <span class="keywordflow">if</span> (!client->ioAllowed()) {
|
213
|
-
<a name="l00188"></a>00188 <span class="comment">// onNewClient() disconnected or detached the</span>
|
214
|
-
<a name="l00189"></a>00189 <span class="comment">// client, so client refcount == 1</span>
|
215
|
-
<a name="l00190"></a>00190 client->unref();
|
216
|
-
<a name="l00191"></a>00191 } <span class="keywordflow">else</span> {
|
217
|
-
<a name="l00192"></a>00192 <span class="comment">// client refcount == 2</span>
|
218
|
-
<a name="l00193"></a>00193 client->unref();
|
219
|
-
<a name="l00194"></a>00194 client->unref();
|
220
|
-
<a name="l00195"></a>00195 clients.erase(it);
|
221
|
-
<a name="l00196"></a>00196 }
|
222
|
-
<a name="l00197"></a>00197 <span class="comment">// Now client refcount == 0</span>
|
223
|
-
<a name="l00198"></a>00198 }
|
224
|
-
<a name="l00199"></a>00199
|
225
|
-
<a name="l00200"></a>00200 <span class="keywordtype">void</span> onAcceptable(ev::io &w, <span class="keywordtype">int</span> revents) {
|
226
|
-
<a name="l00201"></a>00201 this_thread::disable_syscall_interruption dsi;
|
227
|
-
<a name="l00202"></a>00202 <span class="keywordtype">int</span> i = 0;
|
228
|
-
<a name="l00203"></a>00203 <span class="keywordtype">bool</span> done = <span class="keyword">false</span>;
|
229
|
-
<a name="l00204"></a>00204
|
230
|
-
<a name="l00205"></a>00205 <span class="comment">// Accept at most 10 connections on every accept readiness event</span>
|
231
|
-
<a name="l00206"></a>00206 <span class="comment">// in order to give other events the chance to be processed.</span>
|
232
|
-
<a name="l00207"></a>00207 <span class="keywordflow">while</span> (i < 10 && !done) {
|
233
|
-
<a name="l00208"></a>00208 <span class="comment">// Reserve enough space to hold both a Unix domain socket</span>
|
234
|
-
<a name="l00209"></a>00209 <span class="comment">// address and an IP socket address.</span>
|
235
|
-
<a name="l00210"></a>00210 <span class="keyword">union </span>{
|
236
|
-
<a name="l00211"></a>00211 <span class="keyword">struct </span>sockaddr_un local;
|
237
|
-
<a name="l00212"></a>00212 <span class="keyword">struct </span>sockaddr_in inet;
|
238
|
-
<a name="l00213"></a>00213 } addr;
|
239
|
-
<a name="l00214"></a>00214 socklen_t len = <span class="keyword">sizeof</span>(addr);
|
240
|
-
<a name="l00215"></a>00215
|
241
|
-
<a name="l00216"></a>00216 <span class="keywordtype">int</span> clientfd = syscalls::accept(fd, (<span class="keyword">struct</span> sockaddr *) &addr, &len);
|
242
|
-
<a name="l00217"></a>00217 <span class="keywordflow">if</span> (clientfd == -1) {
|
243
|
-
<a name="l00218"></a>00218 <span class="keywordflow">if</span> (errno != EAGAIN && errno != EWOULDBLOCK) {
|
244
|
-
<a name="l00219"></a>00219 <span class="keywordtype">int</span> e = errno;
|
245
|
-
<a name="l00220"></a>00220 logSystemError(<span class="stringliteral">"Cannot accept new client"</span>, e);
|
246
|
-
<a name="l00221"></a>00221 }
|
247
|
-
<a name="l00222"></a>00222 done = <span class="keyword">true</span>;
|
248
|
-
<a name="l00223"></a>00223 } <span class="keywordflow">else</span> {
|
249
|
-
<a name="l00224"></a>00224 FileDescriptor clientfdGuard = clientfd;
|
250
|
-
<a name="l00225"></a>00225 <span class="keywordtype">int</span> optval = 1;
|
251
|
-
<a name="l00226"></a>00226
|
252
|
-
<a name="l00227"></a>00227 setNonBlocking(clientfdGuard);
|
253
|
-
<a name="l00228"></a>00228 syscalls::setsockopt(clientfd, SOL_SOCKET, SO_KEEPALIVE,
|
254
|
-
<a name="l00229"></a>00229 &optval, <span class="keyword">sizeof</span>(optval));
|
255
|
-
<a name="l00230"></a>00230
|
256
|
-
<a name="l00231"></a>00231 EventedClient *client = createClient(clientfdGuard);
|
257
|
-
<a name="l00232"></a>00232 client->onReadable = _onReadable;
|
258
|
-
<a name="l00233"></a>00233 client->onDisconnect = _onDisconnect;
|
259
|
-
<a name="l00234"></a>00234 client->onDetach = _onDetach;
|
260
|
-
<a name="l00235"></a>00235 client->onSystemError = _onSystemError;
|
261
|
-
<a name="l00236"></a>00236 client->userData = <span class="keyword">this</span>;
|
262
|
-
<a name="l00237"></a>00237 client->notifyReads(<span class="keyword">true</span>);
|
263
|
-
<a name="l00238"></a>00238
|
264
|
-
<a name="l00239"></a>00239 pair<ClientSet::iterator, bool> p = clients.insert(client);
|
265
|
-
<a name="l00240"></a>00240
|
266
|
-
<a name="l00241"></a>00241 client->ref();
|
267
|
-
<a name="l00242"></a>00242 <span class="comment">// client refcount == 2</span>
|
268
|
-
<a name="l00243"></a>00243 {
|
269
|
-
<a name="l00244"></a>00244 ScopeGuard g(boost::bind(
|
270
|
-
<a name="l00245"></a>00245 &EventedServer::exceptionThrownWhileInitializingClient,
|
271
|
-
<a name="l00246"></a>00246 <span class="keyword">this</span>,
|
272
|
-
<a name="l00247"></a>00247 client,
|
273
|
-
<a name="l00248"></a>00248 p.first));
|
274
|
-
<a name="l00249"></a>00249 onNewClient(client);
|
275
|
-
<a name="l00250"></a>00250 g.clear();
|
276
|
-
<a name="l00251"></a>00251 <span class="comment">// If exception occurred: client refcount == 0</span>
|
277
|
-
<a name="l00252"></a>00252 }
|
278
|
-
<a name="l00253"></a>00253
|
279
|
-
<a name="l00254"></a>00254 <span class="comment">/* No exception occured.</span>
|
280
|
-
<a name="l00255"></a>00255 <span class="comment"> * If onNewClient() disconnected or detached the client:</span>
|
281
|
-
<a name="l00256"></a>00256 <span class="comment"> * client refcount == 1</span>
|
282
|
-
<a name="l00257"></a>00257 <span class="comment"> * We want the refcount to become 0.</span>
|
283
|
-
<a name="l00258"></a>00258 <span class="comment"> * If not:</span>
|
284
|
-
<a name="l00259"></a>00259 <span class="comment"> * client refcount == 2</span>
|
285
|
-
<a name="l00260"></a>00260 <span class="comment"> * We want the refcount to become 1.</span>
|
286
|
-
<a name="l00261"></a>00261 <span class="comment"> */</span>
|
287
|
-
<a name="l00262"></a>00262 client->unref();
|
288
|
-
<a name="l00263"></a>00263 }
|
289
|
-
<a name="l00264"></a>00264 i++;
|
290
|
-
<a name="l00265"></a>00265 }
|
291
|
-
<a name="l00266"></a>00266 }
|
292
|
-
<a name="l00267"></a>00267
|
293
|
-
<a name="l00268"></a>00268 <span class="keyword">public</span>:
|
294
|
-
<a name="l00269"></a>00269 EventedServer(<span class="keyword">struct</span> ev_loop *_loop, FileDescriptor serverFd)
|
295
|
-
<a name="l00270"></a>00270 : loop(_loop),
|
296
|
-
<a name="l00271"></a>00271 acceptWatcher(_loop)
|
297
|
-
<a name="l00272"></a>00272 {
|
298
|
-
<a name="l00273"></a>00273 fd = serverFd;
|
299
|
-
<a name="l00274"></a>00274 setNonBlocking(serverFd);
|
300
|
-
<a name="l00275"></a>00275 acceptWatcher.set<EventedServer, &EventedServer::onAcceptable>(<span class="keyword">this</span>);
|
301
|
-
<a name="l00276"></a>00276 acceptWatcher.start(fd, ev::READ);
|
302
|
-
<a name="l00277"></a>00277 }
|
303
|
-
<a name="l00278"></a>00278
|
304
|
-
<a name="l00279"></a>00279 <span class="keyword">virtual</span> ~EventedServer() {
|
305
|
-
<a name="l00280"></a>00280 freeAllClients();
|
306
|
-
<a name="l00281"></a>00281 }
|
307
|
-
<a name="l00282"></a>00282
|
308
|
-
<a name="l00283"></a>00283 <span class="keyword">struct </span>ev_loop *getLoop()<span class="keyword"> const </span>{
|
309
|
-
<a name="l00284"></a>00284 <span class="keywordflow">return</span> loop;
|
310
|
-
<a name="l00285"></a>00285 }
|
311
|
-
<a name="l00286"></a>00286
|
312
|
-
<a name="l00287"></a>00287 FileDescriptor getServerFd()<span class="keyword"> const </span>{
|
313
|
-
<a name="l00288"></a>00288 <span class="keywordflow">return</span> fd;
|
314
|
-
<a name="l00289"></a>00289 }
|
315
|
-
<a name="l00290"></a>00290 };
|
316
|
-
<a name="l00291"></a>00291
|
317
|
-
<a name="l00292"></a>00292
|
318
|
-
<a name="l00293"></a>00293 } <span class="comment">// namespace Passenger</span>
|
319
|
-
<a name="l00294"></a>00294
|
320
|
-
<a name="l00295"></a>00295 <span class="preprocessor">#endif </span><span class="comment">/* _PASSENGER_EVENTED_SERVER_H_ */</span>
|
321
|
-
</pre></div></div>
|
322
|
-
<hr size="1"/><address style="text-align: right;"><small>Generated by
|
323
|
-
<a href="http://www.doxygen.org/index.html">
|
324
|
-
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
|
325
|
-
</body>
|
326
|
-
</html>
|
@@ -1,363 +0,0 @@
|
|
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: Exceptions.h Source File</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><a href="namespaces.html"><span>Namespaces</span></a></li>
|
14
|
-
<li><a href="annotated.html"><span>Classes</span></a></li>
|
15
|
-
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
16
|
-
</ul>
|
17
|
-
</div>
|
18
|
-
<div class="tabs">
|
19
|
-
<ul>
|
20
|
-
<li><a href="files.html"><span>File List</span></a></li>
|
21
|
-
</ul>
|
22
|
-
</div>
|
23
|
-
<h1>Exceptions.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
|
24
|
-
<a name="l00002"></a>00002 <span class="comment"> * Phusion Passenger - http://www.modrails.com/</span>
|
25
|
-
<a name="l00003"></a>00003 <span class="comment"> * Copyright (c) 2010 Phusion</span>
|
26
|
-
<a name="l00004"></a>00004 <span class="comment"> *</span>
|
27
|
-
<a name="l00005"></a>00005 <span class="comment"> * "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.</span>
|
28
|
-
<a name="l00006"></a>00006 <span class="comment"> *</span>
|
29
|
-
<a name="l00007"></a>00007 <span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a copy</span>
|
30
|
-
<a name="l00008"></a>00008 <span class="comment"> * of this software and associated documentation files (the "Software"), to deal</span>
|
31
|
-
<a name="l00009"></a>00009 <span class="comment"> * in the Software without restriction, including without limitation the rights</span>
|
32
|
-
<a name="l00010"></a>00010 <span class="comment"> * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</span>
|
33
|
-
<a name="l00011"></a>00011 <span class="comment"> * copies of the Software, and to permit persons to whom the Software is</span>
|
34
|
-
<a name="l00012"></a>00012 <span class="comment"> * furnished to do so, subject to the following conditions:</span>
|
35
|
-
<a name="l00013"></a>00013 <span class="comment"> *</span>
|
36
|
-
<a name="l00014"></a>00014 <span class="comment"> * The above copyright notice and this permission notice shall be included in</span>
|
37
|
-
<a name="l00015"></a>00015 <span class="comment"> * all copies or substantial portions of the Software.</span>
|
38
|
-
<a name="l00016"></a>00016 <span class="comment"> *</span>
|
39
|
-
<a name="l00017"></a>00017 <span class="comment"> * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span>
|
40
|
-
<a name="l00018"></a>00018 <span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span>
|
41
|
-
<a name="l00019"></a>00019 <span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span>
|
42
|
-
<a name="l00020"></a>00020 <span class="comment"> * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span>
|
43
|
-
<a name="l00021"></a>00021 <span class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span>
|
44
|
-
<a name="l00022"></a>00022 <span class="comment"> * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN</span>
|
45
|
-
<a name="l00023"></a>00023 <span class="comment"> * THE SOFTWARE.</span>
|
46
|
-
<a name="l00024"></a>00024 <span class="comment"> */</span>
|
47
|
-
<a name="l00025"></a>00025 <span class="preprocessor">#ifndef _PASSENGER_EXCEPTIONS_H_</span>
|
48
|
-
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define _PASSENGER_EXCEPTIONS_H_</span>
|
49
|
-
<a name="l00027"></a>00027 <span class="preprocessor"></span>
|
50
|
-
<a name="l00028"></a>00028 <span class="preprocessor">#include <oxt/tracable_exception.hpp></span>
|
51
|
-
<a name="l00029"></a>00029 <span class="preprocessor">#include <string></span>
|
52
|
-
<a name="l00030"></a>00030 <span class="preprocessor">#include <sstream></span>
|
53
|
-
<a name="l00031"></a>00031 <span class="preprocessor">#include <cstring></span>
|
54
|
-
<a name="l00032"></a>00032 <span class="comment"></span>
|
55
|
-
<a name="l00033"></a>00033 <span class="comment">/**</span>
|
56
|
-
<a name="l00034"></a>00034 <span class="comment"> * @defgroup Exceptions Exceptions</span>
|
57
|
-
<a name="l00035"></a>00035 <span class="comment"> */</span>
|
58
|
-
<a name="l00036"></a>00036
|
59
|
-
<a name="l00037"></a>00037 <span class="keyword">namespace </span>Passenger {
|
60
|
-
<a name="l00038"></a>00038
|
61
|
-
<a name="l00039"></a>00039 <span class="keyword">using namespace </span>std;
|
62
|
-
<a name="l00040"></a>00040 <span class="comment"></span>
|
63
|
-
<a name="l00041"></a>00041 <span class="comment">/**</span>
|
64
|
-
<a name="l00042"></a>00042 <span class="comment"> * Represents an error returned by a system call or a standard library call.</span>
|
65
|
-
<a name="l00043"></a>00043 <span class="comment"> *</span>
|
66
|
-
<a name="l00044"></a>00044 <span class="comment"> * Use the code() method to find out the value of <tt>errno</tt> at the time</span>
|
67
|
-
<a name="l00045"></a>00045 <span class="comment"> * the error occured.</span>
|
68
|
-
<a name="l00046"></a>00046 <span class="comment"> *</span>
|
69
|
-
<a name="l00047"></a>00047 <span class="comment"> * @ingroup Exceptions</span>
|
70
|
-
<a name="l00048"></a>00048 <span class="comment"> */</span>
|
71
|
-
<a name="l00049"></a><a class="code" href="classPassenger_1_1SystemException.html">00049</a> <span class="keyword">class </span><a class="code" href="classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call.">SystemException</a>: <span class="keyword">public</span> oxt::tracable_exception {
|
72
|
-
<a name="l00050"></a>00050 <span class="keyword">private</span>:
|
73
|
-
<a name="l00051"></a>00051 <span class="keywordtype">string</span> briefMessage;
|
74
|
-
<a name="l00052"></a>00052 <span class="keywordtype">string</span> systemMessage;
|
75
|
-
<a name="l00053"></a>00053 <span class="keywordtype">string</span> fullMessage;
|
76
|
-
<a name="l00054"></a>00054 <span class="keywordtype">int</span> m_code;
|
77
|
-
<a name="l00055"></a>00055 <span class="keyword">public</span>:<span class="comment"></span>
|
78
|
-
<a name="l00056"></a>00056 <span class="comment"> /**</span>
|
79
|
-
<a name="l00057"></a>00057 <span class="comment"> * Create a new SystemException.</span>
|
80
|
-
<a name="l00058"></a>00058 <span class="comment"> *</span>
|
81
|
-
<a name="l00059"></a>00059 <span class="comment"> * @param briefMessage A brief message describing the error.</span>
|
82
|
-
<a name="l00060"></a>00060 <span class="comment"> * @param errorCode The error code, i.e. the value of errno right after the error occured.</span>
|
83
|
-
<a name="l00061"></a>00061 <span class="comment"> * @note A system description of the error will be appended to the given message.</span>
|
84
|
-
<a name="l00062"></a>00062 <span class="comment"> * For example, if <tt>errorCode</tt> is <tt>EBADF</tt>, and <tt>briefMessage</tt></span>
|
85
|
-
<a name="l00063"></a>00063 <span class="comment"> * is <em>"Something happened"</em>, then what() will return <em>"Something happened: Bad</span>
|
86
|
-
<a name="l00064"></a>00064 <span class="comment"> * file descriptor (10)"</em> (if 10 is the number for EBADF).</span>
|
87
|
-
<a name="l00065"></a>00065 <span class="comment"> * @post code() == errorCode</span>
|
88
|
-
<a name="l00066"></a>00066 <span class="comment"> * @post brief() == briefMessage</span>
|
89
|
-
<a name="l00067"></a>00067 <span class="comment"> */</span>
|
90
|
-
<a name="l00068"></a><a class="code" href="classPassenger_1_1SystemException.html#1f0f33c63934ee40c5cd9c338c8aa04b">00068</a> <a class="code" href="classPassenger_1_1SystemException.html#1f0f33c63934ee40c5cd9c338c8aa04b" title="Create a new SystemException.">SystemException</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &briefMessage, <span class="keywordtype">int</span> errorCode) {
|
91
|
-
<a name="l00069"></a>00069 stringstream str;
|
92
|
-
<a name="l00070"></a>00070
|
93
|
-
<a name="l00071"></a>00071 str << strerror(errorCode) << <span class="stringliteral">" ("</span> << errorCode << <span class="stringliteral">")"</span>;
|
94
|
-
<a name="l00072"></a>00072 systemMessage = str.str();
|
95
|
-
<a name="l00073"></a>00073
|
96
|
-
<a name="l00074"></a>00074 setBriefMessage(briefMessage);
|
97
|
-
<a name="l00075"></a>00075 m_code = errorCode;
|
98
|
-
<a name="l00076"></a>00076 }
|
99
|
-
<a name="l00077"></a>00077
|
100
|
-
<a name="l00078"></a>00078 <span class="keyword">virtual</span> ~<a class="code" href="classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call.">SystemException</a>() throw() {}
|
101
|
-
<a name="l00079"></a>00079
|
102
|
-
<a name="l00080"></a>00080 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *what() <span class="keyword">const</span> throw() {
|
103
|
-
<a name="l00081"></a>00081 <span class="keywordflow">return</span> fullMessage.c_str();
|
104
|
-
<a name="l00082"></a>00082 }
|
105
|
-
<a name="l00083"></a>00083
|
106
|
-
<a name="l00084"></a>00084 <span class="keywordtype">void</span> setBriefMessage(<span class="keyword">const</span> <span class="keywordtype">string</span> &message) {
|
107
|
-
<a name="l00085"></a>00085 briefMessage = message;
|
108
|
-
<a name="l00086"></a>00086 fullMessage = briefMessage + <span class="stringliteral">": "</span> + systemMessage;
|
109
|
-
<a name="l00087"></a>00087 }
|
110
|
-
<a name="l00088"></a>00088 <span class="comment"></span>
|
111
|
-
<a name="l00089"></a>00089 <span class="comment"> /**</span>
|
112
|
-
<a name="l00090"></a>00090 <span class="comment"> * The value of <tt>errno</tt> at the time the error occured.</span>
|
113
|
-
<a name="l00091"></a>00091 <span class="comment"> */</span>
|
114
|
-
<a name="l00092"></a><a class="code" href="classPassenger_1_1SystemException.html#ee7a6672bf79b72a4c3ee70c57d6a47c">00092</a> <span class="keywordtype">int</span> <a class="code" href="classPassenger_1_1SystemException.html#ee7a6672bf79b72a4c3ee70c57d6a47c" title="The value of errno at the time the error occured.">code</a>() <span class="keyword">const</span> throw() {
|
115
|
-
<a name="l00093"></a>00093 <span class="keywordflow">return</span> m_code;
|
116
|
-
<a name="l00094"></a>00094 }
|
117
|
-
<a name="l00095"></a>00095 <span class="comment"></span>
|
118
|
-
<a name="l00096"></a>00096 <span class="comment"> /**</span>
|
119
|
-
<a name="l00097"></a>00097 <span class="comment"> * Returns a brief version of the exception message. This message does</span>
|
120
|
-
<a name="l00098"></a>00098 <span class="comment"> * not include the system error description, and is equivalent to the</span>
|
121
|
-
<a name="l00099"></a>00099 <span class="comment"> * value of the <tt>message</tt> parameter as passed to the constructor.</span>
|
122
|
-
<a name="l00100"></a>00100 <span class="comment"> */</span>
|
123
|
-
<a name="l00101"></a><a class="code" href="classPassenger_1_1SystemException.html#84fa2ab4f5b7b96704734fcdfdaa0269">00101</a> <span class="keywordtype">string</span> <a class="code" href="classPassenger_1_1SystemException.html#84fa2ab4f5b7b96704734fcdfdaa0269" title="Returns a brief version of the exception message.">brief</a>() <span class="keyword">const</span> throw() {
|
124
|
-
<a name="l00102"></a>00102 <span class="keywordflow">return</span> briefMessage;
|
125
|
-
<a name="l00103"></a>00103 }
|
126
|
-
<a name="l00104"></a>00104 <span class="comment"></span>
|
127
|
-
<a name="l00105"></a>00105 <span class="comment"> /**</span>
|
128
|
-
<a name="l00106"></a>00106 <span class="comment"> * Returns the system's error message. This message contains both the</span>
|
129
|
-
<a name="l00107"></a>00107 <span class="comment"> * content of <tt>strerror(errno)</tt> and the errno number itself.</span>
|
130
|
-
<a name="l00108"></a>00108 <span class="comment"> */</span>
|
131
|
-
<a name="l00109"></a><a class="code" href="classPassenger_1_1SystemException.html#0ef41d755fea2c9b1db2252e7c418dc8">00109</a> <span class="keywordtype">string</span> <a class="code" href="classPassenger_1_1SystemException.html#0ef41d755fea2c9b1db2252e7c418dc8" title="Returns the system&#39;s error message.">sys</a>() <span class="keyword">const</span> throw() {
|
132
|
-
<a name="l00110"></a>00110 <span class="keywordflow">return</span> systemMessage;
|
133
|
-
<a name="l00111"></a>00111 }
|
134
|
-
<a name="l00112"></a>00112 };
|
135
|
-
<a name="l00113"></a>00113 <span class="comment"></span>
|
136
|
-
<a name="l00114"></a>00114 <span class="comment">/**</span>
|
137
|
-
<a name="l00115"></a>00115 <span class="comment"> * A filesystem error, as returned by the operating system. This may include,</span>
|
138
|
-
<a name="l00116"></a>00116 <span class="comment"> * for example, permission errors.</span>
|
139
|
-
<a name="l00117"></a>00117 <span class="comment"> *</span>
|
140
|
-
<a name="l00118"></a>00118 <span class="comment"> * @ingroup Exceptions</span>
|
141
|
-
<a name="l00119"></a>00119 <span class="comment"> */</span>
|
142
|
-
<a name="l00120"></a><a class="code" href="classPassenger_1_1FileSystemException.html">00120</a> <span class="keyword">class </span><a class="code" href="classPassenger_1_1FileSystemException.html" title="A filesystem error, as returned by the operating system.">FileSystemException</a>: <span class="keyword">public</span> <a class="code" href="classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call.">SystemException</a> {
|
143
|
-
<a name="l00121"></a>00121 <span class="keyword">private</span>:
|
144
|
-
<a name="l00122"></a>00122 <span class="keywordtype">string</span> m_filename;
|
145
|
-
<a name="l00123"></a>00123 <span class="keyword">public</span>:
|
146
|
-
<a name="l00124"></a>00124 <a class="code" href="classPassenger_1_1FileSystemException.html" title="A filesystem error, as returned by the operating system.">FileSystemException</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &message, <span class="keywordtype">int</span> errorCode,
|
147
|
-
<a name="l00125"></a>00125 <span class="keyword">const</span> <span class="keywordtype">string</span> &<a class="code" href="classPassenger_1_1FileSystemException.html#7eef8fefd84a07efa9fe3a76129a4386" title="The filename that&#39;s associated to the error.">filename</a>)
|
148
|
-
<a name="l00126"></a>00126 : <a class="code" href="classPassenger_1_1SystemException.html#1f0f33c63934ee40c5cd9c338c8aa04b" title="Create a new SystemException.">SystemException</a>(message, errorCode),
|
149
|
-
<a name="l00127"></a>00127 m_filename(filename) {}
|
150
|
-
<a name="l00128"></a>00128
|
151
|
-
<a name="l00129"></a>00129 <span class="keyword">virtual</span> ~<a class="code" href="classPassenger_1_1FileSystemException.html" title="A filesystem error, as returned by the operating system.">FileSystemException</a>() <span class="keywordflow">throw</span>() {}
|
152
|
-
<a name="l00130"></a>00130 <span class="comment"></span>
|
153
|
-
<a name="l00131"></a>00131 <span class="comment"> /**</span>
|
154
|
-
<a name="l00132"></a>00132 <span class="comment"> * The filename that's associated to the error.</span>
|
155
|
-
<a name="l00133"></a>00133 <span class="comment"> */</span>
|
156
|
-
<a name="l00134"></a><a class="code" href="classPassenger_1_1FileSystemException.html#7eef8fefd84a07efa9fe3a76129a4386">00134</a> <span class="keywordtype">string</span> <a class="code" href="classPassenger_1_1FileSystemException.html#7eef8fefd84a07efa9fe3a76129a4386" title="The filename that&#39;s associated to the error.">filename</a>() <span class="keyword">const</span> throw() {
|
157
|
-
<a name="l00135"></a>00135 <span class="keywordflow">return</span> m_filename;
|
158
|
-
<a name="l00136"></a>00136 }
|
159
|
-
<a name="l00137"></a>00137 };
|
160
|
-
<a name="l00138"></a>00138 <span class="comment"></span>
|
161
|
-
<a name="l00139"></a>00139 <span class="comment">/**</span>
|
162
|
-
<a name="l00140"></a>00140 <span class="comment"> * Unable to retrieve the system time using <tt>time()</tt>.</span>
|
163
|
-
<a name="l00141"></a>00141 <span class="comment"> *</span>
|
164
|
-
<a name="l00142"></a>00142 <span class="comment"> * @ingroup Exceptions</span>
|
165
|
-
<a name="l00143"></a>00143 <span class="comment"> */</span>
|
166
|
-
<a name="l00144"></a><a class="code" href="classPassenger_1_1TimeRetrievalException.html">00144</a> <span class="keyword">class </span><a class="code" href="classPassenger_1_1TimeRetrievalException.html" title="Unable to retrieve the system time using time().">TimeRetrievalException</a>: <span class="keyword">public</span> <a class="code" href="classPassenger_1_1SystemException.html" title="Represents an error returned by a system call or a standard library call.">SystemException</a> {
|
167
|
-
<a name="l00145"></a>00145 <span class="keyword">public</span>:
|
168
|
-
<a name="l00146"></a>00146 <a class="code" href="classPassenger_1_1TimeRetrievalException.html" title="Unable to retrieve the system time using time().">TimeRetrievalException</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &message, <span class="keywordtype">int</span> errorCode)
|
169
|
-
<a name="l00147"></a>00147 : <a class="code" href="classPassenger_1_1SystemException.html#1f0f33c63934ee40c5cd9c338c8aa04b" title="Create a new SystemException.">SystemException</a>(message, errorCode)
|
170
|
-
<a name="l00148"></a>00148 {}
|
171
|
-
<a name="l00149"></a>00149 <span class="keyword">virtual</span> ~<a class="code" href="classPassenger_1_1TimeRetrievalException.html" title="Unable to retrieve the system time using time().">TimeRetrievalException</a>() <span class="keywordflow">throw</span>() {}
|
172
|
-
<a name="l00150"></a>00150 };
|
173
|
-
<a name="l00151"></a>00151 <span class="comment"></span>
|
174
|
-
<a name="l00152"></a>00152 <span class="comment">/**</span>
|
175
|
-
<a name="l00153"></a>00153 <span class="comment"> * Represents an error that occured during an I/O operation.</span>
|
176
|
-
<a name="l00154"></a>00154 <span class="comment"> *</span>
|
177
|
-
<a name="l00155"></a>00155 <span class="comment"> * @ingroup Exceptions</span>
|
178
|
-
<a name="l00156"></a>00156 <span class="comment"> */</span>
|
179
|
-
<a name="l00157"></a><a class="code" href="classPassenger_1_1IOException.html">00157</a> <span class="keyword">class </span><a class="code" href="classPassenger_1_1IOException.html" title="Represents an error that occured during an I/O operation.">IOException</a>: <span class="keyword">public</span> oxt::tracable_exception {
|
180
|
-
<a name="l00158"></a>00158 <span class="keyword">private</span>:
|
181
|
-
<a name="l00159"></a>00159 <span class="keywordtype">string</span> msg;
|
182
|
-
<a name="l00160"></a>00160 <span class="keyword">public</span>:
|
183
|
-
<a name="l00161"></a>00161 <a class="code" href="classPassenger_1_1IOException.html" title="Represents an error that occured during an I/O operation.">IOException</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &message): msg(message) {}
|
184
|
-
<a name="l00162"></a>00162 <span class="keyword">virtual</span> ~<a class="code" href="classPassenger_1_1IOException.html" title="Represents an error that occured during an I/O operation.">IOException</a>() <span class="keywordflow">throw</span>() {}
|
185
|
-
<a name="l00163"></a>00163 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *what() <span class="keyword">const</span> <span class="keywordflow">throw</span>() { <span class="keywordflow">return</span> msg.c_str(); }
|
186
|
-
<a name="l00164"></a>00164 };
|
187
|
-
<a name="l00165"></a>00165 <span class="comment"></span>
|
188
|
-
<a name="l00166"></a>00166 <span class="comment">/**</span>
|
189
|
-
<a name="l00167"></a>00167 <span class="comment"> * Thrown when a certain file cannot be found.</span>
|
190
|
-
<a name="l00168"></a>00168 <span class="comment"> */</span>
|
191
|
-
<a name="l00169"></a><a class="code" href="classPassenger_1_1FileNotFoundException.html">00169</a> <span class="keyword">class </span><a class="code" href="classPassenger_1_1FileNotFoundException.html" title="Thrown when a certain file cannot be found.">FileNotFoundException</a>: <span class="keyword">public</span> <a class="code" href="classPassenger_1_1IOException.html" title="Represents an error that occured during an I/O operation.">IOException</a> {
|
192
|
-
<a name="l00170"></a>00170 <span class="keyword">public</span>:
|
193
|
-
<a name="l00171"></a>00171 <a class="code" href="classPassenger_1_1FileNotFoundException.html" title="Thrown when a certain file cannot be found.">FileNotFoundException</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &message): <a class="code" href="classPassenger_1_1IOException.html" title="Represents an error that occured during an I/O operation.">IOException</a>(message) {}
|
194
|
-
<a name="l00172"></a>00172 <span class="keyword">virtual</span> ~<a class="code" href="classPassenger_1_1FileNotFoundException.html" title="Thrown when a certain file cannot be found.">FileNotFoundException</a>() <span class="keywordflow">throw</span>() {}
|
195
|
-
<a name="l00173"></a>00173 };
|
196
|
-
<a name="l00174"></a>00174 <span class="comment"></span>
|
197
|
-
<a name="l00175"></a>00175 <span class="comment">/**</span>
|
198
|
-
<a name="l00176"></a>00176 <span class="comment"> * An unexpected end-of-file I/O error.</span>
|
199
|
-
<a name="l00177"></a>00177 <span class="comment"> *</span>
|
200
|
-
<a name="l00178"></a>00178 <span class="comment"> * @ingroup Exceptions</span>
|
201
|
-
<a name="l00179"></a>00179 <span class="comment"> */</span>
|
202
|
-
<a name="l00180"></a><a class="code" href="classPassenger_1_1EOFException.html">00180</a> <span class="keyword">class </span><a class="code" href="classPassenger_1_1EOFException.html" title="An unexpected end-of-file I/O error.">EOFException</a>: <span class="keyword">public</span> <a class="code" href="classPassenger_1_1IOException.html" title="Represents an error that occured during an I/O operation.">IOException</a> {
|
203
|
-
<a name="l00181"></a>00181 <span class="keyword">public</span>:
|
204
|
-
<a name="l00182"></a>00182 <a class="code" href="classPassenger_1_1EOFException.html" title="An unexpected end-of-file I/O error.">EOFException</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &message): <a class="code" href="classPassenger_1_1IOException.html" title="Represents an error that occured during an I/O operation.">IOException</a>(message) {}
|
205
|
-
<a name="l00183"></a>00183 <span class="keyword">virtual</span> ~<a class="code" href="classPassenger_1_1EOFException.html" title="An unexpected end-of-file I/O error.">EOFException</a>() <span class="keywordflow">throw</span>() {}
|
206
|
-
<a name="l00184"></a>00184 };
|
207
|
-
<a name="l00185"></a>00185 <span class="comment"></span>
|
208
|
-
<a name="l00186"></a>00186 <span class="comment">/**</span>
|
209
|
-
<a name="l00187"></a>00187 <span class="comment"> * Thrown when an invalid configuration is given.</span>
|
210
|
-
<a name="l00188"></a>00188 <span class="comment"> */</span>
|
211
|
-
<a name="l00189"></a><a class="code" href="classPassenger_1_1ConfigurationException.html">00189</a> <span class="keyword">class </span><a class="code" href="classPassenger_1_1ConfigurationException.html" title="Thrown when an invalid configuration is given.">ConfigurationException</a>: <span class="keyword">public</span> oxt::tracable_exception {
|
212
|
-
<a name="l00190"></a>00190 <span class="keyword">private</span>:
|
213
|
-
<a name="l00191"></a>00191 <span class="keywordtype">string</span> msg;
|
214
|
-
<a name="l00192"></a>00192 <span class="keyword">public</span>:
|
215
|
-
<a name="l00193"></a>00193 <a class="code" href="classPassenger_1_1ConfigurationException.html" title="Thrown when an invalid configuration is given.">ConfigurationException</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &message): msg(message) {}
|
216
|
-
<a name="l00194"></a>00194 <span class="keyword">virtual</span> ~<a class="code" href="classPassenger_1_1ConfigurationException.html" title="Thrown when an invalid configuration is given.">ConfigurationException</a>() <span class="keywordflow">throw</span>() {}
|
217
|
-
<a name="l00195"></a>00195 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *what() <span class="keyword">const</span> <span class="keywordflow">throw</span>() { <span class="keywordflow">return</span> msg.c_str(); }
|
218
|
-
<a name="l00196"></a>00196 };
|
219
|
-
<a name="l00197"></a>00197 <span class="comment"></span>
|
220
|
-
<a name="l00198"></a>00198 <span class="comment">/**</span>
|
221
|
-
<a name="l00199"></a>00199 <span class="comment"> * Thrown when SpawnManager or ApplicationPool fails to spawn an application</span>
|
222
|
-
<a name="l00200"></a>00200 <span class="comment"> * instance. The exception may contain an error page, which is a user-friendly</span>
|
223
|
-
<a name="l00201"></a>00201 <span class="comment"> * HTML page with details about the error.</span>
|
224
|
-
<a name="l00202"></a>00202 <span class="comment"> */</span>
|
225
|
-
<a name="l00203"></a><a class="code" href="classPassenger_1_1SpawnException.html">00203</a> <span class="keyword">class </span><a class="code" href="classPassenger_1_1SpawnException.html" title="Thrown when SpawnManager or ApplicationPool fails to spawn an application instance...">SpawnException</a>: <span class="keyword">public</span> oxt::tracable_exception {
|
226
|
-
<a name="l00204"></a>00204 <span class="keyword">private</span>:
|
227
|
-
<a name="l00205"></a>00205 <span class="keywordtype">string</span> msg;
|
228
|
-
<a name="l00206"></a>00206 <span class="keywordtype">bool</span> m_hasErrorPage;
|
229
|
-
<a name="l00207"></a>00207 <span class="keywordtype">string</span> m_errorPage;
|
230
|
-
<a name="l00208"></a>00208 <span class="keyword">public</span>:
|
231
|
-
<a name="l00209"></a>00209 <a class="code" href="classPassenger_1_1SpawnException.html" title="Thrown when SpawnManager or ApplicationPool fails to spawn an application instance...">SpawnException</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &message)
|
232
|
-
<a name="l00210"></a>00210 : msg(message) {
|
233
|
-
<a name="l00211"></a>00211 m_hasErrorPage = <span class="keyword">false</span>;
|
234
|
-
<a name="l00212"></a>00212 }
|
235
|
-
<a name="l00213"></a>00213
|
236
|
-
<a name="l00214"></a>00214 <a class="code" href="classPassenger_1_1SpawnException.html" title="Thrown when SpawnManager or ApplicationPool fails to spawn an application instance...">SpawnException</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &message, <span class="keyword">const</span> <span class="keywordtype">string</span> &errorPage)
|
237
|
-
<a name="l00215"></a>00215 : msg(message), m_errorPage(errorPage) {
|
238
|
-
<a name="l00216"></a>00216 m_hasErrorPage = <span class="keyword">true</span>;
|
239
|
-
<a name="l00217"></a>00217 }
|
240
|
-
<a name="l00218"></a>00218
|
241
|
-
<a name="l00219"></a>00219 <span class="keyword">virtual</span> ~<a class="code" href="classPassenger_1_1SpawnException.html" title="Thrown when SpawnManager or ApplicationPool fails to spawn an application instance...">SpawnException</a>() <span class="keywordflow">throw</span>() {}
|
242
|
-
<a name="l00220"></a>00220 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *what() <span class="keyword">const</span> <span class="keywordflow">throw</span>() { <span class="keywordflow">return</span> msg.c_str(); }
|
243
|
-
<a name="l00221"></a>00221 <span class="comment"></span>
|
244
|
-
<a name="l00222"></a>00222 <span class="comment"> /**</span>
|
245
|
-
<a name="l00223"></a>00223 <span class="comment"> * Check whether an error page is available.</span>
|
246
|
-
<a name="l00224"></a>00224 <span class="comment"> */</span>
|
247
|
-
<a name="l00225"></a><a class="code" href="classPassenger_1_1SpawnException.html#e65dc272e183fd9e5637a4091cc6bbf4">00225</a> <span class="keywordtype">bool</span> <a class="code" href="classPassenger_1_1SpawnException.html#e65dc272e183fd9e5637a4091cc6bbf4" title="Check whether an error page is available.">hasErrorPage</a>()<span class="keyword"> const </span>{
|
248
|
-
<a name="l00226"></a>00226 <span class="keywordflow">return</span> m_hasErrorPage;
|
249
|
-
<a name="l00227"></a>00227 }
|
250
|
-
<a name="l00228"></a>00228 <span class="comment"></span>
|
251
|
-
<a name="l00229"></a>00229 <span class="comment"> /**</span>
|
252
|
-
<a name="l00230"></a>00230 <span class="comment"> * Return the error page content.</span>
|
253
|
-
<a name="l00231"></a>00231 <span class="comment"> *</span>
|
254
|
-
<a name="l00232"></a>00232 <span class="comment"> * @pre hasErrorPage()</span>
|
255
|
-
<a name="l00233"></a>00233 <span class="comment"> */</span>
|
256
|
-
<a name="l00234"></a><a class="code" href="classPassenger_1_1SpawnException.html#6f675a37edd7070875d0744e7dd010a1">00234</a> <span class="keyword">const</span> <span class="keywordtype">string</span> <a class="code" href="classPassenger_1_1SpawnException.html#6f675a37edd7070875d0744e7dd010a1" title="Return the error page content.">getErrorPage</a>()<span class="keyword"> const </span>{
|
257
|
-
<a name="l00235"></a>00235 <span class="keywordflow">return</span> m_errorPage;
|
258
|
-
<a name="l00236"></a>00236 }
|
259
|
-
<a name="l00237"></a>00237 };
|
260
|
-
<a name="l00238"></a>00238 <span class="comment"></span>
|
261
|
-
<a name="l00239"></a>00239 <span class="comment">/**</span>
|
262
|
-
<a name="l00240"></a>00240 <span class="comment"> * Indicates that a specified argument is incorrect or violates a requirement.</span>
|
263
|
-
<a name="l00241"></a>00241 <span class="comment"> *</span>
|
264
|
-
<a name="l00242"></a>00242 <span class="comment"> * @ingroup Exceptions</span>
|
265
|
-
<a name="l00243"></a>00243 <span class="comment"> */</span>
|
266
|
-
<a name="l00244"></a><a class="code" href="classPassenger_1_1ArgumentException.html">00244</a> <span class="keyword">class </span><a class="code" href="classPassenger_1_1ArgumentException.html" title="Indicates that a specified argument is incorrect or violates a requirement.">ArgumentException</a>: <span class="keyword">public</span> oxt::tracable_exception {
|
267
|
-
<a name="l00245"></a>00245 <span class="keyword">private</span>:
|
268
|
-
<a name="l00246"></a>00246 <span class="keywordtype">string</span> msg;
|
269
|
-
<a name="l00247"></a>00247 <span class="keyword">public</span>:
|
270
|
-
<a name="l00248"></a>00248 <a class="code" href="classPassenger_1_1ArgumentException.html" title="Indicates that a specified argument is incorrect or violates a requirement.">ArgumentException</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &message): msg(message) {}
|
271
|
-
<a name="l00249"></a>00249 <span class="keyword">virtual</span> ~<a class="code" href="classPassenger_1_1ArgumentException.html" title="Indicates that a specified argument is incorrect or violates a requirement.">ArgumentException</a>() <span class="keywordflow">throw</span>() {}
|
272
|
-
<a name="l00250"></a>00250 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *what() <span class="keyword">const</span> <span class="keywordflow">throw</span>() { <span class="keywordflow">return</span> msg.c_str(); }
|
273
|
-
<a name="l00251"></a>00251 };
|
274
|
-
<a name="l00252"></a>00252
|
275
|
-
<a name="l00253"></a>00253 <span class="comment">/*</span>
|
276
|
-
<a name="l00254"></a>00254 <span class="comment"> * @ingroup Exceptions</span>
|
277
|
-
<a name="l00255"></a>00255 <span class="comment"> */</span>
|
278
|
-
<a name="l00256"></a>00256 <span class="keyword">class </span>InvalidModeStringException: <span class="keyword">public</span> <a class="code" href="classPassenger_1_1ArgumentException.html" title="Indicates that a specified argument is incorrect or violates a requirement.">ArgumentException</a> {
|
279
|
-
<a name="l00257"></a>00257 <span class="keyword">public</span>:
|
280
|
-
<a name="l00258"></a>00258 InvalidModeStringException(<span class="keyword">const</span> <span class="keywordtype">string</span> &message): <a class="code" href="classPassenger_1_1ArgumentException.html" title="Indicates that a specified argument is incorrect or violates a requirement.">ArgumentException</a>(message) {}
|
281
|
-
<a name="l00259"></a>00259 };
|
282
|
-
<a name="l00260"></a>00260 <span class="comment"></span>
|
283
|
-
<a name="l00261"></a>00261 <span class="comment">/**</span>
|
284
|
-
<a name="l00262"></a>00262 <span class="comment"> * A generic runtime exception.</span>
|
285
|
-
<a name="l00263"></a>00263 <span class="comment"> *</span>
|
286
|
-
<a name="l00264"></a>00264 <span class="comment"> * @ingroup Exceptions</span>
|
287
|
-
<a name="l00265"></a>00265 <span class="comment"> */</span>
|
288
|
-
<a name="l00266"></a><a class="code" href="classPassenger_1_1RuntimeException.html">00266</a> <span class="keyword">class </span><a class="code" href="classPassenger_1_1RuntimeException.html" title="A generic runtime exception.">RuntimeException</a>: <span class="keyword">public</span> oxt::tracable_exception {
|
289
|
-
<a name="l00267"></a>00267 <span class="keyword">private</span>:
|
290
|
-
<a name="l00268"></a>00268 <span class="keywordtype">string</span> msg;
|
291
|
-
<a name="l00269"></a>00269 <span class="keyword">public</span>:
|
292
|
-
<a name="l00270"></a>00270 <a class="code" href="classPassenger_1_1RuntimeException.html" title="A generic runtime exception.">RuntimeException</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &message): msg(message) {}
|
293
|
-
<a name="l00271"></a>00271 <span class="keyword">virtual</span> ~<a class="code" href="classPassenger_1_1RuntimeException.html" title="A generic runtime exception.">RuntimeException</a>() <span class="keywordflow">throw</span>() {}
|
294
|
-
<a name="l00272"></a>00272 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *what() <span class="keyword">const</span> <span class="keywordflow">throw</span>() { <span class="keywordflow">return</span> msg.c_str(); }
|
295
|
-
<a name="l00273"></a>00273 };
|
296
|
-
<a name="l00274"></a>00274 <span class="comment"></span>
|
297
|
-
<a name="l00275"></a>00275 <span class="comment">/**</span>
|
298
|
-
<a name="l00276"></a>00276 <span class="comment"> * An exception indicating that some timeout expired.</span>
|
299
|
-
<a name="l00277"></a>00277 <span class="comment"> *</span>
|
300
|
-
<a name="l00278"></a>00278 <span class="comment"> * @ingroup Exceptions</span>
|
301
|
-
<a name="l00279"></a>00279 <span class="comment"> */</span>
|
302
|
-
<a name="l00280"></a><a class="code" href="classPassenger_1_1TimeoutException.html">00280</a> <span class="keyword">class </span><a class="code" href="classPassenger_1_1TimeoutException.html" title="An exception indicating that some timeout expired.">TimeoutException</a>: <span class="keyword">public</span> oxt::tracable_exception {
|
303
|
-
<a name="l00281"></a>00281 <span class="keyword">private</span>:
|
304
|
-
<a name="l00282"></a>00282 <span class="keywordtype">string</span> msg;
|
305
|
-
<a name="l00283"></a>00283 <span class="keyword">public</span>:
|
306
|
-
<a name="l00284"></a>00284 <a class="code" href="classPassenger_1_1TimeoutException.html" title="An exception indicating that some timeout expired.">TimeoutException</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &message): msg(message) {}
|
307
|
-
<a name="l00285"></a>00285 <span class="keyword">virtual</span> ~<a class="code" href="classPassenger_1_1TimeoutException.html" title="An exception indicating that some timeout expired.">TimeoutException</a>() <span class="keywordflow">throw</span>() {}
|
308
|
-
<a name="l00286"></a>00286 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *what() <span class="keyword">const</span> <span class="keywordflow">throw</span>() { <span class="keywordflow">return</span> msg.c_str(); }
|
309
|
-
<a name="l00287"></a>00287 };
|
310
|
-
<a name="l00288"></a>00288 <span class="comment"></span>
|
311
|
-
<a name="l00289"></a>00289 <span class="comment">/**</span>
|
312
|
-
<a name="l00290"></a>00290 <span class="comment"> * Represents some kind of security error.</span>
|
313
|
-
<a name="l00291"></a>00291 <span class="comment"> *</span>
|
314
|
-
<a name="l00292"></a>00292 <span class="comment"> * @ingroup Exceptions</span>
|
315
|
-
<a name="l00293"></a>00293 <span class="comment"> */</span>
|
316
|
-
<a name="l00294"></a><a class="code" href="classPassenger_1_1SecurityException.html">00294</a> <span class="keyword">class </span><a class="code" href="classPassenger_1_1SecurityException.html" title="Represents some kind of security error.">SecurityException</a>: <span class="keyword">public</span> oxt::tracable_exception {
|
317
|
-
<a name="l00295"></a>00295 <span class="keyword">private</span>:
|
318
|
-
<a name="l00296"></a>00296 <span class="keywordtype">string</span> msg;
|
319
|
-
<a name="l00297"></a>00297 <span class="keyword">public</span>:
|
320
|
-
<a name="l00298"></a>00298 <a class="code" href="classPassenger_1_1SecurityException.html" title="Represents some kind of security error.">SecurityException</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &message): msg(message) {}
|
321
|
-
<a name="l00299"></a>00299 <span class="keyword">virtual</span> ~<a class="code" href="classPassenger_1_1SecurityException.html" title="Represents some kind of security error.">SecurityException</a>() <span class="keywordflow">throw</span>() {}
|
322
|
-
<a name="l00300"></a>00300 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *what() <span class="keyword">const</span> <span class="keywordflow">throw</span>() { <span class="keywordflow">return</span> msg.c_str(); }
|
323
|
-
<a name="l00301"></a>00301 };
|
324
|
-
<a name="l00302"></a>00302 <span class="comment"></span>
|
325
|
-
<a name="l00303"></a>00303 <span class="comment">/**</span>
|
326
|
-
<a name="l00304"></a>00304 <span class="comment"> * @ingroup Exceptions</span>
|
327
|
-
<a name="l00305"></a>00305 <span class="comment"> */</span>
|
328
|
-
<a name="l00306"></a>00306 <span class="keyword">class </span>NonExistentUserException: <span class="keyword">public</span> <a class="code" href="classPassenger_1_1SecurityException.html" title="Represents some kind of security error.">SecurityException</a> {
|
329
|
-
<a name="l00307"></a>00307 <span class="keyword">public</span>:
|
330
|
-
<a name="l00308"></a>00308 NonExistentUserException(<span class="keyword">const</span> <span class="keywordtype">string</span> &message): <a class="code" href="classPassenger_1_1SecurityException.html" title="Represents some kind of security error.">SecurityException</a>(message) {}
|
331
|
-
<a name="l00309"></a>00309 };
|
332
|
-
<a name="l00310"></a>00310 <span class="comment"></span>
|
333
|
-
<a name="l00311"></a>00311 <span class="comment">/**</span>
|
334
|
-
<a name="l00312"></a>00312 <span class="comment"> * @ingroup Exceptions</span>
|
335
|
-
<a name="l00313"></a>00313 <span class="comment"> */</span>
|
336
|
-
<a name="l00314"></a>00314 <span class="keyword">class </span>NonExistentGroupException: <span class="keyword">public</span> SecurityException {
|
337
|
-
<a name="l00315"></a>00315 <span class="keyword">public</span>:
|
338
|
-
<a name="l00316"></a>00316 NonExistentGroupException(<span class="keyword">const</span> <span class="keywordtype">string</span> &message): SecurityException(message) {}
|
339
|
-
<a name="l00317"></a>00317 };
|
340
|
-
<a name="l00318"></a>00318 <span class="comment"></span>
|
341
|
-
<a name="l00319"></a>00319 <span class="comment">/**</span>
|
342
|
-
<a name="l00320"></a>00320 <span class="comment"> * The application pool is too busy and cannot fulfill a get() request.</span>
|
343
|
-
<a name="l00321"></a>00321 <span class="comment"> *</span>
|
344
|
-
<a name="l00322"></a>00322 <span class="comment"> * @ingroup Exceptions</span>
|
345
|
-
<a name="l00323"></a>00323 <span class="comment"> */</span>
|
346
|
-
<a name="l00324"></a><a class="code" href="classPassenger_1_1BusyException.html">00324</a> <span class="keyword">class </span><a class="code" href="classPassenger_1_1BusyException.html" title="The application pool is too busy and cannot fulfill a get() request.">BusyException</a>: <span class="keyword">public</span> oxt::tracable_exception {
|
347
|
-
<a name="l00325"></a>00325 <span class="keyword">private</span>:
|
348
|
-
<a name="l00326"></a>00326 <span class="keywordtype">string</span> msg;
|
349
|
-
<a name="l00327"></a>00327 <span class="keyword">public</span>:
|
350
|
-
<a name="l00328"></a>00328 <a class="code" href="classPassenger_1_1BusyException.html" title="The application pool is too busy and cannot fulfill a get() request.">BusyException</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> &message): msg(message) {}
|
351
|
-
<a name="l00329"></a>00329 <span class="keyword">virtual</span> ~<a class="code" href="classPassenger_1_1BusyException.html" title="The application pool is too busy and cannot fulfill a get() request.">BusyException</a>() <span class="keywordflow">throw</span>() {}
|
352
|
-
<a name="l00330"></a>00330 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *what() <span class="keyword">const</span> <span class="keywordflow">throw</span>() { <span class="keywordflow">return</span> msg.c_str(); }
|
353
|
-
<a name="l00331"></a>00331 };
|
354
|
-
<a name="l00332"></a>00332
|
355
|
-
<a name="l00333"></a>00333 } <span class="comment">// namespace Passenger</span>
|
356
|
-
<a name="l00334"></a>00334
|
357
|
-
<a name="l00335"></a>00335 <span class="preprocessor">#endif </span><span class="comment">/* _PASSENGER_EXCEPTIONS_H_ */</span>
|
358
|
-
</pre></div></div>
|
359
|
-
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Mar 28 14:11:56 2010 for Passenger by
|
360
|
-
<a href="http://www.doxygen.org/index.html">
|
361
|
-
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
|
362
|
-
</body>
|
363
|
-
</html>
|