passenger 3.0.2 → 3.0.3

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.

Files changed (220) hide show
  1. data/NEWS +29 -0
  2. data/build/agents.rb +1 -0
  3. data/build/apache2.rb +2 -1
  4. data/build/cxx_tests.rb +7 -0
  5. data/build/rpm.rb +17 -22
  6. data/doc/cxxapi/Constants_8h_source.html +1 -1
  7. data/doc/cxxapi/Exceptions_8h_source.html +18 -4
  8. data/doc/cxxapi/Logging_8h_source.html +332 -262
  9. data/doc/cxxapi/annotated.html +1 -0
  10. data/doc/cxxapi/classes.html +4 -4
  11. data/doc/cxxapi/group__Exceptions.html +2 -0
  12. data/doc/cxxapi/hierarchy.html +1 -0
  13. data/doc/cxxapi/inherit__graph__35.map +1 -3
  14. data/doc/cxxapi/inherit__graph__35.md5 +1 -1
  15. data/doc/cxxapi/inherit__graph__35.png +0 -0
  16. data/doc/cxxapi/inherit__graph__36.map +3 -1
  17. data/doc/cxxapi/inherit__graph__36.md5 +1 -1
  18. data/doc/cxxapi/inherit__graph__36.png +0 -0
  19. data/doc/cxxapi/inherit__graph__37.map +1 -1
  20. data/doc/cxxapi/inherit__graph__37.md5 +1 -1
  21. data/doc/cxxapi/inherit__graph__37.png +0 -0
  22. data/doc/cxxapi/inherit__graph__38.map +1 -1
  23. data/doc/cxxapi/inherit__graph__38.md5 +1 -1
  24. data/doc/cxxapi/inherit__graph__38.png +0 -0
  25. data/doc/cxxapi/inherit__graph__39.map +1 -1
  26. data/doc/cxxapi/inherit__graph__39.md5 +1 -1
  27. data/doc/cxxapi/inherit__graph__39.png +0 -0
  28. data/doc/cxxapi/inherit__graph__40.map +1 -1
  29. data/doc/cxxapi/inherit__graph__40.md5 +1 -1
  30. data/doc/cxxapi/inherit__graph__40.png +0 -0
  31. data/doc/cxxapi/inherits.html +9 -6
  32. data/doc/cxxapi/namespacePassenger.html +2 -0
  33. data/doc/cxxapi/tree.html +2 -0
  34. data/doc/rdoc/classes/ConditionVariable.html +215 -0
  35. data/doc/rdoc/classes/Exception.html +120 -0
  36. data/doc/rdoc/classes/GC.html +113 -0
  37. data/doc/rdoc/classes/IO.html +221 -0
  38. data/doc/rdoc/classes/PhusionPassenger.html +397 -0
  39. data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +180 -0
  40. data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +647 -0
  41. data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +654 -0
  42. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/InvalidPassword.html +92 -0
  43. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +97 -0
  44. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +96 -0
  45. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +97 -0
  46. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +96 -0
  47. data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +619 -0
  48. data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +142 -0
  49. data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats.html +368 -0
  50. data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats/Process.html +231 -0
  51. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance.html +588 -0
  52. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/CorruptedDirectoryError.html +92 -0
  53. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/GenerationsAbsentError.html +92 -0
  54. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Group.html +147 -0
  55. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Process.html +279 -0
  56. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/RoleDeniedError.html +92 -0
  57. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/StaleDirectoryError.html +92 -0
  58. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Stats.html +123 -0
  59. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/UnsupportedGenerationStructureVersionError.html +92 -0
  60. data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger.html +368 -0
  61. data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/Log.html +299 -0
  62. data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/SharedData.html +206 -0
  63. data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +155 -0
  64. data/doc/rdoc/classes/PhusionPassenger/AppProcess.html +367 -0
  65. data/doc/rdoc/classes/PhusionPassenger/ClassicRails.html +95 -0
  66. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner.html +351 -0
  67. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner/Error.html +98 -0
  68. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/CGIFixed.html +200 -0
  69. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner.html +410 -0
  70. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner/Error.html +98 -0
  71. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/RequestHandler.html +156 -0
  72. data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions.html +115 -0
  73. data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions/AnalyticsLogging.html +202 -0
  74. data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +172 -0
  75. data/doc/rdoc/classes/PhusionPassenger/DebugLogging.html +273 -0
  76. data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +145 -0
  77. data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +162 -0
  78. data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +141 -0
  79. data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +92 -0
  80. data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +673 -0
  81. data/doc/rdoc/classes/PhusionPassenger/MessageChannel/InvalidHashError.html +92 -0
  82. data/doc/rdoc/classes/PhusionPassenger/MessageClient.html +415 -0
  83. data/doc/rdoc/classes/PhusionPassenger/NativeSupportLoader.html +134 -0
  84. data/doc/rdoc/classes/PhusionPassenger/Packaging.html +129 -0
  85. data/doc/rdoc/classes/PhusionPassenger/PlatformInfo.html +1972 -0
  86. data/doc/rdoc/classes/PhusionPassenger/Plugin.html +237 -0
  87. data/doc/rdoc/classes/PhusionPassenger/Rack.html +91 -0
  88. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +312 -0
  89. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner/Error.html +98 -0
  90. data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +218 -0
  91. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions.html +114 -0
  92. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging.html +259 -0
  93. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ACExtension.html +139 -0
  94. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ASBenchmarkableExtension.html +118 -0
  95. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ExceptionLogger.html +135 -0
  96. data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +378 -0
  97. data/doc/rdoc/classes/PhusionPassenger/Standalone.html +111 -0
  98. data/doc/rdoc/classes/PhusionPassenger/Standalone/AppFinder.html +252 -0
  99. data/doc/rdoc/classes/PhusionPassenger/Standalone/Command.html +161 -0
  100. data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile.html +368 -0
  101. data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile/DisallowedContextError.html +132 -0
  102. data/doc/rdoc/classes/PhusionPassenger/Standalone/HelpCommand.html +151 -0
  103. data/doc/rdoc/classes/PhusionPassenger/Standalone/Main.html +189 -0
  104. data/doc/rdoc/classes/PhusionPassenger/Standalone/PackageRuntimeCommand.html +177 -0
  105. data/doc/rdoc/classes/PhusionPassenger/Standalone/RuntimeInstaller.html +341 -0
  106. data/doc/rdoc/classes/PhusionPassenger/Standalone/StartCommand.html +203 -0
  107. data/doc/rdoc/classes/PhusionPassenger/Standalone/StatusCommand.html +156 -0
  108. data/doc/rdoc/classes/PhusionPassenger/Standalone/StopCommand.html +168 -0
  109. data/doc/rdoc/classes/PhusionPassenger/Standalone/Utils.html +86 -0
  110. data/doc/rdoc/classes/PhusionPassenger/Standalone/VersionCommand.html +135 -0
  111. data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +125 -0
  112. data/doc/rdoc/classes/PhusionPassenger/Utils.html +1543 -0
  113. data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher.html +204 -0
  114. data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/DirInfo.html +171 -0
  115. data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/FileInfo.html +140 -0
  116. data/doc/rdoc/classes/PhusionPassenger/Utils/HostsFileParser.html +260 -0
  117. data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +194 -0
  118. data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput.html +265 -0
  119. data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput/Tempfile.html +120 -0
  120. data/doc/rdoc/classes/PhusionPassenger/Utils/UnseekableSocket.html +561 -0
  121. data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +140 -0
  122. data/doc/rdoc/classes/PhusionPassenger/WSGI.html +89 -0
  123. data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +182 -0
  124. data/doc/rdoc/classes/Process.html +115 -0
  125. data/doc/rdoc/classes/Signal.html +139 -0
  126. data/doc/rdoc/created.rid +1 -0
  127. data/doc/rdoc/files/DEVELOPERS_TXT.html +280 -0
  128. data/doc/rdoc/files/README.html +157 -0
  129. data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +130 -0
  130. data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +135 -0
  131. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +126 -0
  132. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +128 -0
  133. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/memory_stats_rb.html +126 -0
  134. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/server_instance_rb.html +132 -0
  135. data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +122 -0
  136. data/doc/rdoc/files/lib/phusion_passenger/analytics_logger_rb.html +129 -0
  137. data/doc/rdoc/files/lib/phusion_passenger/app_process_rb.html +127 -0
  138. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/application_spawner_rb.html +141 -0
  139. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/cgi_fixed_rb.html +126 -0
  140. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/framework_spawner_rb.html +146 -0
  141. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/request_handler_rb.html +125 -0
  142. data/doc/rdoc/files/lib/phusion_passenger/classic_rails_extensions/init_rb.html +132 -0
  143. data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +126 -0
  144. data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +122 -0
  145. data/doc/rdoc/files/lib/phusion_passenger/debug_logging_rb.html +122 -0
  146. data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +147 -0
  147. data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +122 -0
  148. data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +127 -0
  149. data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +120 -0
  150. data/doc/rdoc/files/lib/phusion_passenger/message_client_rb.html +127 -0
  151. data/doc/rdoc/files/lib/phusion_passenger/native_support_rb.html +132 -0
  152. data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +122 -0
  153. data/doc/rdoc/files/lib/phusion_passenger/platform_info/apache_rb.html +127 -0
  154. data/doc/rdoc/files/lib/phusion_passenger/platform_info/binary_compatibility_rb.html +129 -0
  155. data/doc/rdoc/files/lib/phusion_passenger/platform_info/compiler_rb.html +127 -0
  156. data/doc/rdoc/files/lib/phusion_passenger/platform_info/curl_rb.html +126 -0
  157. data/doc/rdoc/files/lib/phusion_passenger/platform_info/documentation_tools_rb.html +126 -0
  158. data/doc/rdoc/files/lib/phusion_passenger/platform_info/linux_rb.html +126 -0
  159. data/doc/rdoc/files/lib/phusion_passenger/platform_info/operating_system_rb.html +127 -0
  160. data/doc/rdoc/files/lib/phusion_passenger/platform_info/ruby_rb.html +128 -0
  161. data/doc/rdoc/files/lib/phusion_passenger/platform_info/zlib_rb.html +126 -0
  162. data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +122 -0
  163. data/doc/rdoc/files/lib/phusion_passenger/plugin_rb.html +127 -0
  164. data/doc/rdoc/files/lib/phusion_passenger/public_api_rb.html +127 -0
  165. data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +137 -0
  166. data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +125 -0
  167. data/doc/rdoc/files/lib/phusion_passenger/rails3_extensions/init_rb.html +127 -0
  168. data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +122 -0
  169. data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +160 -0
  170. data/doc/rdoc/files/lib/phusion_passenger/standalone/app_finder_rb.html +127 -0
  171. data/doc/rdoc/files/lib/phusion_passenger/standalone/command_rb.html +136 -0
  172. data/doc/rdoc/files/lib/phusion_passenger/standalone/config_file_rb.html +126 -0
  173. data/doc/rdoc/files/lib/phusion_passenger/standalone/help_command_rb.html +126 -0
  174. data/doc/rdoc/files/lib/phusion_passenger/standalone/main_rb.html +126 -0
  175. data/doc/rdoc/files/lib/phusion_passenger/standalone/package_runtime_command_rb.html +127 -0
  176. data/doc/rdoc/files/lib/phusion_passenger/standalone/runtime_installer_rb.html +133 -0
  177. data/doc/rdoc/files/lib/phusion_passenger/standalone/start_command_rb.html +136 -0
  178. data/doc/rdoc/files/lib/phusion_passenger/standalone/status_command_rb.html +126 -0
  179. data/doc/rdoc/files/lib/phusion_passenger/standalone/stop_command_rb.html +126 -0
  180. data/doc/rdoc/files/lib/phusion_passenger/standalone/utils_rb.html +126 -0
  181. data/doc/rdoc/files/lib/phusion_passenger/standalone/version_command_rb.html +127 -0
  182. data/doc/rdoc/files/lib/phusion_passenger/utils/file_system_watcher_rb.html +126 -0
  183. data/doc/rdoc/files/lib/phusion_passenger/utils/hosts_file_parser_rb.html +120 -0
  184. data/doc/rdoc/files/lib/phusion_passenger/utils/rewindable_input_rb.html +100 -0
  185. data/doc/rdoc/files/lib/phusion_passenger/utils/tmpdir_rb.html +122 -0
  186. data/doc/rdoc/files/lib/phusion_passenger/utils/unseekable_socket_rb.html +126 -0
  187. data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +179 -0
  188. data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +132 -0
  189. data/doc/rdoc/fr_class_index.html +139 -0
  190. data/doc/rdoc/fr_file_index.html +108 -0
  191. data/doc/rdoc/fr_method_index.html +439 -0
  192. data/doc/rdoc/index.html +26 -0
  193. data/doc/rdoc/rdoc-style.css +187 -0
  194. data/ext/apache2/Configuration.cpp +41 -0
  195. data/ext/apache2/Configuration.hpp +19 -0
  196. data/ext/apache2/Hooks.cpp +67 -5
  197. data/ext/common/Constants.h +1 -1
  198. data/ext/common/Exceptions.h +14 -0
  199. data/ext/common/Logging.h +76 -6
  200. data/ext/common/LoggingAgent/FilterSupport.h +1317 -0
  201. data/ext/common/LoggingAgent/LoggingServer.h +93 -4
  202. data/ext/common/LoggingAgent/RemoteSender.h +5 -5
  203. data/ext/common/Utils/StrIntUtils.cpp +12 -1
  204. data/ext/common/Utils/StrIntUtils.h +2 -1
  205. data/ext/common/Utils/StringMap.h +100 -0
  206. data/ext/nginx/Configuration.c +0 -1
  207. data/ext/nginx/ContentHandler.c +33 -7
  208. data/lib/phusion_passenger.rb +2 -2
  209. data/lib/phusion_passenger/abstract_request_handler.rb +5 -0
  210. data/lib/phusion_passenger/analytics_logger.rb +77 -11
  211. data/lib/phusion_passenger/dependencies.rb +11 -1
  212. data/lib/phusion_passenger/platform_info.rb +1 -1
  213. data/lib/phusion_passenger/utils.rb +9 -1
  214. data/test/cxx/FilterSupportTest.cpp +276 -0
  215. data/test/cxx/LoggingTest.cpp +28 -0
  216. data/test/cxx/StringMapTest.cpp +70 -0
  217. data/test/integration_tests/cgi_environment_spec.rb +10 -0
  218. metadata +170 -8
  219. data/ext/common/libboost_oxt/aggregate.cpp +0 -10
  220. data/ext/common/libpassenger_common/aggregate.cpp +0 -15
