passenger 2.0.6 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- data/DEVELOPERS.TXT +10 -4
- data/LICENSE +1 -1
- data/NEWS +0 -0
- data/Rakefile +183 -117
- data/benchmark/dispatcher.rb +5 -9
- data/bin/passenger-install-apache2-module +52 -18
- data/bin/passenger-memory-stats +67 -13
- data/bin/passenger-spawn-server +8 -4
- data/bin/passenger-status +21 -46
- data/bin/passenger-stress-test +5 -5
- data/debian/postinst +1 -1
- data/doc/ApplicationPool algorithm.txt +180 -128
- data/doc/Architectural overview.html +1 -778
- data/doc/Security of user switching support.html +1 -643
- data/doc/Users guide Apache.html +3127 -0
- data/doc/Users guide Nginx.html +1458 -0
- data/doc/Users guide.html +1404 -467
- data/doc/Users guide.txt +843 -105
- data/doc/cxxapi/ApplicationPoolServer_8h-source.html +751 -641
- data/doc/cxxapi/ApplicationPool_8h-source.html +168 -171
- data/doc/cxxapi/Application_8h-source.html +494 -394
- data/doc/cxxapi/Bucket_8h-source.html +21 -15
- data/doc/cxxapi/CachedFileStat_8h-source.html +191 -0
- data/doc/cxxapi/Configuration_8h-source.html +311 -149
- data/doc/cxxapi/DirectoryMapper_8h-source.html +309 -0
- data/doc/cxxapi/DummySpawnManager_8h-source.html +3 -4
- data/doc/cxxapi/Exceptions_8h-source.html +182 -165
- data/doc/cxxapi/FileChecker_8h-source.html +130 -0
- data/doc/cxxapi/Hooks_8h-source.html +2 -3
- data/doc/cxxapi/Logging_8h-source.html +92 -89
- data/doc/cxxapi/MessageChannel_8h-source.html +585 -477
- data/doc/cxxapi/PoolOptions_8h-source.html +305 -0
- data/doc/cxxapi/SpawnManager_8h-source.html +515 -540
- data/doc/cxxapi/StandardApplicationPool_8h-source.html +779 -679
- data/doc/cxxapi/SystemTime_8h-source.html +104 -0
- data/doc/cxxapi/Utils_8h-source.html +331 -227
- data/doc/cxxapi/annotated.html +6 -7
- data/doc/cxxapi/classClient-members.html +1 -2
- data/doc/cxxapi/classClient.html +1 -2
- data/doc/cxxapi/classHooks-members.html +5 -2
- data/doc/cxxapi/classHooks.html +112 -2
- data/doc/cxxapi/classPassenger_1_1Application-members.html +2 -3
- data/doc/cxxapi/classPassenger_1_1Application.html +8 -9
- data/doc/cxxapi/classPassenger_1_1ApplicationPool-members.html +4 -4
- data/doc/cxxapi/classPassenger_1_1ApplicationPool.html +42 -81
- data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer-members.html +1 -2
- data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer.html +3 -4
- data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1Application_1_1Session-members.html +3 -2
- data/doc/cxxapi/classPassenger_1_1Application_1_1Session.html +74 -3
- data/doc/cxxapi/classPassenger_1_1BusyException-members.html +1 -2
- data/doc/cxxapi/classPassenger_1_1BusyException.html +2 -3
- data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +1 -2
- data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +2 -3
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +38 -0
- data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +256 -0
- data/doc/cxxapi/classPassenger_1_1DummySpawnManager-members.html +1 -2
- data/doc/cxxapi/classPassenger_1_1DummySpawnManager.html +2 -3
- data/doc/cxxapi/{classPassenger_1_1Thread-members.html → classPassenger_1_1FileChecker-members.html} +4 -5
- data/doc/cxxapi/classPassenger_1_1FileChecker.html +121 -0
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +1 -2
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +2 -3
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +2 -3
- data/doc/cxxapi/classPassenger_1_1FileSystemException.html +2 -3
- data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1IOException-members.html +1 -2
- data/doc/cxxapi/classPassenger_1_1IOException.html +2 -3
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +5 -2
- data/doc/cxxapi/classPassenger_1_1MessageChannel.html +155 -5
- data/doc/cxxapi/{classboost_1_1this__thread_1_1enable__syscall__interruption-members.html → classPassenger_1_1RuntimeException-members.html} +2 -3
- data/doc/cxxapi/{classboost_1_1this__thread_1_1enable__syscall__interruption.html → classPassenger_1_1RuntimeException.html} +10 -8
- data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +1 -2
- data/doc/cxxapi/classPassenger_1_1SpawnException.html +2 -3
- data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +2 -3
- data/doc/cxxapi/classPassenger_1_1SpawnManager.html +15 -56
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool-members.html +5 -4
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool.html +20 -81
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1SystemException-members.html +2 -3
- data/doc/cxxapi/classPassenger_1_1SystemException.html +9 -10
- data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
- data/doc/cxxapi/{classboost_1_1this__thread_1_1disable__syscall__interruption-members.html → classPassenger_1_1SystemTime-members.html} +5 -3
- data/doc/cxxapi/classPassenger_1_1SystemTime.html +86 -0
- data/doc/cxxapi/classPassenger_1_1TempFile-members.html +2 -3
- data/doc/cxxapi/classPassenger_1_1TempFile.html +17 -9
- data/doc/cxxapi/definitions_8h-source.html +1 -2
- data/doc/cxxapi/files.html +6 -3
- data/doc/cxxapi/functions.html +98 -35
- data/doc/cxxapi/functions_func.html +60 -32
- data/doc/cxxapi/functions_type.html +1 -2
- data/doc/cxxapi/functions_vars.html +27 -2
- data/doc/cxxapi/graph_legend.html +1 -2
- data/doc/cxxapi/graph_legend.png +0 -0
- data/doc/cxxapi/group__Configuration.html +3 -4
- data/doc/cxxapi/group__Configuration.png +0 -0
- data/doc/cxxapi/group__Core.html +3 -4
- data/doc/cxxapi/group__Core.png +0 -0
- data/doc/cxxapi/group__Exceptions.html +4 -2
- data/doc/cxxapi/group__Hooks.html +1 -6
- data/doc/cxxapi/group__Hooks.png +0 -0
- data/doc/cxxapi/group__Support.html +259 -36
- data/doc/cxxapi/hierarchy.html +6 -7
- data/doc/cxxapi/inherit__graph__0.map +1 -1
- data/doc/cxxapi/inherit__graph__0.md5 +1 -1
- data/doc/cxxapi/inherit__graph__0.png +0 -0
- data/doc/cxxapi/inherit__graph__1.map +1 -1
- data/doc/cxxapi/inherit__graph__1.md5 +1 -1
- data/doc/cxxapi/inherit__graph__1.png +0 -0
- data/doc/cxxapi/inherit__graph__10.map +1 -1
- data/doc/cxxapi/inherit__graph__10.md5 +1 -1
- data/doc/cxxapi/inherit__graph__10.png +0 -0
- data/doc/cxxapi/inherit__graph__11.map +1 -1
- data/doc/cxxapi/inherit__graph__11.md5 +1 -1
- data/doc/cxxapi/inherit__graph__11.png +0 -0
- data/doc/cxxapi/inherit__graph__12.map +2 -1
- data/doc/cxxapi/inherit__graph__12.md5 +1 -1
- data/doc/cxxapi/inherit__graph__12.png +0 -0
- data/doc/cxxapi/inherit__graph__13.map +1 -1
- data/doc/cxxapi/inherit__graph__13.md5 +1 -1
- data/doc/cxxapi/inherit__graph__13.png +0 -0
- data/doc/cxxapi/inherit__graph__14.map +1 -2
- data/doc/cxxapi/inherit__graph__14.md5 +1 -1
- data/doc/cxxapi/inherit__graph__14.png +0 -0
- data/doc/cxxapi/inherit__graph__15.map +1 -1
- data/doc/cxxapi/inherit__graph__15.md5 +1 -1
- data/doc/cxxapi/inherit__graph__15.png +0 -0
- data/doc/cxxapi/inherit__graph__16.map +1 -1
- data/doc/cxxapi/inherit__graph__16.md5 +1 -1
- data/doc/cxxapi/inherit__graph__16.png +0 -0
- data/doc/cxxapi/inherit__graph__17.png +0 -0
- data/doc/cxxapi/inherit__graph__18.png +0 -0
- data/doc/cxxapi/inherit__graph__19.png +0 -0
- data/doc/cxxapi/inherit__graph__2.map +1 -1
- data/doc/cxxapi/inherit__graph__2.md5 +1 -1
- data/doc/cxxapi/inherit__graph__2.png +0 -0
- data/doc/cxxapi/inherit__graph__20.map +1 -1
- data/doc/cxxapi/inherit__graph__20.md5 +1 -1
- data/doc/cxxapi/inherit__graph__20.png +0 -0
- data/doc/cxxapi/inherit__graph__21.map +1 -1
- data/doc/cxxapi/inherit__graph__21.md5 +1 -1
- data/doc/cxxapi/inherit__graph__21.png +0 -0
- data/doc/cxxapi/inherit__graph__3.map +1 -1
- data/doc/cxxapi/inherit__graph__3.md5 +1 -1
- data/doc/cxxapi/inherit__graph__3.png +0 -0
- data/doc/cxxapi/inherit__graph__4.map +1 -1
- data/doc/cxxapi/inherit__graph__4.md5 +1 -1
- data/doc/cxxapi/inherit__graph__4.png +0 -0
- data/doc/cxxapi/inherit__graph__5.map +2 -1
- data/doc/cxxapi/inherit__graph__5.md5 +1 -1
- data/doc/cxxapi/inherit__graph__5.png +0 -0
- data/doc/cxxapi/inherit__graph__6.map +1 -1
- data/doc/cxxapi/inherit__graph__6.md5 +1 -1
- data/doc/cxxapi/inherit__graph__6.png +0 -0
- data/doc/cxxapi/inherit__graph__7.map +1 -1
- data/doc/cxxapi/inherit__graph__7.md5 +1 -1
- data/doc/cxxapi/inherit__graph__7.png +0 -0
- data/doc/cxxapi/inherit__graph__8.map +1 -1
- data/doc/cxxapi/inherit__graph__8.md5 +1 -1
- data/doc/cxxapi/inherit__graph__8.png +0 -0
- data/doc/cxxapi/inherit__graph__9.map +1 -2
- data/doc/cxxapi/inherit__graph__9.md5 +1 -1
- data/doc/cxxapi/inherit__graph__9.png +0 -0
- data/doc/cxxapi/inherits.html +30 -31
- data/doc/cxxapi/main.html +1 -2
- data/doc/cxxapi/modules.html +1 -2
- data/doc/cxxapi/structPassenger_1_1AnythingToString-members.html +1 -2
- data/doc/cxxapi/structPassenger_1_1AnythingToString.html +2 -3
- data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4-members.html +1 -2
- data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html +2 -3
- data/doc/cxxapi/structPassenger_1_1PoolOptions-members.html +49 -0
- data/doc/cxxapi/structPassenger_1_1PoolOptions.html +404 -0
- data/doc/cxxapi/tree.html +18 -20
- data/doc/images/conservative_spawning.png +0 -0
- data/doc/images/conservative_spawning.svg +248 -0
- data/doc/images/smart-lv2.png +0 -0
- data/doc/images/smart-lv2.svg +320 -0
- data/doc/rdoc/classes/ConditionVariable.html +68 -34
- data/doc/rdoc/classes/Exception.html +16 -16
- data/doc/rdoc/classes/GC.html +9 -9
- data/doc/rdoc/classes/IO.html +36 -17
- data/doc/rdoc/classes/PhusionPassenger.html +183 -0
- data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +511 -0
- data/doc/rdoc/classes/{Passenger → PhusionPassenger}/AbstractServer.html +285 -242
- data/doc/rdoc/classes/{Passenger → PhusionPassenger}/AbstractServer/ServerAlreadyStarted.html +3 -3
- data/doc/rdoc/classes/{Passenger → PhusionPassenger}/AbstractServer/ServerError.html +3 -3
- data/doc/rdoc/classes/{Passenger → PhusionPassenger}/AbstractServer/ServerNotStarted.html +3 -3
- data/doc/rdoc/classes/{Passenger → PhusionPassenger}/AbstractServer/UnknownMessage.html +3 -3
- data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +598 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +140 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess.html +247 -0
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess/Instance.html +138 -0
- data/doc/rdoc/classes/{Passenger → PhusionPassenger}/AppInitError.html +36 -19
- data/doc/rdoc/classes/{Passenger → PhusionPassenger}/Application.html +81 -96
- data/doc/rdoc/classes/{Passenger → PhusionPassenger}/ConsoleTextTemplate.html +18 -18
- data/doc/rdoc/classes/{Passenger → PhusionPassenger}/FrameworkInitError.html +20 -18
- data/doc/rdoc/classes/{Passenger → PhusionPassenger}/HTMLTemplate.html +18 -18
- data/doc/rdoc/classes/{Passenger → PhusionPassenger}/InitializationError.html +9 -9
- data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +92 -0
- data/doc/rdoc/classes/{Passenger → PhusionPassenger}/MessageChannel.html +93 -92
- data/doc/rdoc/classes/{Passenger → PhusionPassenger}/NativeSupport.html +55 -25
- data/doc/rdoc/classes/PhusionPassenger/Rack.html +91 -0
- data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +185 -0
- data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +182 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz.html +95 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner.html +424 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner/Error.html +98 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/CGIFixed.html +200 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner.html +444 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner/Error.html +98 -0
- data/doc/rdoc/classes/PhusionPassenger/Railz/RequestHandler.html +154 -0
- data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +408 -0
- data/doc/rdoc/classes/{Passenger → PhusionPassenger}/UnknownError.html +13 -13
- data/doc/rdoc/classes/PhusionPassenger/Utils.html +687 -0
- data/doc/rdoc/classes/{Passenger → PhusionPassenger}/VersionNotFound.html +8 -8
- data/doc/rdoc/classes/PhusionPassenger/WSGI.html +89 -0
- data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +188 -0
- data/doc/rdoc/classes/PlatformInfo.html +663 -159
- data/doc/rdoc/classes/RakeExtensions.html +4 -4
- data/doc/rdoc/classes/Signal.html +134 -0
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/DEVELOPERS_TXT.html +15 -10
- data/doc/rdoc/files/README.html +5 -7
- data/doc/rdoc/files/ext/{passenger → phusion_passenger}/native_support_c.html +2 -2
- data/doc/rdoc/files/lib/{passenger → phusion_passenger}/abstract_request_handler_rb.html +7 -9
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +120 -0
- data/doc/rdoc/files/lib/{passenger → phusion_passenger}/abstract_server_rb.html +7 -10
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools/control_process_rb.html +99 -0
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +92 -0
- data/doc/rdoc/files/lib/{passenger → phusion_passenger}/application_rb.html +6 -8
- data/doc/rdoc/files/lib/{passenger → phusion_passenger}/console_text_template_rb.html +5 -7
- data/doc/rdoc/files/lib/{passenger → phusion_passenger}/constants_rb.html +4 -5
- data/doc/rdoc/files/lib/{passenger → phusion_passenger}/dependencies_rb.html +6 -8
- data/doc/rdoc/files/lib/phusion_passenger/events_rb.html +116 -0
- data/doc/rdoc/files/lib/{passenger → phusion_passenger}/exceptions_rb.html +5 -7
- data/doc/rdoc/files/lib/{passenger → phusion_passenger}/html_template_rb.html +5 -7
- data/doc/rdoc/files/lib/{passenger → phusion_passenger}/message_channel_rb.html +5 -7
- data/doc/rdoc/files/lib/{passenger → phusion_passenger}/platform_info_rb.html +6 -7
- data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +123 -0
- data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +117 -0
- data/doc/rdoc/files/lib/{passenger/utils_rb.html → phusion_passenger/railz/application_spawner_rb.html} +24 -17
- data/doc/rdoc/files/lib/phusion_passenger/railz/cgi_fixed_rb.html +126 -0
- data/doc/rdoc/files/lib/phusion_passenger/railz/framework_spawner_rb.html +139 -0
- data/doc/rdoc/files/lib/phusion_passenger/railz/request_handler_rb.html +118 -0
- data/doc/rdoc/files/lib/{passenger → phusion_passenger}/simple_benchmarking_rb.html +5 -7
- data/doc/rdoc/files/lib/{passenger → phusion_passenger}/spawn_manager_rb.html +40 -24
- data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +169 -0
- data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +120 -0
- data/doc/rdoc/files/lib/rake/extensions_rb.html +3 -4
- data/doc/rdoc/fr_class_index.html +37 -19
- data/doc/rdoc/fr_file_index.html +25 -14
- data/doc/rdoc/fr_method_index.html +145 -74
- data/ext/apache2/Application.h +145 -44
- data/ext/apache2/ApplicationPool.h +27 -29
- data/ext/apache2/ApplicationPoolServer.h +183 -72
- data/ext/apache2/ApplicationPoolServerExecutable.cpp +249 -42
- data/ext/apache2/Bucket.cpp +61 -9
- data/ext/apache2/Bucket.h +15 -8
- data/ext/apache2/CachedFileStat.cpp +114 -0
- data/ext/apache2/CachedFileStat.h +169 -0
- data/ext/apache2/Configuration.cpp +213 -22
- data/ext/apache2/Configuration.h +176 -13
- data/ext/apache2/DirectoryMapper.h +287 -0
- data/ext/apache2/Exceptions.h +30 -12
- data/ext/apache2/FileChecker.h +108 -0
- data/ext/apache2/Hooks.cpp +709 -493
- data/ext/apache2/LICENSE-CNRI.TXT +15 -0
- data/ext/apache2/Logging.h +26 -22
- data/ext/apache2/MessageChannel.h +124 -15
- data/ext/apache2/PoolOptions.h +283 -0
- data/ext/apache2/SpawnManager.h +75 -99
- data/ext/apache2/StandardApplicationPool.h +296 -195
- data/ext/apache2/SystemTime.cpp +28 -0
- data/ext/apache2/SystemTime.h +82 -0
- data/ext/apache2/Utils.cpp +172 -18
- data/ext/apache2/Utils.h +124 -19
- data/ext/boost/cstdint.hpp +4 -2
- data/ext/boost/current_function.hpp +67 -0
- data/ext/boost/detail/sp_counted_base.hpp +4 -4
- data/ext/boost/thread/exceptions.hpp +2 -1
- data/ext/boost/thread/pthread/thread.hpp +11 -3
- data/ext/boost/thread/pthread/thread_data.hpp +2 -1
- data/ext/oxt/backtrace.cpp +172 -0
- data/ext/oxt/backtrace.hpp +135 -0
- data/ext/oxt/detail/backtrace_disabled.hpp +39 -0
- data/ext/oxt/detail/backtrace_enabled.hpp +155 -0
- data/ext/oxt/detail/spin_lock_gcc_x86.hpp +82 -0
- data/ext/oxt/detail/spin_lock_portable.hpp +38 -0
- data/ext/oxt/detail/spin_lock_pthreads.hpp +97 -0
- data/ext/oxt/detail/tracable_exception_disabled.hpp +46 -0
- data/ext/oxt/detail/tracable_exception_enabled.hpp +48 -0
- data/ext/oxt/macros.hpp +58 -0
- data/ext/oxt/spin_lock.hpp +55 -0
- data/ext/{apache2/System.cpp → oxt/system_calls.cpp} +87 -52
- data/ext/oxt/system_calls.hpp +234 -0
- data/ext/oxt/thread.cpp +32 -0
- data/ext/oxt/thread.hpp +223 -0
- data/ext/oxt/tracable_exception.cpp +87 -0
- data/ext/oxt/tracable_exception.hpp +35 -0
- data/{lib/passenger/constants.rb → ext/phusion_passenger/extconf.rb} +14 -9
- data/ext/{passenger → phusion_passenger}/native_support.c +33 -6
- data/lib/{passenger → phusion_passenger}/abstract_request_handler.rb +209 -93
- data/lib/{passenger → phusion_passenger}/abstract_server.rb +23 -8
- data/lib/phusion_passenger/abstract_server_collection.rb +301 -0
- data/lib/phusion_passenger/admin_tools.rb +25 -0
- data/lib/phusion_passenger/admin_tools/control_process.rb +107 -0
- data/lib/{passenger → phusion_passenger}/application.rb +13 -16
- data/lib/{passenger → phusion_passenger}/console_text_template.rb +2 -2
- data/{ext/passenger/extconf.rb → lib/phusion_passenger/constants.rb} +5 -5
- data/lib/{passenger → phusion_passenger}/dependencies.rb +38 -32
- data/lib/phusion_passenger/events.rb +45 -0
- data/lib/{passenger → phusion_passenger}/exceptions.rb +12 -5
- data/lib/{passenger → phusion_passenger}/html_template.rb +2 -2
- data/lib/{passenger → phusion_passenger}/message_channel.rb +3 -2
- data/lib/phusion_passenger/platform_info.rb +500 -0
- data/lib/{passenger → phusion_passenger}/rack/application_spawner.rb +29 -22
- data/lib/{passenger → phusion_passenger}/rack/request_handler.rb +14 -9
- data/lib/{passenger → phusion_passenger}/railz/application_spawner.rb +94 -74
- data/lib/{passenger → phusion_passenger}/railz/cgi_fixed.rb +2 -2
- data/lib/{passenger → phusion_passenger}/railz/framework_spawner.rb +86 -98
- data/lib/{passenger → phusion_passenger}/railz/request_handler.rb +6 -6
- data/lib/{passenger → phusion_passenger}/simple_benchmarking.rb +0 -0
- data/lib/{passenger → phusion_passenger}/spawn_manager.rb +136 -128
- data/lib/{passenger → phusion_passenger}/templates/apache2_config_snippets.txt.erb +0 -0
- data/lib/{passenger → phusion_passenger}/templates/apache_must_be_compiled_with_compatible_mpm.txt.erb +0 -0
- data/lib/phusion_passenger/templates/app_exited_during_initialization.html.erb +38 -0
- data/lib/{passenger → phusion_passenger}/templates/app_init_error.html.erb +0 -0
- data/lib/{passenger → phusion_passenger}/templates/database_error.html.erb +0 -0
- data/lib/{passenger → phusion_passenger}/templates/deployment_example.txt.erb +1 -1
- data/lib/{passenger → phusion_passenger}/templates/error_layout.css +0 -0
- data/lib/{passenger → phusion_passenger}/templates/error_layout.html.erb +0 -0
- data/lib/{passenger → phusion_passenger}/templates/framework_init_error.html.erb +0 -0
- data/lib/{passenger → phusion_passenger}/templates/general_error.html.erb +0 -0
- data/lib/{passenger → phusion_passenger}/templates/invalid_app_root.html.erb +1 -1
- data/lib/{passenger → phusion_passenger}/templates/load_error.html.erb +0 -0
- data/lib/{passenger → phusion_passenger}/templates/no_write_permission_to_passenger_root.txt.erb +0 -0
- data/lib/{passenger → phusion_passenger}/templates/possible_solutions_for_compilation_and_installation_problems.txt.erb +0 -0
- data/lib/{passenger → phusion_passenger}/templates/run_installer_as_root.txt.erb +0 -0
- data/lib/{passenger → phusion_passenger}/templates/version_not_found.html.erb +0 -0
- data/lib/{passenger → phusion_passenger}/templates/welcome.txt.erb +0 -0
- data/lib/{passenger → phusion_passenger}/utils.rb +210 -44
- data/lib/{passenger → phusion_passenger}/wsgi/application_spawner.rb +18 -15
- data/lib/{passenger → phusion_passenger}/wsgi/request_handler.py +7 -1
- data/man/passenger-memory-stats.8 +1 -1
- data/misc/render_error_pages.rb +1 -1
- data/test/ApplicationPoolServerTest.cpp +0 -28
- data/test/ApplicationPoolServer_ApplicationPoolTest.cpp +4 -0
- data/test/ApplicationPoolTest.cpp +307 -69
- data/test/CachedFileStatTest.cpp +262 -0
- data/test/FileCheckerTest.cpp +79 -0
- data/test/MessageChannelTest.cpp +3 -3
- data/test/PoolOptionsTest.cpp +37 -0
- data/test/SpawnManagerTest.cpp +4 -4
- data/test/StandardApplicationPoolTest.cpp +4 -0
- data/test/SystemTimeTest.cpp +37 -0
- data/test/UtilsTest.cpp +137 -0
- data/test/integration_tests.rb +270 -23
- data/test/oxt/backtrace_test.cpp +128 -0
- data/test/oxt/oxt_test_main.cpp +25 -0
- data/test/oxt/syscall_interruption_test.cpp +50 -0
- data/test/ruby/abstract_request_handler_spec.rb +83 -0
- data/test/ruby/abstract_server_collection_spec.rb +246 -0
- data/test/ruby/application_spec.rb +3 -3
- data/test/ruby/message_channel_spec.rb +2 -2
- data/test/ruby/rack/application_spawner_spec.rb +3 -5
- data/test/ruby/rails/application_spawner_spec.rb +54 -15
- data/test/ruby/rails/framework_spawner_spec.rb +6 -8
- data/test/ruby/rails/minimal_spawner_spec.rb +29 -0
- data/test/ruby/rails/spawner_error_handling_spec.rb +1 -1
- data/test/ruby/rails/spawner_privilege_lowering_spec.rb +3 -3
- data/test/ruby/spawn_manager_spec.rb +23 -12
- data/test/ruby/utils_spec.rb +36 -2
- data/test/ruby/wsgi/application_spawner_spec.rb +47 -0
- data/test/stub/apache2/httpd.conf.erb +3 -5
- data/test/stub/message_channel.rb +2 -2
- data/test/stub/message_channel_2.rb +2 -2
- data/test/stub/message_channel_3.rb +3 -3
- data/test/stub/minimal-railsapp/README +0 -0
- data/test/stub/minimal-railsapp/config/application.rb +0 -0
- data/test/stub/minimal-railsapp/config/environment.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/actionmailer/lib/action_mailer.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_controller.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_pack.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_view.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/activerecord/lib/active_record.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/activeresource/lib/active_resource.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/activesupport/lib/active_support.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/activesupport/lib/active_support/whiny_nil.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/railties/lib/dispatcher.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/railties/lib/initializer.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/railties/lib/ruby_version_check.rb +0 -0
- data/test/stub/rails_apps/foobar/app/controllers/foo_controller.rb +8 -0
- data/test/stub/rails_apps/foobar/config/environments/development.rb +1 -2
- data/test/stub/rails_apps/mycook/app/controllers/welcome_controller.rb +21 -1
- data/test/stub/rails_apps/mycook/sites/some.site/public/uploads.html +26 -0
- data/test/stub/rails_apps/mycook/sites/some.site/public/welcome/cached.html +26 -0
- data/test/stub/railsapp/app/controllers/application.rb +0 -0
- data/test/stub/railsapp/app/controllers/bar_controller_1.rb +0 -0
- data/test/stub/railsapp/app/controllers/bar_controller_2.rb +1 -1
- data/test/stub/railsapp/app/controllers/foo_controller.rb +4 -0
- data/test/stub/railsapp/app/helpers/application_helper.rb +0 -0
- data/test/stub/railsapp/config/boot.rb +0 -0
- data/test/stub/railsapp/config/database.yml +0 -0
- data/test/stub/railsapp/config/environment.rb +0 -0
- data/test/stub/railsapp/config/environments/development.rb +0 -0
- data/test/stub/railsapp/config/environments/production.rb +0 -0
- data/test/stub/railsapp/config/initializers/inflections.rb +0 -0
- data/test/stub/railsapp/config/initializers/mime_types.rb +0 -0
- data/test/stub/railsapp/config/routes.rb +0 -0
- data/test/stub/railsapp/public/useless.txt +0 -0
- data/test/stub/spawn_server.rb +3 -4
- data/test/stub/wsgi/passenger_wsgi.pyc +0 -0
- data/test/support/apache2_controller.rb +57 -7
- data/test/support/tut.h +15 -0
- data/vendor/README +12 -0
- data/vendor/README_FOR_PACKAGERS +1 -0
- data/vendor/rack-0.9.1/AUTHORS +8 -0
- data/vendor/rack-0.9.1/COPYING +18 -0
- data/vendor/rack-0.9.1/ChangeLog +1423 -0
- data/vendor/rack-0.9.1/KNOWN-ISSUES +18 -0
- data/vendor/rack-0.9.1/README +306 -0
- data/vendor/rack-0.9.1/Rakefile +188 -0
- data/vendor/rack-0.9.1/SPEC +129 -0
- data/vendor/rack-0.9.1/lib/rack.rb +86 -0
- data/vendor/rack-0.9.1/lib/rack/adapter/camping.rb +22 -0
- data/vendor/rack-0.9.1/lib/rack/auth/abstract/handler.rb +28 -0
- data/vendor/rack-0.9.1/lib/rack/auth/abstract/request.rb +37 -0
- data/vendor/rack-0.9.1/lib/rack/auth/basic.rb +58 -0
- data/vendor/rack-0.9.1/lib/rack/auth/digest/md5.rb +124 -0
- data/vendor/rack-0.9.1/lib/rack/auth/digest/nonce.rb +51 -0
- data/vendor/rack-0.9.1/lib/rack/auth/digest/params.rb +55 -0
- data/vendor/rack-0.9.1/lib/rack/auth/digest/request.rb +40 -0
- data/vendor/rack-0.9.1/lib/rack/auth/openid.rb +438 -0
- data/vendor/rack-0.9.1/lib/rack/builder.rb +67 -0
- data/vendor/rack-0.9.1/lib/rack/cascade.rb +36 -0
- data/vendor/rack-0.9.1/lib/rack/commonlogger.rb +61 -0
- data/vendor/rack-0.9.1/lib/rack/conditionalget.rb +43 -0
- data/vendor/rack-0.9.1/lib/rack/content_length.rb +25 -0
- data/vendor/rack-0.9.1/lib/rack/deflater.rb +87 -0
- data/vendor/rack-0.9.1/lib/rack/directory.rb +150 -0
- data/vendor/rack-0.9.1/lib/rack/file.rb +85 -0
- data/vendor/rack-0.9.1/lib/rack/handler.rb +48 -0
- data/vendor/rack-0.9.1/lib/rack/handler/cgi.rb +57 -0
- data/vendor/rack-0.9.1/lib/rack/handler/evented_mongrel.rb +8 -0
- data/vendor/rack-0.9.1/lib/rack/handler/fastcgi.rb +86 -0
- data/vendor/rack-0.9.1/lib/rack/handler/lsws.rb +52 -0
- data/vendor/rack-0.9.1/lib/rack/handler/mongrel.rb +82 -0
- data/vendor/rack-0.9.1/lib/rack/handler/scgi.rb +57 -0
- data/vendor/rack-0.9.1/lib/rack/handler/swiftiplied_mongrel.rb +8 -0
- data/vendor/rack-0.9.1/lib/rack/handler/thin.rb +15 -0
- data/vendor/rack-0.9.1/lib/rack/handler/webrick.rb +61 -0
- data/vendor/rack-0.9.1/lib/rack/head.rb +19 -0
- data/vendor/rack-0.9.1/lib/rack/lint.rb +465 -0
- data/vendor/rack-0.9.1/lib/rack/lobster.rb +65 -0
- data/vendor/rack-0.9.1/lib/rack/methodoverride.rb +27 -0
- data/vendor/rack-0.9.1/lib/rack/mime.rb +204 -0
- data/vendor/rack-0.9.1/lib/rack/mock.rb +160 -0
- data/vendor/rack-0.9.1/lib/rack/recursive.rb +57 -0
- data/vendor/rack-0.9.1/lib/rack/reloader.rb +64 -0
- data/vendor/rack-0.9.1/lib/rack/request.rb +218 -0
- data/vendor/rack-0.9.1/lib/rack/response.rb +171 -0
- data/vendor/rack-0.9.1/lib/rack/session/abstract/id.rb +153 -0
- data/vendor/rack-0.9.1/lib/rack/session/cookie.rb +89 -0
- data/vendor/rack-0.9.1/lib/rack/session/memcache.rb +97 -0
- data/vendor/rack-0.9.1/lib/rack/session/pool.rb +73 -0
- data/vendor/rack-0.9.1/lib/rack/showexceptions.rb +348 -0
- data/vendor/rack-0.9.1/lib/rack/showstatus.rb +106 -0
- data/vendor/rack-0.9.1/lib/rack/static.rb +38 -0
- data/vendor/rack-0.9.1/lib/rack/urlmap.rb +48 -0
- data/vendor/rack-0.9.1/lib/rack/utils.rb +347 -0
- metadata +1197 -1055
- data/doc/cxxapi/System_8h-source.html +0 -251
- data/doc/cxxapi/classDirectoryMapper-members.html +0 -38
- data/doc/cxxapi/classDirectoryMapper.html +0 -203
- data/doc/cxxapi/classPassenger_1_1Thread.html +0 -100
- data/doc/cxxapi/classboost_1_1this__thread_1_1disable__syscall__interruption.html +0 -46
- data/doc/cxxapi/classboost_1_1this__thread_1_1restore__syscall__interruption-members.html +0 -33
- data/doc/cxxapi/classboost_1_1this__thread_1_1restore__syscall__interruption.html +0 -44
- data/doc/cxxapi/namespacePassenger.html +0 -208
- data/doc/cxxapi/namespacePassenger_1_1InterruptableCalls.html +0 -43
- data/doc/cxxapi/namespacemembers.html +0 -70
- data/doc/cxxapi/namespacemembers_func.html +0 -66
- data/doc/cxxapi/namespacemembers_type.html +0 -46
- data/doc/cxxapi/namespaces.html +0 -35
- data/doc/rdoc/classes/Passenger.html +0 -136
- data/doc/rdoc/classes/Passenger/AbstractRequestHandler.html +0 -402
- data/doc/rdoc/classes/Passenger/SpawnManager.html +0 -379
- data/doc/rdoc/classes/Passenger/Utils.html +0 -578
- data/ext/apache2/System.h +0 -228
- data/lib/passenger/platform_info.rb +0 -302
- data/lib/passenger/templates/app_exited_during_initialization.html.erb +0 -19
- data/test/stub/apache2/httpd.conf +0 -75
- data/test/stub/rails_apps/foobar/config/environments/test.rb +0 -22
- data/test/stub/rails_apps/mycook/config/environments/test.rb +0 -22
- data/test/stub/railsapp/config/environments/test.rb +0 -22
- data/test/stub/railsapp2/config/environments/test.rb +0 -22
@@ -57,7 +57,7 @@
|
|
57
57
|
<tr valign="top">
|
58
58
|
<td>In:</td>
|
59
59
|
<td>
|
60
|
-
<a href="../files/lib/
|
60
|
+
<a href="../files/lib/phusion_passenger/utils_rb.html">lib/phusion_passenger/utils.rb</a>
|
61
61
|
</td>
|
62
62
|
</tr>
|
63
63
|
<tr>
|
@@ -80,8 +80,8 @@ Object
|
|
80
80
|
|
81
81
|
<div class="sectiontitle">Methods</div>
|
82
82
|
<ul>
|
83
|
-
<li><a href="#
|
84
|
-
<li><a href="#
|
83
|
+
<li><a href="#M000003">timed_wait</a></li>
|
84
|
+
<li><a href="#M000004">timed_wait!</a></li>
|
85
85
|
</ul>
|
86
86
|
|
87
87
|
|
@@ -92,7 +92,7 @@ Object
|
|
92
92
|
<div class="sectiontitle">Public Instance methods</div>
|
93
93
|
<div class="method">
|
94
94
|
<div class="title">
|
95
|
-
<a name="
|
95
|
+
<a name="M000003"></a><b>timed_wait</b>(mutex, secs)
|
96
96
|
</div>
|
97
97
|
<div class="description">
|
98
98
|
<p>
|
@@ -102,30 +102,49 @@ timeout occurred.
|
|
102
102
|
</p>
|
103
103
|
</div>
|
104
104
|
<div class="sourcecode">
|
105
|
-
<p class="source-link">[ <a href="javascript:toggleSource('
|
106
|
-
<div id="
|
105
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000003_source')" id="l_M000003_source">show source</a> ]</p>
|
106
|
+
<div id="M000003_source" class="dyn-source">
|
107
107
|
<pre>
|
108
|
-
<span class="ruby-comment cmt"># File lib/
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
108
|
+
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 369</span>
|
109
|
+
369: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timed_wait</span>(<span class="ruby-identifier">mutex</span>, <span class="ruby-identifier">secs</span>)
|
110
|
+
370: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">></span> <span class="ruby-value">100000000</span>
|
111
|
+
371: <span class="ruby-comment cmt"># NOTE: If one calls timeout() on FreeBSD 5 with an</span>
|
112
|
+
372: <span class="ruby-comment cmt"># argument of more than 100000000, then MRI will become</span>
|
113
|
+
373: <span class="ruby-comment cmt"># stuck in an infite loop, blocking all threads. It seems</span>
|
114
|
+
374: <span class="ruby-comment cmt"># that MRI uses select() to implement sleeping.</span>
|
115
|
+
375: <span class="ruby-comment cmt"># I think that a value of more than 100000000 overflows</span>
|
116
|
+
376: <span class="ruby-comment cmt"># select()'s data structures, causing it to behave incorrectly.</span>
|
117
|
+
377: <span class="ruby-comment cmt"># So we just make sure we can't sleep more than 100000000</span>
|
118
|
+
378: <span class="ruby-comment cmt"># seconds.</span>
|
119
|
+
379: <span class="ruby-identifier">secs</span> = <span class="ruby-value">100000000</span>
|
120
|
+
380: <span class="ruby-keyword kw">end</span>
|
121
|
+
381: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">RUBY_ENGINE</span>) <span class="ruby-operator">&&</span> <span class="ruby-constant">RUBY_ENGINE</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"jruby"</span>
|
122
|
+
382: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
123
|
+
383: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>, <span class="ruby-identifier">secs</span>)
|
124
|
+
384: <span class="ruby-keyword kw">else</span>
|
125
|
+
385: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
|
126
|
+
386: <span class="ruby-keyword kw">end</span>
|
127
|
+
387: <span class="ruby-keyword kw">else</span>
|
128
|
+
388: <span class="ruby-identifier">require</span> <span class="ruby-value str">'timeout'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">Timeout</span>)
|
129
|
+
389: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
130
|
+
390: <span class="ruby-constant">Timeout</span>.<span class="ruby-identifier">timeout</span>(<span class="ruby-identifier">secs</span>) <span class="ruby-keyword kw">do</span>
|
131
|
+
391: <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
|
132
|
+
392: <span class="ruby-keyword kw">end</span>
|
133
|
+
393: <span class="ruby-keyword kw">else</span>
|
134
|
+
394: <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
|
135
|
+
395: <span class="ruby-keyword kw">end</span>
|
136
|
+
396: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
|
137
|
+
397: <span class="ruby-keyword kw">end</span>
|
138
|
+
398: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Timeout</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span>
|
139
|
+
399: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
140
|
+
400: <span class="ruby-keyword kw">end</span>
|
122
141
|
</pre>
|
123
142
|
</div>
|
124
143
|
</div>
|
125
144
|
</div>
|
126
145
|
<div class="method">
|
127
146
|
<div class="title">
|
128
|
-
<a name="
|
147
|
+
<a name="M000004"></a><b>timed_wait!</b>(mutex, secs)
|
129
148
|
</div>
|
130
149
|
<div class="description">
|
131
150
|
<p>
|
@@ -134,20 +153,35 @@ amount of time. Raises Timeout::Error if the timeout has elapsed.
|
|
134
153
|
</p>
|
135
154
|
</div>
|
136
155
|
<div class="sourcecode">
|
137
|
-
<p class="source-link">[ <a href="javascript:toggleSource('
|
138
|
-
<div id="
|
156
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000004_source')" id="l_M000004_source">show source</a> ]</p>
|
157
|
+
<div id="M000004_source" class="dyn-source">
|
139
158
|
<pre>
|
140
|
-
<span class="ruby-comment cmt"># File lib/
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
159
|
+
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 404</span>
|
160
|
+
404: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">timed_wait!</span>(<span class="ruby-identifier">mutex</span>, <span class="ruby-identifier">secs</span>)
|
161
|
+
405: <span class="ruby-identifier">require</span> <span class="ruby-value str">'timeout'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">Timeout</span>)
|
162
|
+
406: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">></span> <span class="ruby-value">100000000</span>
|
163
|
+
407: <span class="ruby-comment cmt"># See the corresponding note for timed_wait().</span>
|
164
|
+
408: <span class="ruby-identifier">secs</span> = <span class="ruby-value">100000000</span>
|
165
|
+
409: <span class="ruby-keyword kw">end</span>
|
166
|
+
410: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">RUBY_ENGINE</span>) <span class="ruby-operator">&&</span> <span class="ruby-constant">RUBY_ENGINE</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"jruby"</span>
|
167
|
+
411: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
168
|
+
412: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>, <span class="ruby-identifier">secs</span>)
|
169
|
+
413: <span class="ruby-identifier">raise</span> <span class="ruby-constant">Timeout</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span>, <span class="ruby-value str">"Timeout"</span>
|
170
|
+
414: <span class="ruby-keyword kw">end</span>
|
171
|
+
415: <span class="ruby-keyword kw">else</span>
|
172
|
+
416: <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
|
173
|
+
417: <span class="ruby-keyword kw">end</span>
|
174
|
+
418: <span class="ruby-keyword kw">else</span>
|
175
|
+
419: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">secs</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
176
|
+
420: <span class="ruby-constant">Timeout</span>.<span class="ruby-identifier">timeout</span>(<span class="ruby-identifier">secs</span>) <span class="ruby-keyword kw">do</span>
|
177
|
+
421: <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
|
178
|
+
422: <span class="ruby-keyword kw">end</span>
|
179
|
+
423: <span class="ruby-keyword kw">else</span>
|
180
|
+
424: <span class="ruby-identifier">wait</span>(<span class="ruby-identifier">mutex</span>)
|
181
|
+
425: <span class="ruby-keyword kw">end</span>
|
182
|
+
426: <span class="ruby-keyword kw">end</span>
|
183
|
+
427: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
|
184
|
+
428: <span class="ruby-keyword kw">end</span>
|
151
185
|
</pre>
|
152
186
|
</div>
|
153
187
|
</div>
|
@@ -57,7 +57,7 @@
|
|
57
57
|
<tr valign="top">
|
58
58
|
<td>In:</td>
|
59
59
|
<td>
|
60
|
-
<a href="../files/lib/
|
60
|
+
<a href="../files/lib/phusion_passenger/utils_rb.html">lib/phusion_passenger/utils.rb</a>
|
61
61
|
</td>
|
62
62
|
</tr>
|
63
63
|
<tr>
|
@@ -80,7 +80,7 @@ Object
|
|
80
80
|
|
81
81
|
<div class="sectiontitle">Methods</div>
|
82
82
|
<ul>
|
83
|
-
<li><a href="#
|
83
|
+
<li><a href="#M000008">backtrace_string</a></li>
|
84
84
|
</ul>
|
85
85
|
|
86
86
|
|
@@ -91,23 +91,23 @@ Object
|
|
91
91
|
<div class="sectiontitle">Public Instance methods</div>
|
92
92
|
<div class="method">
|
93
93
|
<div class="title">
|
94
|
-
<a name="
|
94
|
+
<a name="M000008"></a><b>backtrace_string</b>(current_location = nil)
|
95
95
|
</div>
|
96
96
|
<div class="sourcecode">
|
97
|
-
<p class="source-link">[ <a href="javascript:toggleSource('
|
98
|
-
<div id="
|
97
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000008_source')" id="l_M000008_source">show source</a> ]</p>
|
98
|
+
<div id="M000008_source" class="dyn-source">
|
99
99
|
<pre>
|
100
|
-
<span class="ruby-comment cmt"># File lib/
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
100
|
+
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 353</span>
|
101
|
+
353: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">backtrace_string</span>(<span class="ruby-identifier">current_location</span> = <span class="ruby-keyword kw">nil</span>)
|
102
|
+
354: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current_location</span>.<span class="ruby-identifier">nil?</span>
|
103
|
+
355: <span class="ruby-identifier">location</span> = <span class="ruby-keyword kw">nil</span>
|
104
|
+
356: <span class="ruby-keyword kw">else</span>
|
105
|
+
357: <span class="ruby-identifier">location</span> = <span class="ruby-node">"in #{current_location} "</span>
|
106
|
+
358: <span class="ruby-keyword kw">end</span>
|
107
|
+
359: <span class="ruby-keyword kw">return</span> <span class="ruby-node">"*** Exception #{self.class} #{location}"</span> <span class="ruby-operator"><<</span>
|
108
|
+
360: <span class="ruby-node">"(#{self}) (process #{$$}):\n"</span> <span class="ruby-operator"><<</span>
|
109
|
+
361: <span class="ruby-value str">"\tfrom "</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">backtrace</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"\n\tfrom "</span>)
|
110
|
+
362: <span class="ruby-keyword kw">end</span>
|
111
111
|
</pre>
|
112
112
|
</div>
|
113
113
|
</div>
|
data/doc/rdoc/classes/GC.html
CHANGED
@@ -57,7 +57,7 @@
|
|
57
57
|
<tr valign="top">
|
58
58
|
<td>In:</td>
|
59
59
|
<td>
|
60
|
-
<a href="../files/lib/
|
60
|
+
<a href="../files/lib/phusion_passenger/utils_rb.html">lib/phusion_passenger/utils.rb</a>
|
61
61
|
</td>
|
62
62
|
</tr>
|
63
63
|
</table>
|
@@ -74,7 +74,7 @@
|
|
74
74
|
|
75
75
|
<div class="sectiontitle">Methods</div>
|
76
76
|
<ul>
|
77
|
-
<li><a href="#
|
77
|
+
<li><a href="#M000033">copy_on_write_friendly?</a></li>
|
78
78
|
</ul>
|
79
79
|
|
80
80
|
|
@@ -85,7 +85,7 @@
|
|
85
85
|
<div class="sectiontitle">Public Class methods</div>
|
86
86
|
<div class="method">
|
87
87
|
<div class="title">
|
88
|
-
<a name="
|
88
|
+
<a name="M000033"></a><b>copy_on_write_friendly?</b>()
|
89
89
|
</div>
|
90
90
|
<div class="description">
|
91
91
|
<p>
|
@@ -94,13 +94,13 @@ copy-on-write friendly.
|
|
94
94
|
</p>
|
95
95
|
</div>
|
96
96
|
<div class="sourcecode">
|
97
|
-
<p class="source-link">[ <a href="javascript:toggleSource('
|
98
|
-
<div id="
|
97
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000033_source')" id="l_M000033_source">show source</a> ]</p>
|
98
|
+
<div id="M000033_source" class="dyn-source">
|
99
99
|
<pre>
|
100
|
-
<span class="ruby-comment cmt"># File lib/
|
101
|
-
|
102
|
-
|
103
|
-
|
100
|
+
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 506</span>
|
101
|
+
506: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">copy_on_write_friendly?</span>
|
102
|
+
507: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
|
103
|
+
508: <span class="ruby-keyword kw">end</span>
|
104
104
|
</pre>
|
105
105
|
</div>
|
106
106
|
</div>
|
data/doc/rdoc/classes/IO.html
CHANGED
@@ -57,7 +57,7 @@
|
|
57
57
|
<tr valign="top">
|
58
58
|
<td>In:</td>
|
59
59
|
<td>
|
60
|
-
<a href="../files/lib/
|
60
|
+
<a href="../files/lib/phusion_passenger/utils_rb.html">lib/phusion_passenger/utils.rb</a>
|
61
61
|
</td>
|
62
62
|
</tr>
|
63
63
|
<tr>
|
@@ -80,8 +80,9 @@ Object
|
|
80
80
|
|
81
81
|
<div class="sectiontitle">Methods</div>
|
82
82
|
<ul>
|
83
|
-
<li><a href="#
|
84
|
-
<li><a href="#
|
83
|
+
<li><a href="#M000007">close_on_exec!</a></li>
|
84
|
+
<li><a href="#M000006">recv_io</a></li>
|
85
|
+
<li><a href="#M000005">send_io</a></li>
|
85
86
|
</ul>
|
86
87
|
|
87
88
|
|
@@ -92,7 +93,25 @@ Object
|
|
92
93
|
<div class="sectiontitle">Public Instance methods</div>
|
93
94
|
<div class="method">
|
94
95
|
<div class="title">
|
95
|
-
<a name="
|
96
|
+
<a name="M000007"></a><b>close_on_exec!</b>()
|
97
|
+
</div>
|
98
|
+
<div class="sourcecode">
|
99
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000007_source')" id="l_M000007_source">show source</a> ]</p>
|
100
|
+
<div id="M000007_source" class="dyn-source">
|
101
|
+
<pre>
|
102
|
+
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 450</span>
|
103
|
+
450: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close_on_exec!</span>
|
104
|
+
451: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">Fcntl</span><span class="ruby-operator">::</span><span class="ruby-constant">F_SETFD</span>)
|
105
|
+
452: <span class="ruby-identifier">fcntl</span>(<span class="ruby-constant">Fcntl</span><span class="ruby-operator">::</span><span class="ruby-constant">F_SETFD</span>, <span class="ruby-constant">Fcntl</span><span class="ruby-operator">::</span><span class="ruby-constant">FD_CLOEXEC</span>)
|
106
|
+
453: <span class="ruby-keyword kw">end</span>
|
107
|
+
454: <span class="ruby-keyword kw">end</span>
|
108
|
+
</pre>
|
109
|
+
</div>
|
110
|
+
</div>
|
111
|
+
</div>
|
112
|
+
<div class="method">
|
113
|
+
<div class="title">
|
114
|
+
<a name="M000006"></a><b>recv_io</b>()
|
96
115
|
</div>
|
97
116
|
<div class="description">
|
98
117
|
<p>
|
@@ -105,20 +124,20 @@ Raises SystemCallError if something went wrong.
|
|
105
124
|
</p>
|
106
125
|
</div>
|
107
126
|
<div class="sourcecode">
|
108
|
-
<p class="source-link">[ <a href="javascript:toggleSource('
|
109
|
-
<div id="
|
127
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000006_source')" id="l_M000006_source">show source</a> ]</p>
|
128
|
+
<div id="M000006_source" class="dyn-source">
|
110
129
|
<pre>
|
111
|
-
<span class="ruby-comment cmt"># File lib/
|
112
|
-
|
113
|
-
|
114
|
-
|
130
|
+
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 445</span>
|
131
|
+
445: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">recv_io</span>
|
132
|
+
446: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">IO</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">PhusionPassenger</span><span class="ruby-operator">::</span><span class="ruby-constant">NativeSupport</span>.<span class="ruby-identifier">recv_fd</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">fileno</span>))
|
133
|
+
447: <span class="ruby-keyword kw">end</span>
|
115
134
|
</pre>
|
116
135
|
</div>
|
117
136
|
</div>
|
118
137
|
</div>
|
119
138
|
<div class="method">
|
120
139
|
<div class="title">
|
121
|
-
<a name="
|
140
|
+
<a name="M000005"></a><b>send_io</b>(io)
|
122
141
|
</div>
|
123
142
|
<div class="description">
|
124
143
|
<p>
|
@@ -131,13 +150,13 @@ Raises SystemCallError if something went wrong.
|
|
131
150
|
</p>
|
132
151
|
</div>
|
133
152
|
<div class="sourcecode">
|
134
|
-
<p class="source-link">[ <a href="javascript:toggleSource('
|
135
|
-
<div id="
|
153
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000005_source')" id="l_M000005_source">show source</a> ]</p>
|
154
|
+
<div id="M000005_source" class="dyn-source">
|
136
155
|
<pre>
|
137
|
-
<span class="ruby-comment cmt"># File lib/
|
138
|
-
|
139
|
-
|
140
|
-
|
156
|
+
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 437</span>
|
157
|
+
437: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_io</span>(<span class="ruby-identifier">io</span>)
|
158
|
+
438: <span class="ruby-constant">PhusionPassenger</span><span class="ruby-operator">::</span><span class="ruby-constant">NativeSupport</span>.<span class="ruby-identifier">send_fd</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">fileno</span>, <span class="ruby-identifier">io</span>.<span class="ruby-identifier">fileno</span>)
|
159
|
+
439: <span class="ruby-keyword kw">end</span>
|
141
160
|
</pre>
|
142
161
|
</div>
|
143
162
|
</div>
|
@@ -0,0 +1,183 @@
|
|
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>Module: PhusionPassenger</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">Module</span><br />PhusionPassenger</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/dependencies_rb.html">lib/phusion_passenger/dependencies.rb</a>
|
61
|
+
<a href="../files/lib/phusion_passenger/html_template_rb.html">lib/phusion_passenger/html_template.rb</a>
|
62
|
+
<a href="../files/lib/phusion_passenger/admin_tools_rb.html">lib/phusion_passenger/admin_tools.rb</a>
|
63
|
+
<a href="../files/lib/phusion_passenger/spawn_manager_rb.html">lib/phusion_passenger/spawn_manager.rb</a>
|
64
|
+
<a href="../files/lib/phusion_passenger/abstract_request_handler_rb.html">lib/phusion_passenger/abstract_request_handler.rb</a>
|
65
|
+
<a href="../files/lib/phusion_passenger/abstract_server_rb.html">lib/phusion_passenger/abstract_server.rb</a>
|
66
|
+
<a href="../files/lib/phusion_passenger/abstract_server_collection_rb.html">lib/phusion_passenger/abstract_server_collection.rb</a>
|
67
|
+
<a href="../files/lib/phusion_passenger/message_channel_rb.html">lib/phusion_passenger/message_channel.rb</a>
|
68
|
+
<a href="../files/lib/phusion_passenger/utils_rb.html">lib/phusion_passenger/utils.rb</a>
|
69
|
+
<a href="../files/lib/phusion_passenger/exceptions_rb.html">lib/phusion_passenger/exceptions.rb</a>
|
70
|
+
<a href="../files/lib/phusion_passenger/events_rb.html">lib/phusion_passenger/events.rb</a>
|
71
|
+
<a href="../files/lib/phusion_passenger/constants_rb.html">lib/phusion_passenger/constants.rb</a>
|
72
|
+
<a href="../files/lib/phusion_passenger/application_rb.html">lib/phusion_passenger/application.rb</a>
|
73
|
+
<a href="../files/lib/phusion_passenger/console_text_template_rb.html">lib/phusion_passenger/console_text_template.rb</a>
|
74
|
+
<a href="../files/lib/phusion_passenger/admin_tools/control_process_rb.html">lib/phusion_passenger/admin_tools/control_process.rb</a>
|
75
|
+
<a href="../files/lib/phusion_passenger/wsgi/application_spawner_rb.html">lib/phusion_passenger/wsgi/application_spawner.rb</a>
|
76
|
+
<a href="../files/lib/phusion_passenger/rack/application_spawner_rb.html">lib/phusion_passenger/rack/application_spawner.rb</a>
|
77
|
+
<a href="../files/lib/phusion_passenger/rack/request_handler_rb.html">lib/phusion_passenger/rack/request_handler.rb</a>
|
78
|
+
<a href="../files/lib/phusion_passenger/railz/application_spawner_rb.html">lib/phusion_passenger/railz/application_spawner.rb</a>
|
79
|
+
<a href="../files/lib/phusion_passenger/railz/framework_spawner_rb.html">lib/phusion_passenger/railz/framework_spawner.rb</a>
|
80
|
+
<a href="../files/lib/phusion_passenger/railz/request_handler_rb.html">lib/phusion_passenger/railz/request_handler.rb</a>
|
81
|
+
<a href="../files/lib/phusion_passenger/railz/cgi_fixed_rb.html">lib/phusion_passenger/railz/cgi_fixed.rb</a>
|
82
|
+
<a href="../files/ext/phusion_passenger/native_support_c.html">ext/phusion_passenger/native_support.c</a>
|
83
|
+
</td>
|
84
|
+
</tr>
|
85
|
+
</table>
|
86
|
+
</td>
|
87
|
+
</tr>
|
88
|
+
</table>
|
89
|
+
<!-- banner header -->
|
90
|
+
|
91
|
+
<div id="bodyContent">
|
92
|
+
<div id="content">
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
<div class="sectiontitle">Methods</div>
|
98
|
+
<ul>
|
99
|
+
<li><a href="#M000035">call_event</a></li>
|
100
|
+
<li><a href="#M000034">on_event</a></li>
|
101
|
+
</ul>
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
<div class="sectiontitle">Classes and Modules</div>
|
106
|
+
Module <a href="PhusionPassenger/AdminTools.html" class="link">PhusionPassenger::AdminTools</a><br />
|
107
|
+
Module <a href="PhusionPassenger/NativeSupport.html" class="link">PhusionPassenger::NativeSupport</a><br />
|
108
|
+
Module <a href="PhusionPassenger/Rack.html" class="link">PhusionPassenger::Rack</a><br />
|
109
|
+
Module <a href="PhusionPassenger/Railz.html" class="link">PhusionPassenger::Railz</a><br />
|
110
|
+
Module <a href="PhusionPassenger/Utils.html" class="link">PhusionPassenger::Utils</a><br />
|
111
|
+
Module <a href="PhusionPassenger/WSGI.html" class="link">PhusionPassenger::WSGI</a><br />
|
112
|
+
Class <a href="PhusionPassenger/AbstractRequestHandler.html" class="link">PhusionPassenger::AbstractRequestHandler</a><br />
|
113
|
+
Class <a href="PhusionPassenger/AbstractServer.html" class="link">PhusionPassenger::AbstractServer</a><br />
|
114
|
+
Class <a href="PhusionPassenger/AbstractServerCollection.html" class="link">PhusionPassenger::AbstractServerCollection</a><br />
|
115
|
+
Class <a href="PhusionPassenger/AppInitError.html" class="link">PhusionPassenger::AppInitError</a><br />
|
116
|
+
Class <a href="PhusionPassenger/Application.html" class="link">PhusionPassenger::Application</a><br />
|
117
|
+
Class <a href="PhusionPassenger/ConsoleTextTemplate.html" class="link">PhusionPassenger::ConsoleTextTemplate</a><br />
|
118
|
+
Class <a href="PhusionPassenger/FrameworkInitError.html" class="link">PhusionPassenger::FrameworkInitError</a><br />
|
119
|
+
Class <a href="PhusionPassenger/HTMLTemplate.html" class="link">PhusionPassenger::HTMLTemplate</a><br />
|
120
|
+
Class <a href="PhusionPassenger/InitializationError.html" class="link">PhusionPassenger::InitializationError</a><br />
|
121
|
+
Class <a href="PhusionPassenger/InvalidPath.html" class="link">PhusionPassenger::InvalidPath</a><br />
|
122
|
+
Class <a href="PhusionPassenger/MessageChannel.html" class="link">PhusionPassenger::MessageChannel</a><br />
|
123
|
+
Class <a href="PhusionPassenger/SpawnManager.html" class="link">PhusionPassenger::SpawnManager</a><br />
|
124
|
+
Class <a href="PhusionPassenger/UnknownError.html" class="link">PhusionPassenger::UnknownError</a><br />
|
125
|
+
Class <a href="PhusionPassenger/VersionNotFound.html" class="link">PhusionPassenger::VersionNotFound</a><br />
|
126
|
+
|
127
|
+
|
128
|
+
<div class="sectiontitle">Constants</div>
|
129
|
+
<table border='0' cellpadding='5'>
|
130
|
+
<tr valign='top'>
|
131
|
+
<td class="attr-name">DEFAULT_FRAMEWORK_SPAWNER_MAX_IDLE_TIME</td>
|
132
|
+
<td>=</td>
|
133
|
+
<td class="attr-value">30 * 60</td>
|
134
|
+
</tr>
|
135
|
+
<tr valign='top'>
|
136
|
+
<td class="attr-name">DEFAULT_APP_SPAWNER_MAX_IDLE_TIME</td>
|
137
|
+
<td>=</td>
|
138
|
+
<td class="attr-value">10 * 60</td>
|
139
|
+
</tr>
|
140
|
+
</table>
|
141
|
+
|
142
|
+
|
143
|
+
<div class="sectiontitle">Public Class methods</div>
|
144
|
+
<div class="method">
|
145
|
+
<div class="title">
|
146
|
+
<a name="M000035"></a><b>call_event</b>(name, *args)
|
147
|
+
</div>
|
148
|
+
<div class="sourcecode">
|
149
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000035_source')" id="l_M000035_source">show source</a> ]</p>
|
150
|
+
<div id="M000035_source" class="dyn-source">
|
151
|
+
<pre>
|
152
|
+
<span class="ruby-comment cmt"># File lib/phusion_passenger/events.rb, line 27</span>
|
153
|
+
27: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">call_event</span>(<span class="ruby-identifier">name</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
154
|
+
28: <span class="ruby-identifier">callback_list_for_event</span>(<span class="ruby-identifier">name</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">callback</span><span class="ruby-operator">|</span>
|
155
|
+
29: <span class="ruby-identifier">callback</span>.<span class="ruby-identifier">call</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
156
|
+
30: <span class="ruby-keyword kw">end</span>
|
157
|
+
31: <span class="ruby-keyword kw">end</span>
|
158
|
+
</pre>
|
159
|
+
</div>
|
160
|
+
</div>
|
161
|
+
</div>
|
162
|
+
<div class="method">
|
163
|
+
<div class="title">
|
164
|
+
<a name="M000034"></a><b>on_event</b>(name, &block)
|
165
|
+
</div>
|
166
|
+
<div class="sourcecode">
|
167
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000034_source')" id="l_M000034_source">show source</a> ]</p>
|
168
|
+
<div id="M000034_source" class="dyn-source">
|
169
|
+
<pre>
|
170
|
+
<span class="ruby-comment cmt"># File lib/phusion_passenger/events.rb, line 23</span>
|
171
|
+
23: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">on_event</span>(<span class="ruby-identifier">name</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
172
|
+
24: <span class="ruby-identifier">callback_list_for_event</span>(<span class="ruby-identifier">name</span>) <span class="ruby-operator"><<</span> <span class="ruby-identifier">block</span>
|
173
|
+
25: <span class="ruby-keyword kw">end</span>
|
174
|
+
</pre>
|
175
|
+
</div>
|
176
|
+
</div>
|
177
|
+
</div>
|
178
|
+
</div>
|
179
|
+
|
180
|
+
</div>
|
181
|
+
|
182
|
+
</body>
|
183
|
+
</html>
|