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,265 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
-
<!DOCTYPE html
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
-
<html>
|
6
|
-
<head>
|
7
|
-
<title>Class: PhusionPassenger::Utils::RewindableInput</title>
|
8
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
9
|
-
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
10
|
-
|
11
|
-
<script language="JavaScript" type="text/javascript">
|
12
|
-
// <![CDATA[
|
13
|
-
|
14
|
-
function toggleSource( id )
|
15
|
-
{
|
16
|
-
var elem
|
17
|
-
var link
|
18
|
-
|
19
|
-
if( document.getElementById )
|
20
|
-
{
|
21
|
-
elem = document.getElementById( id )
|
22
|
-
link = document.getElementById( "l_" + id )
|
23
|
-
}
|
24
|
-
else if ( document.all )
|
25
|
-
{
|
26
|
-
elem = eval( "document.all." + id )
|
27
|
-
link = eval( "document.all.l_" + id )
|
28
|
-
}
|
29
|
-
else
|
30
|
-
return false;
|
31
|
-
|
32
|
-
if( elem.style.display == "block" )
|
33
|
-
{
|
34
|
-
elem.style.display = "none"
|
35
|
-
link.innerHTML = "show source"
|
36
|
-
}
|
37
|
-
else
|
38
|
-
{
|
39
|
-
elem.style.display = "block"
|
40
|
-
link.innerHTML = "hide source"
|
41
|
-
}
|
42
|
-
}
|
43
|
-
|
44
|
-
function openCode( url )
|
45
|
-
{
|
46
|
-
window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
|
47
|
-
}
|
48
|
-
// ]]>
|
49
|
-
</script>
|
50
|
-
</head>
|
51
|
-
|
52
|
-
<body>
|
53
|
-
<table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
|
54
|
-
<td class="file-title"><span class="file-title-prefix">Class</span><br />PhusionPassenger::Utils::RewindableInput</td>
|
55
|
-
<td align="right">
|
56
|
-
<table cellspacing="0" cellpadding="2">
|
57
|
-
<tr valign="top">
|
58
|
-
<td>In:</td>
|
59
|
-
<td>
|
60
|
-
<a href="../../../files/lib/phusion_passenger/utils/rewindable_input_rb.html">lib/phusion_passenger/utils/rewindable_input.rb</a>
|
61
|
-
</td>
|
62
|
-
</tr>
|
63
|
-
<tr>
|
64
|
-
<td>Parent:</td>
|
65
|
-
<td>
|
66
|
-
Object
|
67
|
-
</td>
|
68
|
-
</tr>
|
69
|
-
</table>
|
70
|
-
</td>
|
71
|
-
</tr>
|
72
|
-
</table>
|
73
|
-
<!-- banner header -->
|
74
|
-
|
75
|
-
<div id="bodyContent">
|
76
|
-
<div id="content">
|
77
|
-
|
78
|
-
<div class="description"><p>
|
79
|
-
Class which can make any <a href="../../IO.html">IO</a> object rewindable,
|
80
|
-
including non-rewindable ones. It does this by buffering the data into a
|
81
|
-
tempfile, which is rewindable.
|
82
|
-
</p>
|
83
|
-
<p>
|
84
|
-
rack.input is required to be rewindable, so if your input stream <a
|
85
|
-
href="../../IO.html">IO</a> is non-rewindable by nature (e.g. a pipe or a
|
86
|
-
socket) then you can wrap it in an object of this class to easily make it
|
87
|
-
rewindable.
|
88
|
-
</p>
|
89
|
-
<p>
|
90
|
-
Don‘t forget to call <a
|
91
|
-
href="RewindableInput.html#M000240">#close</a> when you‘re done. This
|
92
|
-
frees up temporary resources that <a
|
93
|
-
href="RewindableInput.html">RewindableInput</a> uses, though it does
|
94
|
-
<b>not</b> <a href="RewindableInput.html#M000240">close</a> the original <a
|
95
|
-
href="../../IO.html">IO</a> object.
|
96
|
-
</p>
|
97
|
-
</div>
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
<div class="sectiontitle">Methods</div>
|
102
|
-
<ul>
|
103
|
-
<li><a href="#M000240">close</a></li>
|
104
|
-
<li><a href="#M000237">each</a></li>
|
105
|
-
<li><a href="#M000235">gets</a></li>
|
106
|
-
<li><a href="#M000234">new</a></li>
|
107
|
-
<li><a href="#M000236">read</a></li>
|
108
|
-
<li><a href="#M000238">rewind</a></li>
|
109
|
-
<li><a href="#M000239">size</a></li>
|
110
|
-
</ul>
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
<div class="sectiontitle">Classes and Modules</div>
|
115
|
-
Class <a href="RewindableInput/Tempfile.html" class="link">PhusionPassenger::Utils::RewindableInput::Tempfile</a><br />
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
<div class="sectiontitle">Public Class methods</div>
|
121
|
-
<div class="method">
|
122
|
-
<div class="title">
|
123
|
-
<a name="M000234"></a><b>new</b>(io)
|
124
|
-
</div>
|
125
|
-
<div class="sourcecode">
|
126
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000234_source')" id="l_M000234_source">show source</a> ]</p>
|
127
|
-
<div id="M000234_source" class="dyn-source">
|
128
|
-
<pre>
|
129
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/rewindable_input.rb, line 18</span>
|
130
|
-
18: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">io</span>)
|
131
|
-
19: <span class="ruby-ivar">@io</span> = <span class="ruby-identifier">io</span>
|
132
|
-
20: <span class="ruby-ivar">@rewindable_io</span> = <span class="ruby-keyword kw">nil</span>
|
133
|
-
21: <span class="ruby-ivar">@unlinked</span> = <span class="ruby-keyword kw">false</span>
|
134
|
-
22: <span class="ruby-keyword kw">end</span>
|
135
|
-
</pre>
|
136
|
-
</div>
|
137
|
-
</div>
|
138
|
-
</div>
|
139
|
-
<div class="sectiontitle">Public Instance methods</div>
|
140
|
-
<div class="method">
|
141
|
-
<div class="title">
|
142
|
-
<a name="M000240"></a><b>close</b>()
|
143
|
-
</div>
|
144
|
-
<div class="description">
|
145
|
-
<p>
|
146
|
-
Closes this <a href="RewindableInput.html">RewindableInput</a> object
|
147
|
-
without closing the originally wrapped <a href="../../IO.html">IO</a>
|
148
|
-
oject. Cleans up any temporary resources that this <a
|
149
|
-
href="RewindableInput.html">RewindableInput</a> has created.
|
150
|
-
</p>
|
151
|
-
<p>
|
152
|
-
This method may be called multiple times. It does nothing on subsequent
|
153
|
-
calls.
|
154
|
-
</p>
|
155
|
-
</div>
|
156
|
-
<div class="sourcecode">
|
157
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000240_source')" id="l_M000240_source">show source</a> ]</p>
|
158
|
-
<div id="M000240_source" class="dyn-source">
|
159
|
-
<pre>
|
160
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/rewindable_input.rb, line 54</span>
|
161
|
-
54: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
|
162
|
-
55: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@rewindable_io</span>
|
163
|
-
56: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@unlinked</span>
|
164
|
-
57: <span class="ruby-ivar">@rewindable_io</span>.<span class="ruby-identifier">close</span>
|
165
|
-
58: <span class="ruby-keyword kw">else</span>
|
166
|
-
59: <span class="ruby-ivar">@rewindable_io</span>.<span class="ruby-identifier">close!</span>
|
167
|
-
60: <span class="ruby-keyword kw">end</span>
|
168
|
-
61: <span class="ruby-ivar">@rewindable_io</span> = <span class="ruby-keyword kw">nil</span>
|
169
|
-
62: <span class="ruby-keyword kw">end</span>
|
170
|
-
63: <span class="ruby-keyword kw">end</span>
|
171
|
-
</pre>
|
172
|
-
</div>
|
173
|
-
</div>
|
174
|
-
</div>
|
175
|
-
<div class="method">
|
176
|
-
<div class="title">
|
177
|
-
<a name="M000237"></a><b>each</b>(&block)
|
178
|
-
</div>
|
179
|
-
<div class="sourcecode">
|
180
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000237_source')" id="l_M000237_source">show source</a> ]</p>
|
181
|
-
<div id="M000237_source" class="dyn-source">
|
182
|
-
<pre>
|
183
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/rewindable_input.rb, line 34</span>
|
184
|
-
34: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
185
|
-
35: <span class="ruby-identifier">make_rewindable</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@rewindable_io</span>
|
186
|
-
36: <span class="ruby-ivar">@rewindable_io</span>.<span class="ruby-identifier">each</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
187
|
-
37: <span class="ruby-keyword kw">end</span>
|
188
|
-
</pre>
|
189
|
-
</div>
|
190
|
-
</div>
|
191
|
-
</div>
|
192
|
-
<div class="method">
|
193
|
-
<div class="title">
|
194
|
-
<a name="M000235"></a><b>gets</b>()
|
195
|
-
</div>
|
196
|
-
<div class="sourcecode">
|
197
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000235_source')" id="l_M000235_source">show source</a> ]</p>
|
198
|
-
<div id="M000235_source" class="dyn-source">
|
199
|
-
<pre>
|
200
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/rewindable_input.rb, line 24</span>
|
201
|
-
24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gets</span>
|
202
|
-
25: <span class="ruby-identifier">make_rewindable</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@rewindable_io</span>
|
203
|
-
26: <span class="ruby-ivar">@rewindable_io</span>.<span class="ruby-identifier">gets</span>
|
204
|
-
27: <span class="ruby-keyword kw">end</span>
|
205
|
-
</pre>
|
206
|
-
</div>
|
207
|
-
</div>
|
208
|
-
</div>
|
209
|
-
<div class="method">
|
210
|
-
<div class="title">
|
211
|
-
<a name="M000236"></a><b>read</b>(*args)
|
212
|
-
</div>
|
213
|
-
<div class="sourcecode">
|
214
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000236_source')" id="l_M000236_source">show source</a> ]</p>
|
215
|
-
<div id="M000236_source" class="dyn-source">
|
216
|
-
<pre>
|
217
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/rewindable_input.rb, line 29</span>
|
218
|
-
29: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
219
|
-
30: <span class="ruby-identifier">make_rewindable</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@rewindable_io</span>
|
220
|
-
31: <span class="ruby-ivar">@rewindable_io</span>.<span class="ruby-identifier">read</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
221
|
-
32: <span class="ruby-keyword kw">end</span>
|
222
|
-
</pre>
|
223
|
-
</div>
|
224
|
-
</div>
|
225
|
-
</div>
|
226
|
-
<div class="method">
|
227
|
-
<div class="title">
|
228
|
-
<a name="M000238"></a><b>rewind</b>()
|
229
|
-
</div>
|
230
|
-
<div class="sourcecode">
|
231
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000238_source')" id="l_M000238_source">show source</a> ]</p>
|
232
|
-
<div id="M000238_source" class="dyn-source">
|
233
|
-
<pre>
|
234
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/rewindable_input.rb, line 39</span>
|
235
|
-
39: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rewind</span>
|
236
|
-
40: <span class="ruby-identifier">make_rewindable</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@rewindable_io</span>
|
237
|
-
41: <span class="ruby-ivar">@rewindable_io</span>.<span class="ruby-identifier">rewind</span>
|
238
|
-
42: <span class="ruby-keyword kw">end</span>
|
239
|
-
</pre>
|
240
|
-
</div>
|
241
|
-
</div>
|
242
|
-
</div>
|
243
|
-
<div class="method">
|
244
|
-
<div class="title">
|
245
|
-
<a name="M000239"></a><b>size</b>()
|
246
|
-
</div>
|
247
|
-
<div class="sourcecode">
|
248
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000239_source')" id="l_M000239_source">show source</a> ]</p>
|
249
|
-
<div id="M000239_source" class="dyn-source">
|
250
|
-
<pre>
|
251
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/rewindable_input.rb, line 44</span>
|
252
|
-
44: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">size</span>
|
253
|
-
45: <span class="ruby-identifier">make_rewindable</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@rewindable_io</span>
|
254
|
-
46: <span class="ruby-ivar">@rewindable_io</span>.<span class="ruby-identifier">size</span>
|
255
|
-
47: <span class="ruby-keyword kw">end</span>
|
256
|
-
</pre>
|
257
|
-
</div>
|
258
|
-
</div>
|
259
|
-
</div>
|
260
|
-
</div>
|
261
|
-
|
262
|
-
</div>
|
263
|
-
|
264
|
-
</body>
|
265
|
-
</html>
|
@@ -1,120 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
-
<!DOCTYPE html
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
-
<html>
|
6
|
-
<head>
|
7
|
-
<title>Class: PhusionPassenger::Utils::RewindableInput::Tempfile</title>
|
8
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
9
|
-
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
|
10
|
-
|
11
|
-
<script language="JavaScript" type="text/javascript">
|
12
|
-
// <![CDATA[
|
13
|
-
|
14
|
-
function toggleSource( id )
|
15
|
-
{
|
16
|
-
var elem
|
17
|
-
var link
|
18
|
-
|
19
|
-
if( document.getElementById )
|
20
|
-
{
|
21
|
-
elem = document.getElementById( id )
|
22
|
-
link = document.getElementById( "l_" + id )
|
23
|
-
}
|
24
|
-
else if ( document.all )
|
25
|
-
{
|
26
|
-
elem = eval( "document.all." + id )
|
27
|
-
link = eval( "document.all.l_" + id )
|
28
|
-
}
|
29
|
-
else
|
30
|
-
return false;
|
31
|
-
|
32
|
-
if( elem.style.display == "block" )
|
33
|
-
{
|
34
|
-
elem.style.display = "none"
|
35
|
-
link.innerHTML = "show source"
|
36
|
-
}
|
37
|
-
else
|
38
|
-
{
|
39
|
-
elem.style.display = "block"
|
40
|
-
link.innerHTML = "hide source"
|
41
|
-
}
|
42
|
-
}
|
43
|
-
|
44
|
-
function openCode( url )
|
45
|
-
{
|
46
|
-
window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
|
47
|
-
}
|
48
|
-
// ]]>
|
49
|
-
</script>
|
50
|
-
</head>
|
51
|
-
|
52
|
-
<body>
|
53
|
-
<table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
|
54
|
-
<td class="file-title"><span class="file-title-prefix">Class</span><br />PhusionPassenger::Utils::RewindableInput::Tempfile</td>
|
55
|
-
<td align="right">
|
56
|
-
<table cellspacing="0" cellpadding="2">
|
57
|
-
<tr valign="top">
|
58
|
-
<td>In:</td>
|
59
|
-
<td>
|
60
|
-
<a href="../../../../files/lib/phusion_passenger/utils/rewindable_input_rb.html">lib/phusion_passenger/utils/rewindable_input.rb</a>
|
61
|
-
</td>
|
62
|
-
</tr>
|
63
|
-
<tr>
|
64
|
-
<td>Parent:</td>
|
65
|
-
<td>
|
66
|
-
::Tempfile
|
67
|
-
</td>
|
68
|
-
</tr>
|
69
|
-
</table>
|
70
|
-
</td>
|
71
|
-
</tr>
|
72
|
-
</table>
|
73
|
-
<!-- banner header -->
|
74
|
-
|
75
|
-
<div id="bodyContent">
|
76
|
-
<div id="content">
|
77
|
-
|
78
|
-
<div class="description"><p>
|
79
|
-
Many Ruby 1.8‘s tempfile libraries have a bug that can cause the
|
80
|
-
#close method to raise an exception. Subclass it and fix it.
|
81
|
-
</p>
|
82
|
-
</div>
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
<div class="sectiontitle">Methods</div>
|
87
|
-
<ul>
|
88
|
-
<li><a href="#M000241">_close</a></li>
|
89
|
-
</ul>
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
<div class="sectiontitle">Public Instance methods</div>
|
97
|
-
<div class="method">
|
98
|
-
<div class="title">
|
99
|
-
<a name="M000241"></a><b>_close</b>()
|
100
|
-
</div>
|
101
|
-
<div class="sourcecode">
|
102
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000241_source')" id="l_M000241_source">show source</a> ]</p>
|
103
|
-
<div id="M000241_source" class="dyn-source">
|
104
|
-
<pre>
|
105
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/rewindable_input.rb, line 72</span>
|
106
|
-
72: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_close</span>
|
107
|
-
73: <span class="ruby-ivar">@tmpfile</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tmpfile</span>
|
108
|
-
74: <span class="ruby-ivar">@data</span>[<span class="ruby-value">1</span>] = <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@data</span>
|
109
|
-
75: <span class="ruby-ivar">@tmpfile</span> = <span class="ruby-keyword kw">nil</span>
|
110
|
-
76: <span class="ruby-keyword kw">end</span>
|
111
|
-
</pre>
|
112
|
-
</div>
|
113
|
-
</div>
|
114
|
-
</div>
|
115
|
-
</div>
|
116
|
-
|
117
|
-
</div>
|
118
|
-
|
119
|
-
</body>
|
120
|
-
</html>
|
@@ -1,561 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
-
<!DOCTYPE html
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
-
<html>
|
6
|
-
<head>
|
7
|
-
<title>Class: PhusionPassenger::Utils::UnseekableSocket</title>
|
8
|
-
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
9
|
-
<link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
|
10
|
-
|
11
|
-
<script language="JavaScript" type="text/javascript">
|
12
|
-
// <![CDATA[
|
13
|
-
|
14
|
-
function toggleSource( id )
|
15
|
-
{
|
16
|
-
var elem
|
17
|
-
var link
|
18
|
-
|
19
|
-
if( document.getElementById )
|
20
|
-
{
|
21
|
-
elem = document.getElementById( id )
|
22
|
-
link = document.getElementById( "l_" + id )
|
23
|
-
}
|
24
|
-
else if ( document.all )
|
25
|
-
{
|
26
|
-
elem = eval( "document.all." + id )
|
27
|
-
link = eval( "document.all.l_" + id )
|
28
|
-
}
|
29
|
-
else
|
30
|
-
return false;
|
31
|
-
|
32
|
-
if( elem.style.display == "block" )
|
33
|
-
{
|
34
|
-
elem.style.display = "none"
|
35
|
-
link.innerHTML = "show source"
|
36
|
-
}
|
37
|
-
else
|
38
|
-
{
|
39
|
-
elem.style.display = "block"
|
40
|
-
link.innerHTML = "hide source"
|
41
|
-
}
|
42
|
-
}
|
43
|
-
|
44
|
-
function openCode( url )
|
45
|
-
{
|
46
|
-
window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
|
47
|
-
}
|
48
|
-
// ]]>
|
49
|
-
</script>
|
50
|
-
</head>
|
51
|
-
|
52
|
-
<body>
|
53
|
-
<table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
|
54
|
-
<td class="file-title"><span class="file-title-prefix">Class</span><br />PhusionPassenger::Utils::UnseekableSocket</td>
|
55
|
-
<td align="right">
|
56
|
-
<table cellspacing="0" cellpadding="2">
|
57
|
-
<tr valign="top">
|
58
|
-
<td>In:</td>
|
59
|
-
<td>
|
60
|
-
<a href="../../../files/lib/phusion_passenger/utils/unseekable_socket_rb.html">lib/phusion_passenger/utils/unseekable_socket.rb</a>
|
61
|
-
</td>
|
62
|
-
</tr>
|
63
|
-
<tr>
|
64
|
-
<td>Parent:</td>
|
65
|
-
<td>
|
66
|
-
Object
|
67
|
-
</td>
|
68
|
-
</tr>
|
69
|
-
</table>
|
70
|
-
</td>
|
71
|
-
</tr>
|
72
|
-
</table>
|
73
|
-
<!-- banner header -->
|
74
|
-
|
75
|
-
<div id="bodyContent">
|
76
|
-
<div id="content">
|
77
|
-
|
78
|
-
<div class="description"><p>
|
79
|
-
Some frameworks (e.g. Merb) call <em>seek</em> and <em>rewind</em> on the
|
80
|
-
input stream if it responds to these methods. In case of Phusion Passenger,
|
81
|
-
the input stream is a socket, and altough socket objects respond to
|
82
|
-
<em>seek</em> and <em>rewind</em>, calling these methods will raise an
|
83
|
-
exception. We don‘t want this to happen so in <a
|
84
|
-
href="../AbstractRequestHandler.html">AbstractRequestHandler</a> we <a
|
85
|
-
href="UnseekableSocket.html#M000247">wrap</a> the client socket into an <a
|
86
|
-
href="UnseekableSocket.html">UnseekableSocket</a> wrapper, which
|
87
|
-
doesn‘t respond to these methods.
|
88
|
-
</p>
|
89
|
-
<p>
|
90
|
-
We used to dynamically undef <em>seek</em> and <em>rewind</em> on sockets,
|
91
|
-
but this blows the Ruby interpreter‘s method cache and made things
|
92
|
-
slower. Wrapping a socket is faster despite extra method calls.
|
93
|
-
</p>
|
94
|
-
<p>
|
95
|
-
Furthermore, all exceptions originating from the wrapped socket will be
|
96
|
-
annotated. One can check whether a certain exception originates from the
|
97
|
-
wrapped socket by calling #source_of_exception?
|
98
|
-
</p>
|
99
|
-
</div>
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
<div class="sectiontitle">Methods</div>
|
104
|
-
<ul>
|
105
|
-
<li><a href="#M000253">addr</a></li>
|
106
|
-
<li><a href="#M000251">binmode</a></li>
|
107
|
-
<li><a href="#M000265">close</a></li>
|
108
|
-
<li><a href="#M000266">close_read</a></li>
|
109
|
-
<li><a href="#M000267">close_write</a></li>
|
110
|
-
<li><a href="#M000264">closed?</a></li>
|
111
|
-
<li><a href="#M000263">each</a></li>
|
112
|
-
<li><a href="#M000250">flush</a></li>
|
113
|
-
<li><a href="#M000259">gets</a></li>
|
114
|
-
<li><a href="#M000258">puts</a></li>
|
115
|
-
<li><a href="#M000260">read</a></li>
|
116
|
-
<li><a href="#M000262">readline</a></li>
|
117
|
-
<li><a href="#M000261">readpartial</a></li>
|
118
|
-
<li><a href="#M000268">source_of_exception?</a></li>
|
119
|
-
<li><a href="#M000249">sync=</a></li>
|
120
|
-
<li><a href="#M000252">to_io</a></li>
|
121
|
-
<li><a href="#M000248">wrap</a></li>
|
122
|
-
<li><a href="#M000247">wrap</a></li>
|
123
|
-
<li><a href="#M000254">write</a></li>
|
124
|
-
<li><a href="#M000255">writev</a></li>
|
125
|
-
<li><a href="#M000256">writev2</a></li>
|
126
|
-
<li><a href="#M000257">writev3</a></li>
|
127
|
-
</ul>
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
<div class="sectiontitle">Public Class methods</div>
|
135
|
-
<div class="method">
|
136
|
-
<div class="title">
|
137
|
-
<a name="M000247"></a><b>wrap</b>(socket)
|
138
|
-
</div>
|
139
|
-
<div class="sourcecode">
|
140
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000247_source')" id="l_M000247_source">show source</a> ]</p>
|
141
|
-
<div id="M000247_source" class="dyn-source">
|
142
|
-
<pre>
|
143
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 44</span>
|
144
|
-
44: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">wrap</span>(<span class="ruby-identifier">socket</span>)
|
145
|
-
45: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">new</span>.<span class="ruby-identifier">wrap</span>(<span class="ruby-identifier">socket</span>)
|
146
|
-
46: <span class="ruby-keyword kw">end</span>
|
147
|
-
</pre>
|
148
|
-
</div>
|
149
|
-
</div>
|
150
|
-
</div>
|
151
|
-
<div class="sectiontitle">Public Instance methods</div>
|
152
|
-
<div class="method">
|
153
|
-
<div class="title">
|
154
|
-
<a name="M000253"></a><b>addr</b>()
|
155
|
-
</div>
|
156
|
-
<div class="sourcecode">
|
157
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000253_source')" id="l_M000253_source">show source</a> ]</p>
|
158
|
-
<div id="M000253_source" class="dyn-source">
|
159
|
-
<pre>
|
160
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 94</span>
|
161
|
-
94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addr</span>
|
162
|
-
95: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">addr</span>
|
163
|
-
96: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
164
|
-
97: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">e</span>)
|
165
|
-
98: <span class="ruby-keyword kw">end</span>
|
166
|
-
</pre>
|
167
|
-
</div>
|
168
|
-
</div>
|
169
|
-
</div>
|
170
|
-
<div class="method">
|
171
|
-
<div class="title">
|
172
|
-
<a name="M000251"></a><b>binmode</b>()
|
173
|
-
</div>
|
174
|
-
<div class="description">
|
175
|
-
<p>
|
176
|
-
Already set to binary mode.
|
177
|
-
</p>
|
178
|
-
</div>
|
179
|
-
<div class="sourcecode">
|
180
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000251_source')" id="l_M000251_source">show source</a> ]</p>
|
181
|
-
<div id="M000251_source" class="dyn-source">
|
182
|
-
<pre>
|
183
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 87</span>
|
184
|
-
87: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">binmode</span>
|
185
|
-
88: <span class="ruby-keyword kw">end</span>
|
186
|
-
</pre>
|
187
|
-
</div>
|
188
|
-
</div>
|
189
|
-
</div>
|
190
|
-
<div class="method">
|
191
|
-
<div class="title">
|
192
|
-
<a name="M000265"></a><b>close</b>()
|
193
|
-
</div>
|
194
|
-
<div class="sourcecode">
|
195
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000265_source')" id="l_M000265_source">show source</a> ]</p>
|
196
|
-
<div id="M000265_source" class="dyn-source">
|
197
|
-
<pre>
|
198
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 166</span>
|
199
|
-
166: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
|
200
|
-
167: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">close</span>
|
201
|
-
168: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
202
|
-
169: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">e</span>)
|
203
|
-
170: <span class="ruby-keyword kw">end</span>
|
204
|
-
</pre>
|
205
|
-
</div>
|
206
|
-
</div>
|
207
|
-
</div>
|
208
|
-
<div class="method">
|
209
|
-
<div class="title">
|
210
|
-
<a name="M000266"></a><b>close_read</b>()
|
211
|
-
</div>
|
212
|
-
<div class="sourcecode">
|
213
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000266_source')" id="l_M000266_source">show source</a> ]</p>
|
214
|
-
<div id="M000266_source" class="dyn-source">
|
215
|
-
<pre>
|
216
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 172</span>
|
217
|
-
172: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close_read</span>
|
218
|
-
173: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">close_read</span>
|
219
|
-
174: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
220
|
-
175: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">e</span>)
|
221
|
-
176: <span class="ruby-keyword kw">end</span>
|
222
|
-
</pre>
|
223
|
-
</div>
|
224
|
-
</div>
|
225
|
-
</div>
|
226
|
-
<div class="method">
|
227
|
-
<div class="title">
|
228
|
-
<a name="M000267"></a><b>close_write</b>()
|
229
|
-
</div>
|
230
|
-
<div class="sourcecode">
|
231
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000267_source')" id="l_M000267_source">show source</a> ]</p>
|
232
|
-
<div id="M000267_source" class="dyn-source">
|
233
|
-
<pre>
|
234
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 178</span>
|
235
|
-
178: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close_write</span>
|
236
|
-
179: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">close_write</span>
|
237
|
-
180: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
238
|
-
181: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">e</span>)
|
239
|
-
182: <span class="ruby-keyword kw">end</span>
|
240
|
-
</pre>
|
241
|
-
</div>
|
242
|
-
</div>
|
243
|
-
</div>
|
244
|
-
<div class="method">
|
245
|
-
<div class="title">
|
246
|
-
<a name="M000264"></a><b>closed?</b>()
|
247
|
-
</div>
|
248
|
-
<div class="sourcecode">
|
249
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000264_source')" id="l_M000264_source">show source</a> ]</p>
|
250
|
-
<div id="M000264_source" class="dyn-source">
|
251
|
-
<pre>
|
252
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 160</span>
|
253
|
-
160: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">closed?</span>
|
254
|
-
161: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">closed?</span>
|
255
|
-
162: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
256
|
-
163: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">e</span>)
|
257
|
-
164: <span class="ruby-keyword kw">end</span>
|
258
|
-
</pre>
|
259
|
-
</div>
|
260
|
-
</div>
|
261
|
-
</div>
|
262
|
-
<div class="method">
|
263
|
-
<div class="title">
|
264
|
-
<a name="M000263"></a><b>each</b>(&block)
|
265
|
-
</div>
|
266
|
-
<div class="sourcecode">
|
267
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000263_source')" id="l_M000263_source">show source</a> ]</p>
|
268
|
-
<div id="M000263_source" class="dyn-source">
|
269
|
-
<pre>
|
270
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 154</span>
|
271
|
-
154: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
272
|
-
155: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">each</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
273
|
-
156: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
274
|
-
157: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">e</span>)
|
275
|
-
158: <span class="ruby-keyword kw">end</span>
|
276
|
-
</pre>
|
277
|
-
</div>
|
278
|
-
</div>
|
279
|
-
</div>
|
280
|
-
<div class="method">
|
281
|
-
<div class="title">
|
282
|
-
<a name="M000250"></a><b>flush</b>()
|
283
|
-
</div>
|
284
|
-
<div class="description">
|
285
|
-
<p>
|
286
|
-
Socket is sync‘ed so flushing shouldn‘t do anything.
|
287
|
-
</p>
|
288
|
-
</div>
|
289
|
-
<div class="sourcecode">
|
290
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000250_source')" id="l_M000250_source">show source</a> ]</p>
|
291
|
-
<div id="M000250_source" class="dyn-source">
|
292
|
-
<pre>
|
293
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 83</span>
|
294
|
-
83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">flush</span>
|
295
|
-
84: <span class="ruby-keyword kw">end</span>
|
296
|
-
</pre>
|
297
|
-
</div>
|
298
|
-
</div>
|
299
|
-
</div>
|
300
|
-
<div class="method">
|
301
|
-
<div class="title">
|
302
|
-
<a name="M000259"></a><b>gets</b>()
|
303
|
-
</div>
|
304
|
-
<div class="sourcecode">
|
305
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000259_source')" id="l_M000259_source">show source</a> ]</p>
|
306
|
-
<div id="M000259_source" class="dyn-source">
|
307
|
-
<pre>
|
308
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 130</span>
|
309
|
-
130: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gets</span>
|
310
|
-
131: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">gets</span>
|
311
|
-
132: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
312
|
-
133: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">e</span>)
|
313
|
-
134: <span class="ruby-keyword kw">end</span>
|
314
|
-
</pre>
|
315
|
-
</div>
|
316
|
-
</div>
|
317
|
-
</div>
|
318
|
-
<div class="method">
|
319
|
-
<div class="title">
|
320
|
-
<a name="M000258"></a><b>puts</b>(*args)
|
321
|
-
</div>
|
322
|
-
<div class="sourcecode">
|
323
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000258_source')" id="l_M000258_source">show source</a> ]</p>
|
324
|
-
<div id="M000258_source" class="dyn-source">
|
325
|
-
<pre>
|
326
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 124</span>
|
327
|
-
124: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">puts</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
328
|
-
125: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">puts</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
329
|
-
126: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
330
|
-
127: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">e</span>)
|
331
|
-
128: <span class="ruby-keyword kw">end</span>
|
332
|
-
</pre>
|
333
|
-
</div>
|
334
|
-
</div>
|
335
|
-
</div>
|
336
|
-
<div class="method">
|
337
|
-
<div class="title">
|
338
|
-
<a name="M000260"></a><b>read</b>(*args)
|
339
|
-
</div>
|
340
|
-
<div class="sourcecode">
|
341
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000260_source')" id="l_M000260_source">show source</a> ]</p>
|
342
|
-
<div id="M000260_source" class="dyn-source">
|
343
|
-
<pre>
|
344
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 136</span>
|
345
|
-
136: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
346
|
-
137: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">read</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
347
|
-
138: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
348
|
-
139: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">e</span>)
|
349
|
-
140: <span class="ruby-keyword kw">end</span>
|
350
|
-
</pre>
|
351
|
-
</div>
|
352
|
-
</div>
|
353
|
-
</div>
|
354
|
-
<div class="method">
|
355
|
-
<div class="title">
|
356
|
-
<a name="M000262"></a><b>readline</b>()
|
357
|
-
</div>
|
358
|
-
<div class="sourcecode">
|
359
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000262_source')" id="l_M000262_source">show source</a> ]</p>
|
360
|
-
<div id="M000262_source" class="dyn-source">
|
361
|
-
<pre>
|
362
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 148</span>
|
363
|
-
148: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">readline</span>
|
364
|
-
149: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">readline</span>
|
365
|
-
150: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
366
|
-
151: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">e</span>)
|
367
|
-
152: <span class="ruby-keyword kw">end</span>
|
368
|
-
</pre>
|
369
|
-
</div>
|
370
|
-
</div>
|
371
|
-
</div>
|
372
|
-
<div class="method">
|
373
|
-
<div class="title">
|
374
|
-
<a name="M000261"></a><b>readpartial</b>(*args)
|
375
|
-
</div>
|
376
|
-
<div class="sourcecode">
|
377
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000261_source')" id="l_M000261_source">show source</a> ]</p>
|
378
|
-
<div id="M000261_source" class="dyn-source">
|
379
|
-
<pre>
|
380
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 142</span>
|
381
|
-
142: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">readpartial</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
382
|
-
143: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">readpartial</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
383
|
-
144: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
384
|
-
145: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">e</span>)
|
385
|
-
146: <span class="ruby-keyword kw">end</span>
|
386
|
-
</pre>
|
387
|
-
</div>
|
388
|
-
</div>
|
389
|
-
</div>
|
390
|
-
<div class="method">
|
391
|
-
<div class="title">
|
392
|
-
<a name="M000268"></a><b>source_of_exception?</b>(exception)
|
393
|
-
</div>
|
394
|
-
<div class="sourcecode">
|
395
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000268_source')" id="l_M000268_source">show source</a> ]</p>
|
396
|
-
<div id="M000268_source" class="dyn-source">
|
397
|
-
<pre>
|
398
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 184</span>
|
399
|
-
184: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">source_of_exception?</span>(<span class="ruby-identifier">exception</span>)
|
400
|
-
185: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">exception</span>.<span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-value str">"@from_unseekable_socket"</span><span class="ruby-value str">"@from_unseekable_socket"</span>) <span class="ruby-operator">==</span> <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">object_id</span>
|
401
|
-
186: <span class="ruby-keyword kw">end</span>
|
402
|
-
</pre>
|
403
|
-
</div>
|
404
|
-
</div>
|
405
|
-
</div>
|
406
|
-
<div class="method">
|
407
|
-
<div class="title">
|
408
|
-
<a name="M000249"></a><b>sync=</b>(value)
|
409
|
-
</div>
|
410
|
-
<div class="description">
|
411
|
-
<p>
|
412
|
-
Don‘t allow disabling of sync.
|
413
|
-
</p>
|
414
|
-
</div>
|
415
|
-
<div class="sourcecode">
|
416
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000249_source')" id="l_M000249_source">show source</a> ]</p>
|
417
|
-
<div id="M000249_source" class="dyn-source">
|
418
|
-
<pre>
|
419
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 79</span>
|
420
|
-
79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sync=</span>(<span class="ruby-identifier">value</span>)
|
421
|
-
80: <span class="ruby-keyword kw">end</span>
|
422
|
-
</pre>
|
423
|
-
</div>
|
424
|
-
</div>
|
425
|
-
</div>
|
426
|
-
<div class="method">
|
427
|
-
<div class="title">
|
428
|
-
<a name="M000252"></a><b>to_io</b>()
|
429
|
-
</div>
|
430
|
-
<div class="sourcecode">
|
431
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000252_source')" id="l_M000252_source">show source</a> ]</p>
|
432
|
-
<div id="M000252_source" class="dyn-source">
|
433
|
-
<pre>
|
434
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 90</span>
|
435
|
-
90: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_io</span>
|
436
|
-
91: <span class="ruby-keyword kw">self</span>
|
437
|
-
92: <span class="ruby-keyword kw">end</span>
|
438
|
-
</pre>
|
439
|
-
</div>
|
440
|
-
</div>
|
441
|
-
</div>
|
442
|
-
<div class="method">
|
443
|
-
<div class="title">
|
444
|
-
<a name="M000248"></a><b>wrap</b>(socket)
|
445
|
-
</div>
|
446
|
-
<div class="sourcecode">
|
447
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000248_source')" id="l_M000248_source">show source</a> ]</p>
|
448
|
-
<div id="M000248_source" class="dyn-source">
|
449
|
-
<pre>
|
450
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 48</span>
|
451
|
-
48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">wrap</span>(<span class="ruby-identifier">socket</span>)
|
452
|
-
49: <span class="ruby-comment cmt"># Some people report that sometimes their Ruby (MRI/REE)</span>
|
453
|
-
50: <span class="ruby-comment cmt"># processes get stuck with 100% CPU usage. Upon further</span>
|
454
|
-
51: <span class="ruby-comment cmt"># inspection with strace, it turns out that these Ruby</span>
|
455
|
-
52: <span class="ruby-comment cmt"># processes are continuously calling lseek() on a socket,</span>
|
456
|
-
53: <span class="ruby-comment cmt"># which of course returns ESPIPE as error. gdb reveals</span>
|
457
|
-
54: <span class="ruby-comment cmt"># lseek() is called by fwrite(), which in turn is called</span>
|
458
|
-
55: <span class="ruby-comment cmt"># by rb_fwrite(). The affected socket is the</span>
|
459
|
-
56: <span class="ruby-comment cmt"># AbstractRequestHandler client socket.</span>
|
460
|
-
57: <span class="ruby-comment cmt">#</span>
|
461
|
-
58: <span class="ruby-comment cmt"># I inspected the MRI source code and didn't find</span>
|
462
|
-
59: <span class="ruby-comment cmt"># anything that would explain this behavior. This makes</span>
|
463
|
-
60: <span class="ruby-comment cmt"># me think that it's a glibc bug, but that's very</span>
|
464
|
-
61: <span class="ruby-comment cmt"># unlikely.</span>
|
465
|
-
62: <span class="ruby-comment cmt">#</span>
|
466
|
-
63: <span class="ruby-comment cmt"># The rb_fwrite() implementation takes an entirely</span>
|
467
|
-
64: <span class="ruby-comment cmt"># different code path if I set 'sync' to true: it will</span>
|
468
|
-
65: <span class="ruby-comment cmt"># skip fwrite() and use write() instead. So here we set</span>
|
469
|
-
66: <span class="ruby-comment cmt"># 'sync' to true in the hope that this will work around</span>
|
470
|
-
67: <span class="ruby-comment cmt"># the problem.</span>
|
471
|
-
68: <span class="ruby-identifier">socket</span>.<span class="ruby-identifier">sync</span> = <span class="ruby-keyword kw">true</span>
|
472
|
-
69:
|
473
|
-
70: <span class="ruby-comment cmt"># There's no need to set the encoding for Ruby 1.9 because</span>
|
474
|
-
71: <span class="ruby-comment cmt"># abstract_request_handler.rb is tagged with 'encoding: binary'.</span>
|
475
|
-
72:
|
476
|
-
73: <span class="ruby-ivar">@socket</span> = <span class="ruby-identifier">socket</span>
|
477
|
-
74:
|
478
|
-
75: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>
|
479
|
-
76: <span class="ruby-keyword kw">end</span>
|
480
|
-
</pre>
|
481
|
-
</div>
|
482
|
-
</div>
|
483
|
-
</div>
|
484
|
-
<div class="method">
|
485
|
-
<div class="title">
|
486
|
-
<a name="M000254"></a><b>write</b>(string)
|
487
|
-
</div>
|
488
|
-
<div class="sourcecode">
|
489
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000254_source')" id="l_M000254_source">show source</a> ]</p>
|
490
|
-
<div id="M000254_source" class="dyn-source">
|
491
|
-
<pre>
|
492
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 100</span>
|
493
|
-
100: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">string</span>)
|
494
|
-
101: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">string</span>)
|
495
|
-
102: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
496
|
-
103: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">e</span>)
|
497
|
-
104: <span class="ruby-keyword kw">end</span>
|
498
|
-
</pre>
|
499
|
-
</div>
|
500
|
-
</div>
|
501
|
-
</div>
|
502
|
-
<div class="method">
|
503
|
-
<div class="title">
|
504
|
-
<a name="M000255"></a><b>writev</b>(components)
|
505
|
-
</div>
|
506
|
-
<div class="sourcecode">
|
507
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000255_source')" id="l_M000255_source">show source</a> ]</p>
|
508
|
-
<div id="M000255_source" class="dyn-source">
|
509
|
-
<pre>
|
510
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 106</span>
|
511
|
-
106: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">writev</span>(<span class="ruby-identifier">components</span>)
|
512
|
-
107: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">writev</span>(<span class="ruby-identifier">components</span>)
|
513
|
-
108: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
514
|
-
109: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">e</span>)
|
515
|
-
110: <span class="ruby-keyword kw">end</span>
|
516
|
-
</pre>
|
517
|
-
</div>
|
518
|
-
</div>
|
519
|
-
</div>
|
520
|
-
<div class="method">
|
521
|
-
<div class="title">
|
522
|
-
<a name="M000256"></a><b>writev2</b>(components, components2)
|
523
|
-
</div>
|
524
|
-
<div class="sourcecode">
|
525
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000256_source')" id="l_M000256_source">show source</a> ]</p>
|
526
|
-
<div id="M000256_source" class="dyn-source">
|
527
|
-
<pre>
|
528
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 112</span>
|
529
|
-
112: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">writev2</span>(<span class="ruby-identifier">components</span>, <span class="ruby-identifier">components2</span>)
|
530
|
-
113: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">writev2</span>(<span class="ruby-identifier">components</span>, <span class="ruby-identifier">components2</span>)
|
531
|
-
114: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
532
|
-
115: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">e</span>)
|
533
|
-
116: <span class="ruby-keyword kw">end</span>
|
534
|
-
</pre>
|
535
|
-
</div>
|
536
|
-
</div>
|
537
|
-
</div>
|
538
|
-
<div class="method">
|
539
|
-
<div class="title">
|
540
|
-
<a name="M000257"></a><b>writev3</b>(components, components2, components3)
|
541
|
-
</div>
|
542
|
-
<div class="sourcecode">
|
543
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000257_source')" id="l_M000257_source">show source</a> ]</p>
|
544
|
-
<div id="M000257_source" class="dyn-source">
|
545
|
-
<pre>
|
546
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/unseekable_socket.rb, line 118</span>
|
547
|
-
118: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">writev3</span>(<span class="ruby-identifier">components</span>, <span class="ruby-identifier">components2</span>, <span class="ruby-identifier">components3</span>)
|
548
|
-
119: <span class="ruby-ivar">@socket</span>.<span class="ruby-identifier">writev3</span>(<span class="ruby-identifier">components</span>, <span class="ruby-identifier">components2</span>, <span class="ruby-identifier">components3</span>)
|
549
|
-
120: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
550
|
-
121: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">annotate</span>(<span class="ruby-identifier">e</span>)
|
551
|
-
122: <span class="ruby-keyword kw">end</span>
|
552
|
-
</pre>
|
553
|
-
</div>
|
554
|
-
</div>
|
555
|
-
</div>
|
556
|
-
</div>
|
557
|
-
|
558
|
-
</div>
|
559
|
-
|
560
|
-
</body>
|
561
|
-
</html>
|