@@ -0,0 +1,139 @@
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: Signal</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 />Signal</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_rb.html">lib/phusion_passenger/utils.rb</a>
61
+ </td>
62
+ </tr>
63
+ </table>
64
+ </td>
65
+ </tr>
66
+ </table>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+ <div id="content">
71
+
72
+
73
+
74
+
75
+ <div class="sectiontitle">Methods</div>
76
+ <ul>
77
+ <li><a href="#M000011">list_trappable</a></li>
78
+ </ul>
79
+
80
+
81
+
82
+
83
+
84
+
85
+ <div class="sectiontitle">Public Class methods</div>
86
+ <div class="method">
87
+ <div class="title">
88
+ <a name="M000011"></a><b>list_trappable</b>()
89
+ </div>
90
+ <div class="description">
91
+ <p>
92
+ Like Signal.list, but only returns signals that we can actually trap.
93
+ </p>
94
+ </div>
95
+ <div class="sourcecode">
96
+ <p class="source-link">[ <a href="javascript:toggleSource('M000011_source')" id="l_M000011_source">show source</a> ]</p>
97
+ <div id="M000011_source" class="dyn-source">
98
+ <pre>
99
+ <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 1013</span>
100
+ 1013: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">list_trappable</span>
101
+ 1014: <span class="ruby-identifier">ruby_engine</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">&quot;ruby&quot;</span>
102
+ 1015: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">ruby_engine</span>
103
+ 1016: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;ruby&quot;</span>
104
+ 1017: <span class="ruby-identifier">result</span> = <span class="ruby-constant">Signal</span>.<span class="ruby-identifier">list</span>
105
+ 1018: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;ALRM&quot;</span>)
106
+ 1019: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;VTALRM&quot;</span>)
107
+ 1020: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;jruby&quot;</span>
108
+ 1021: <span class="ruby-identifier">result</span> = <span class="ruby-constant">Signal</span>.<span class="ruby-identifier">list</span>
109
+ 1022: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;QUIT&quot;</span>)
110
+ 1023: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;ILL&quot;</span>)
111
+ 1024: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;FPE&quot;</span>)
112
+ 1025: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;KILL&quot;</span>)
113
+ 1026: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;SEGV&quot;</span>)
114
+ 1027: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;USR1&quot;</span>)
115
+ 1028: <span class="ruby-keyword kw">else</span>
116
+ 1029: <span class="ruby-identifier">result</span> = <span class="ruby-constant">Signal</span>.<span class="ruby-identifier">list</span>
117
+ 1030: <span class="ruby-keyword kw">end</span>
118
+ 1031:
119
+ 1032: <span class="ruby-comment cmt"># Don't touch SIGCHLD no matter what! On OS X waitpid() will</span>
120
+ 1033: <span class="ruby-comment cmt"># malfunction if SIGCHLD doesn't have a correct handler.</span>
121
+ 1034: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;CLD&quot;</span>)
122
+ 1035: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;CHLD&quot;</span>)
123
+ 1036:
124
+ 1037: <span class="ruby-comment cmt"># Other stuff that we don't want to trap no matter which</span>
125
+ 1038: <span class="ruby-comment cmt"># Ruby engine.</span>
126
+ 1039: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;STOP&quot;</span>)
127
+ 1040:
128
+ 1041: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">result</span>
129
+ 1042: <span class="ruby-keyword kw">end</span>
130
+ </pre>
131
+ </div>
132
+ </div>
133
+ </div>
134
+ </div>
135
+
136
+ </div>
137
+
138
+ </body>
139
+ </html>
@@ -0,0 +1 @@
1
+ Thu, 24 Feb 2011 15:26:35 +0100
@@ -0,0 +1,280 @@
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>File: DEVELOPERS.TXT</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 border='0' cellpadding='0' cellspacing='0' width="100%" class='banner'>
54
+ <tr><td>
55
+ <table width="100%" border='0' cellpadding='0' cellspacing='0'><tr>
56
+ <td class="file-title" colspan="2"><span class="file-title-prefix">File</span><br />DEVELOPERS.TXT</td>
57
+ <td align="right">
58
+ <table border='0' cellspacing="0" cellpadding="2">
59
+ <tr>
60
+ <td>Path:</td>
61
+ <td>DEVELOPERS.TXT
62
+ </td>
63
+ </tr>
64
+ <tr>
65
+ <td>Modified:</td>
66
+ <td>Sun Feb 13 17:01:14 +0100 2011</td>
67
+ </tr>
68
+ </table>
69
+ </td></tr>
70
+ </table>
71
+ </td></tr>
72
+ </table><br />
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+ <div id="content">
77
+
78
+ <div class="description"><h1>Developers information</h1>
79
+ <h2>Required software</h2>
80
+ <p>
81
+ The tests need the following software installed:
82
+ </p>
83
+ <ul>
84
+ <li>All the usual Phusion Passenger dependencies.
85
+
86
+ </li>
87
+ <li>Ruby on Rails 1.2.x
88
+
89
+ </li>
90
+ <li>Ruby on Rails 2.0.x
91
+
92
+ </li>
93
+ <li>Ruby on Rails 2.2.x
94
+
95
+ </li>
96
+ <li>Ruby on Rails 2.3.x
97
+
98
+ </li>
99
+ <li>Ruby on Rails 3.0.x
100
+
101
+ </li>
102
+ <li>rspec &gt;= 1.1.2
103
+
104
+ </li>
105
+ <li>mime-types &gt;= 1.15
106
+
107
+ </li>
108
+ <li>sqlite3-ruby
109
+
110
+ </li>
111
+ </ul>
112
+ <p>
113
+ The following software is optional:
114
+ </p>
115
+ <ul>
116
+ <li>RCov, for code coverage
117
+
118
+ </li>
119
+ <li>RDoc, for generating HTML Ruby API documentation
120
+
121
+ </li>
122
+ <li>Doxygen, for generating HTML C++ API documentation
123
+
124
+ </li>
125
+ <li>dot (part of Graphviz), for generating diagrams in HTML API documentation
126
+
127
+ </li>
128
+ <li>The font &quot;Bitstream Vera Sans&quot;, used in the class diagrams. See
129
+ <a href="http://www.gnome.org/fonts">www.gnome.org/fonts</a>
130
+
131
+ </li>
132
+ <li>AsciiDoc &gt;= 8.2.5, for converting various doc/*.txt documents to HTML
133
+
134
+ </li>
135
+ </ul>
136
+ <h2>Compiling Phusion Passenger</h2>
137
+ <p>
138
+ Run the following command to compile everything:
139
+ </p>
140
+ <pre>
141
+ rake apache
142
+ rake nginx
143
+ </pre>
144
+ <h2>Directory structure</h2>
145
+ <p>
146
+ The most important directories are:
147
+ </p>
148
+ <dl>
149
+ <dt> lib/phusion_passenger </dt><dd>The source code for the spawn server, which is written in Ruby.
150
+
151
+ </dd>
152
+ <dt> ext/phusion_passenger </dt><dd>Native extensions for Ruby, used by the spawn server.
153
+
154
+ </dd>
155
+ <dt> ext/apache2 </dt><dd>Apache 2-specific source code.
156
+
157
+ </dd>
158
+ <dt> ext/nginx </dt><dd>Nginx-specific source code.
159
+
160
+ </dd>
161
+ <dt> ext/common </dt><dd>Source code shared by the Apache and Nginx modules.
162
+
163
+ </dd>
164
+ <dt> bin </dt><dd>User executables.
165
+
166
+ </dd>
167
+ <dt> helper-scripts </dt><dd>Scripts used during runtime, but not directly executed by the user.
168
+
169
+ </dd>
170
+ <dt> doc </dt><dd>Various documentation.
171
+
172
+ </dd>
173
+ <dt> test </dt><dd>Unit tests and integration tests.
174
+
175
+ </dd>
176
+ <dt> test/support </dt><dd>Support/utility code, used in the tests.
177
+
178
+ </dd>
179
+ <dt> test/stub </dt><dd>Stub code, used in the tests.
180
+
181
+ </dd>
182
+ </dl>
183
+ <p>
184
+ Less important directories:
185
+ </p>
186
+ <dl>
187
+ <dt> ext/boost </dt><dd>A stripped-down and customized version of the Boost C++ library (<a
188
+ href="http://www.boost.org">www.boost.org</a>).
189
+
190
+ </dd>
191
+ <dt> ext/oxt </dt><dd>The &quot;OS eXtensions for boosT&quot; library, which provides various
192
+ important functionality necessary for writing robust server software. It
193
+ provides things like support for interruptable system calls and portable
194
+ backtraces for C++. Boost was modified to make use of the functionality
195
+ provided by OXT.
196
+
197
+ </dd>
198
+ <dt> dev </dt><dd>Tools for Phusion Passenger developers. Not used during production.
199
+
200
+ </dd>
201
+ <dt> resources </dt><dd>Various resource files, used during production.
202
+
203
+ </dd>
204
+ <dt> debian </dt><dd>Debian packaging files.
205
+
206
+ </dd>
207
+ <dt> man </dt><dd>Man pages.
208
+
209
+ </dd>
210
+ <dt> build </dt><dd>Rake tasks used by the build system.
211
+
212
+ </dd>
213
+ </dl>
214
+ <h2>Tests</h2>
215
+ <p>
216
+ Run all tests:
217
+ </p>
218
+ <pre>
219
+ rake test
220
+ </pre>
221
+ <p>
222
+ Run only the unit tests for the C++ components:
223
+ </p>
224
+ <pre>
225
+ rake test:cxx
226
+ </pre>
227
+ <p>
228
+ Run just the unit tests for the Ruby spawn server:
229
+ </p>
230
+ <pre>
231
+ rake test:ruby
232
+ </pre>
233
+ <p>
234
+ Run just the integration tests:
235
+ </p>
236
+ <pre>
237
+ rake test:integration # All integration tests.
238
+ rake test:integration:apache2 # Just integration tests for Apache 2.
239
+ rake test:integration:nginx # Just integration tests for Nginx.
240
+ </pre>
241
+ <p>
242
+ Notes:
243
+ </p>
244
+ <ul>
245
+ <li>Some tests, such as the ones that test privilege lowering, require root
246
+ privileges. Those will only be run if Rake is run as root.
247
+
248
+ </li>
249
+ <li>Some tests will be run against multiple Rails versions in order to test
250
+ compatibility. This can take a long time. If you want to test against only
251
+ a single Rails version, then set the environment variable
252
+ ONLY_RAILS_VERSION to one of the subdirectory names in
253
+ test/stub/rails_apps, e.g. &#8216;export ONLY_RAILS_VERSION=2.3&#8216;
254
+
255
+ </li>
256
+ </ul>
257
+ <h2>Documentation</h2>
258
+ <p>
259
+ Various developer documents can be found in &#8216;doc/*.html&#8217;.
260
+ </p>
261
+ <p>
262
+ The Ruby part&#8216;s API reference is located in &#8216;doc/rdoc/&#8217;.
263
+ The C++ part&#8216;s API reference is located in &#8216;doc/cxxapi/&#8217;.
264
+ </p>
265
+ </div>
266
+
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+ </div>
276
+
277
+ </div>
278
+
279
+ </body>
280
+ </html>
@@ -0,0 +1,157 @@
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>File: README</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 border='0' cellpadding='0' cellspacing='0' width="100%" class='banner'>
54
+ <tr><td>
55
+ <table width="100%" border='0' cellpadding='0' cellspacing='0'><tr>
56
+ <td class="file-title" colspan="2"><span class="file-title-prefix">File</span><br />README</td>
57
+ <td align="right">
58
+ <table border='0' cellspacing="0" cellpadding="2">
59
+ <tr>
60
+ <td>Path:</td>
61
+ <td>README
62
+ </td>
63
+ </tr>
64
+ <tr>
65
+ <td>Modified:</td>
66
+ <td>Sat Sep 25 20:09:08 +0200 2010</td>
67
+ </tr>
68
+ </table>
69
+ </td></tr>
70
+ </table>
71
+ </td></tr>
72
+ </table><br />
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+ <div id="content">
77
+
78
+ <div class="description"><h2>Introduction</h2>
79
+ <p>
80
+ Phusion Passenger probably requires no introduction. We kindly refer the
81
+ reader to <a href="http://www.modrails.com">www.modrails.com</a>/ for
82
+ general information.
83
+ </p>
84
+ <h2>Installation</h2>
85
+ <h3>Regular installation</h3>
86
+ <p>
87
+ You can install either Phusion Passenger for Apache or for Nginx. Run
88
+ either of the following programs as root:
89
+ </p>
90
+ <pre>
91
+ ./bin/passenger-install-apache2-module
92
+ </pre>
93
+ <p>
94
+ -OR-
95
+ </p>
96
+ <pre>
97
+ ./bin/passenger-install-nginx-module
98
+ </pre>
99
+ <p>
100
+ That&#8216;s it. :)
101
+ </p>
102
+ <p>
103
+ For troubleshooting, configuration and tips, please read the corresponding
104
+ Users Guide:
105
+ </p>
106
+ <pre>
107
+ doc/Users guide Apache.html
108
+ doc/Users guide Nginx.html
109
+ </pre>
110
+ <p>
111
+ These files are included in the source tarball, and may also be viewed
112
+ online on our website.
113
+ </p>
114
+ <h3>Installing via a gem</h3>
115
+ <p>
116
+ You may also first generate a .gem file, and then install that. First, make
117
+ sure that you have the following software installed:
118
+ </p>
119
+ <ul>
120
+ <li>Doxygen: <a
121
+ href="http://www.stack.nl/~dimitri/doxygen">www.stack.nl/~dimitri/doxygen</a>/
122
+
123
+ </li>
124
+ <li>Asciidoc: <a
125
+ href="http://www.methods.co.nz/asciidoc">www.methods.co.nz/asciidoc</a>/
126
+
127
+ </li>
128
+ </ul>
129
+ <p>
130
+ Next, run:
131
+ </p>
132
+ <pre>
133
+ rake package
134
+ </pre>
135
+ <p>
136
+ The gem will be available under the &#8216;pkg&#8217; folder.
137
+ </p>
138
+ <h2>Legal</h2>
139
+ <p>
140
+ Phusion Passenger is a trademark of Hongli Lai &amp; Ninh Bui.
141
+ </p>
142
+ </div>
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+ </div>
153
+
154
+ </div>
155
+
156
+ </body>
157
+ </html>