colouringcode-passenger 0.1 → 0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. data/NEWS +129 -0
  2. data/Rakefile +2 -2
  3. data/bin/passenger-install-apache2-module +1 -0
  4. data/bin/passenger-install-nginx-module +4 -2
  5. data/ext/apache2/Hooks.cpp +4 -2
  6. data/ext/common/ApplicationPoolServer.h +1 -1
  7. data/ext/common/ApplicationPoolServerExecutable.cpp +1 -1
  8. data/ext/common/MessageChannel.h +48 -4
  9. data/ext/common/StandardApplicationPool.h +4 -2
  10. data/ext/common/Version.h +1 -1
  11. data/ext/nginx/Configuration.c +1 -1
  12. data/ext/nginx/HttpStatusExtractor.h +1 -0
  13. data/ext/nginx/ScgiRequestParser.h +1 -0
  14. data/ext/oxt/system_calls.cpp +11 -0
  15. data/ext/oxt/system_calls.hpp +2 -1
  16. data/ext/oxt/thread.hpp +97 -1
  17. data/ext/phusion_passenger/native_support.c +30 -1
  18. data/lib/phusion_passenger/constants.rb +1 -1
  19. data/lib/phusion_passenger/dependencies.rb +32 -0
  20. data/lib/phusion_passenger/message_channel.rb +45 -3
  21. data/lib/phusion_passenger/platform_info.rb +1 -1
  22. data/lib/phusion_passenger/rack/application_spawner.rb +10 -4
  23. data/lib/phusion_passenger/rack/request_handler.rb +2 -5
  24. data/lib/phusion_passenger/railz/application_spawner.rb +59 -7
  25. data/lib/phusion_passenger/utils.rb +70 -16
  26. data/{vendor/rack-1.0.0-git/lib/rack → lib/phusion_passenger/utils}/rewindable_input.rb +34 -9
  27. data/test/ApplicationPoolTest.cpp +1 -1
  28. data/test/MessageChannelTest.cpp +9 -1
  29. data/test/stub/message_channel.rb +1 -1
  30. data/test/stub/message_channel_2.rb +1 -1
  31. data/test/stub/message_channel_3.rb +2 -2
  32. metadata +43 -155
  33. data/doc/Architectural overview.html +0 -1
  34. data/doc/rdoc/classes/ConditionVariable.html +0 -194
  35. data/doc/rdoc/classes/Exception.html +0 -120
  36. data/doc/rdoc/classes/GC.html +0 -113
  37. data/doc/rdoc/classes/IO.html +0 -169
  38. data/doc/rdoc/classes/PhusionPassenger.html +0 -238
  39. data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +0 -153
  40. data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +0 -517
  41. data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +0 -719
  42. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +0 -97
  43. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +0 -96
  44. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +0 -97
  45. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +0 -96
  46. data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +0 -598
  47. data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +0 -140
  48. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess.html +0 -317
  49. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess/Instance.html +0 -138
  50. data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +0 -154
  51. data/doc/rdoc/classes/PhusionPassenger/Application.html +0 -283
  52. data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +0 -172
  53. data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +0 -145
  54. data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +0 -181
  55. data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +0 -141
  56. data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +0 -92
  57. data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +0 -489
  58. data/doc/rdoc/classes/PhusionPassenger/NativeSupport.html +0 -350
  59. data/doc/rdoc/classes/PhusionPassenger/Rack.html +0 -91
  60. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +0 -188
  61. data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +0 -199
  62. data/doc/rdoc/classes/PhusionPassenger/Railz.html +0 -95
  63. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner.html +0 -438
  64. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner/Error.html +0 -98
  65. data/doc/rdoc/classes/PhusionPassenger/Railz/CGIFixed.html +0 -200
  66. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner.html +0 -436
  67. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner/Error.html +0 -98
  68. data/doc/rdoc/classes/PhusionPassenger/Railz/RequestHandler.html +0 -155
  69. data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +0 -402
  70. data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +0 -125
  71. data/doc/rdoc/classes/PhusionPassenger/Utils.html +0 -803
  72. data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +0 -169
  73. data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +0 -140
  74. data/doc/rdoc/classes/PhusionPassenger/WSGI.html +0 -89
  75. data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +0 -188
  76. data/doc/rdoc/classes/PlatformInfo.html +0 -866
  77. data/doc/rdoc/classes/RakeExtensions.html +0 -197
  78. data/doc/rdoc/classes/Signal.html +0 -131
  79. data/doc/rdoc/created.rid +0 -1
  80. data/doc/rdoc/files/DEVELOPERS_TXT.html +0 -255
  81. data/doc/rdoc/files/README.html +0 -175
  82. data/doc/rdoc/files/ext/phusion_passenger/native_support_c.html +0 -92
  83. data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +0 -129
  84. data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +0 -129
  85. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +0 -126
  86. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +0 -128
  87. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/control_process_rb.html +0 -130
  88. data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +0 -122
  89. data/doc/rdoc/files/lib/phusion_passenger/application_rb.html +0 -127
  90. data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +0 -126
  91. data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +0 -122
  92. data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +0 -134
  93. data/doc/rdoc/files/lib/phusion_passenger/events_rb.html +0 -122
  94. data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +0 -122
  95. data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +0 -126
  96. data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +0 -120
  97. data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +0 -122
  98. data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +0 -127
  99. data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +0 -133
  100. data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +0 -125
  101. data/doc/rdoc/files/lib/phusion_passenger/railz/application_spawner_rb.html +0 -140
  102. data/doc/rdoc/files/lib/phusion_passenger/railz/cgi_fixed_rb.html +0 -126
  103. data/doc/rdoc/files/lib/phusion_passenger/railz/framework_spawner_rb.html +0 -145
  104. data/doc/rdoc/files/lib/phusion_passenger/railz/request_handler_rb.html +0 -125
  105. data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +0 -122
  106. data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +0 -159
  107. data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +0 -174
  108. data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +0 -129
  109. data/doc/rdoc/files/misc/rake/extensions_rb.html +0 -130
  110. data/doc/rdoc/fr_class_index.html +0 -91
  111. data/doc/rdoc/fr_file_index.html +0 -76
  112. data/doc/rdoc/fr_method_index.html +0 -205
  113. data/doc/rdoc/index.html +0 -26
  114. data/doc/rdoc/rdoc-style.css +0 -187
  115. data/vendor/README +0 -13
  116. data/vendor/README_FOR_PACKAGERS +0 -1
  117. data/vendor/rack-1.0.0-git/COPYING +0 -18
  118. data/vendor/rack-1.0.0-git/KNOWN-ISSUES +0 -18
  119. data/vendor/rack-1.0.0-git/README +0 -353
  120. data/vendor/rack-1.0.0-git/Rakefile +0 -164
  121. data/vendor/rack-1.0.0-git/lib/rack.rb +0 -90
  122. data/vendor/rack-1.0.0-git/lib/rack/adapter/camping.rb +0 -22
  123. data/vendor/rack-1.0.0-git/lib/rack/auth/abstract/handler.rb +0 -37
  124. data/vendor/rack-1.0.0-git/lib/rack/auth/abstract/request.rb +0 -37
  125. data/vendor/rack-1.0.0-git/lib/rack/auth/basic.rb +0 -58
  126. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/md5.rb +0 -124
  127. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/nonce.rb +0 -51
  128. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/params.rb +0 -55
  129. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/request.rb +0 -40
  130. data/vendor/rack-1.0.0-git/lib/rack/auth/openid.rb +0 -487
  131. data/vendor/rack-1.0.0-git/lib/rack/builder.rb +0 -63
  132. data/vendor/rack-1.0.0-git/lib/rack/cascade.rb +0 -41
  133. data/vendor/rack-1.0.0-git/lib/rack/chunked.rb +0 -49
  134. data/vendor/rack-1.0.0-git/lib/rack/commonlogger.rb +0 -52
  135. data/vendor/rack-1.0.0-git/lib/rack/conditionalget.rb +0 -47
  136. data/vendor/rack-1.0.0-git/lib/rack/content_length.rb +0 -29
  137. data/vendor/rack-1.0.0-git/lib/rack/content_type.rb +0 -23
  138. data/vendor/rack-1.0.0-git/lib/rack/deflater.rb +0 -96
  139. data/vendor/rack-1.0.0-git/lib/rack/directory.rb +0 -153
  140. data/vendor/rack-1.0.0-git/lib/rack/file.rb +0 -88
  141. data/vendor/rack-1.0.0-git/lib/rack/handler.rb +0 -69
  142. data/vendor/rack-1.0.0-git/lib/rack/handler/cgi.rb +0 -61
  143. data/vendor/rack-1.0.0-git/lib/rack/handler/evented_mongrel.rb +0 -8
  144. data/vendor/rack-1.0.0-git/lib/rack/handler/fastcgi.rb +0 -88
  145. data/vendor/rack-1.0.0-git/lib/rack/handler/lsws.rb +0 -55
  146. data/vendor/rack-1.0.0-git/lib/rack/handler/mongrel.rb +0 -84
  147. data/vendor/rack-1.0.0-git/lib/rack/handler/scgi.rb +0 -59
  148. data/vendor/rack-1.0.0-git/lib/rack/handler/swiftiplied_mongrel.rb +0 -8
  149. data/vendor/rack-1.0.0-git/lib/rack/handler/thin.rb +0 -18
  150. data/vendor/rack-1.0.0-git/lib/rack/handler/webrick.rb +0 -67
  151. data/vendor/rack-1.0.0-git/lib/rack/head.rb +0 -19
  152. data/vendor/rack-1.0.0-git/lib/rack/lint.rb +0 -537
  153. data/vendor/rack-1.0.0-git/lib/rack/lobster.rb +0 -65
  154. data/vendor/rack-1.0.0-git/lib/rack/lock.rb +0 -16
  155. data/vendor/rack-1.0.0-git/lib/rack/methodoverride.rb +0 -27
  156. data/vendor/rack-1.0.0-git/lib/rack/mime.rb +0 -204
  157. data/vendor/rack-1.0.0-git/lib/rack/mock.rb +0 -184
  158. data/vendor/rack-1.0.0-git/lib/rack/recursive.rb +0 -57
  159. data/vendor/rack-1.0.0-git/lib/rack/reloader.rb +0 -106
  160. data/vendor/rack-1.0.0-git/lib/rack/request.rb +0 -248
  161. data/vendor/rack-1.0.0-git/lib/rack/response.rb +0 -183
  162. data/vendor/rack-1.0.0-git/lib/rack/session/abstract/id.rb +0 -142
  163. data/vendor/rack-1.0.0-git/lib/rack/session/cookie.rb +0 -91
  164. data/vendor/rack-1.0.0-git/lib/rack/session/memcache.rb +0 -109
  165. data/vendor/rack-1.0.0-git/lib/rack/session/pool.rb +0 -100
  166. data/vendor/rack-1.0.0-git/lib/rack/showexceptions.rb +0 -349
  167. data/vendor/rack-1.0.0-git/lib/rack/showstatus.rb +0 -106
  168. data/vendor/rack-1.0.0-git/lib/rack/static.rb +0 -38
  169. data/vendor/rack-1.0.0-git/lib/rack/urlmap.rb +0 -55
  170. data/vendor/rack-1.0.0-git/lib/rack/utils.rb +0 -522
@@ -1,197 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
- <html>
6
- <head>
7
- <title>Module: RakeExtensions</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 />RakeExtensions</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/misc/rake/extensions_rb.html">misc/rake/extensions.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
- <div class="description"><p>
73
- Provides useful extensions for Rake.
74
- </p>
75
- </div>
76
-
77
-
78
-
79
- <div class="sectiontitle">Methods</div>
80
- <ul>
81
- <li><a href="#M000034">subdir</a></li>
82
- </ul>
83
-
84
-
85
-
86
-
87
-
88
-
89
- <div class="sectiontitle">Public Instance methods</div>
90
- <div class="method">
91
- <div class="title">
92
- <a name="M000034"></a><b>subdir</b>(dir, &amp;block)
93
- </div>
94
- <div class="description">
95
- <p>
96
- Allows one to define Rake rules in the context of the given subdirectory.
97
- For example,
98
- </p>
99
- <pre>
100
- subdir 'foo' do
101
- file 'libfoo.so' =&gt; ['foo.c'] do
102
- sh 'gcc foo.c -shared -fPIC -o libfoo.so'
103
- end
104
- end
105
-
106
- subdir 'bar' do
107
- file 'bar' =&gt; ['bar.c', '../foo/libfoo.so'] do
108
- sh 'gcc bar.c -o bar -L../foo -lfoo'
109
- end
110
- end
111
- </pre>
112
- <p>
113
- is equivalent to:
114
- </p>
115
- <pre>
116
- file 'foo/libfoo.so' =&gt; ['foo/foo.c'] do
117
- Dir.chdir('foo') do
118
- sh 'gcc foo.c -shared -fPIC -o libfoo.so'
119
- end
120
- end
121
-
122
- file 'bar/bar' =&gt; ['bar/bar.c', 'foo/libfoo.so'] do
123
- Dir.chdir('bar') do
124
- sh 'gcc bar.c -o bar -L../foo -lfoo'
125
- end
126
- end
127
- </pre>
128
- <h3>String dependencies are assumed to be filenames</h3>
129
- <p>
130
- But be careful with string dependencies. They are assumed to be filenames,
131
- and will be automatically converted. For example:
132
- </p>
133
- <pre>
134
- subdir 'foo' do
135
- task 'super_app' =&gt; ['super_app:compile', 'super_app:unit_test']
136
-
137
- task 'super_app:compile' do
138
- ...
139
- end
140
-
141
- task 'super_app:unit_test' do
142
- ...
143
- end
144
- end
145
- </pre>
146
- <p>
147
- will be treated like:
148
- </p>
149
- <pre>
150
- subdir 'foo' do
151
- # !!!!!!!
152
- task 'super_app' =&gt; ['foo/super_app:compile', 'foo/super_app:unit_test']
153
-
154
- task 'super_app:compile' do
155
- ...
156
- end
157
-
158
- task 'super_app:unit_test' do
159
- ...
160
- end
161
- end
162
- </pre>
163
- <p>
164
- To solve this, declare your dependencies as symbols:
165
- </p>
166
- <pre>
167
- task 'super_app' =&gt; [:'super_app:compile', :'super_app:unit_test']
168
- </pre>
169
- <p>
170
- (note the leading &#8217;:&#8217; character)
171
- </p>
172
- <h3>Supported Rake commands</h3>
173
- <p>
174
- Only the <tt>file</tt> and <tt>target</tt> Rake commands are supported.
175
- </p>
176
- </div>
177
- <div class="sourcecode">
178
- <p class="source-link">[ <a href="javascript:toggleSource('M000034_source')" id="l_M000034_source">show source</a> ]</p>
179
- <div id="M000034_source" class="dyn-source">
180
- <pre>
181
- <span class="ruby-comment cmt"># File misc/rake/extensions.rb, line 99</span>
182
- 99: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">subdir</span>(<span class="ruby-identifier">dir</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
183
- 100: <span class="ruby-identifier">subdir</span> = <span class="ruby-constant">Subdir</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">dir</span>)
184
- 101: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">dir</span>) <span class="ruby-keyword kw">do</span>
185
- 102: <span class="ruby-identifier">subdir</span>.<span class="ruby-identifier">instance_eval</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
186
- 103: <span class="ruby-keyword kw">end</span>
187
- 104: <span class="ruby-keyword kw">end</span>
188
- </pre>
189
- </div>
190
- </div>
191
- </div>
192
- </div>
193
-
194
- </div>
195
-
196
- </body>
197
- </html>
@@ -1,131 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
- <html>
6
- <head>
7
- <title>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="#M000009">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="M000009"></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('M000009_source')" id="l_M000009_source">show source</a> ]</p>
97
- <div id="M000009_source" class="dyn-source">
98
- <pre>
99
- <span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 555</span>
100
- 555: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">list_trappable</span>
101
- 556: <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
- 557: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">ruby_engine</span>
103
- 558: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;ruby&quot;</span>
104
- 559: <span class="ruby-identifier">result</span> = <span class="ruby-constant">Signal</span>.<span class="ruby-identifier">list</span>
105
- 560: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;ALRM&quot;</span>)
106
- 561: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;VTALRM&quot;</span>)
107
- 562: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">result</span>
108
- 563: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;jruby&quot;</span>
109
- 564: <span class="ruby-identifier">result</span> = <span class="ruby-constant">Signal</span>.<span class="ruby-identifier">list</span>
110
- 565: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;QUIT&quot;</span>)
111
- 566: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;ILL&quot;</span>)
112
- 567: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;FPE&quot;</span>)
113
- 568: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;KILL&quot;</span>)
114
- 569: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;SEGV&quot;</span>)
115
- 570: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;STOP&quot;</span>)
116
- 571: <span class="ruby-identifier">result</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;USR1&quot;</span>)
117
- 572: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">result</span>
118
- 573: <span class="ruby-keyword kw">else</span>
119
- 574: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">Signal</span>.<span class="ruby-identifier">list</span>
120
- 575: <span class="ruby-keyword kw">end</span>
121
- 576: <span class="ruby-keyword kw">end</span>
122
- </pre>
123
- </div>
124
- </div>
125
- </div>
126
- </div>
127
-
128
- </div>
129
-
130
- </body>
131
- </html>
@@ -1 +0,0 @@
1
- Tue, 24 Nov 2009 20:02:40 +0000
@@ -1,255 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
- <html>
6
- <head>
7
- <title>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>Tue Nov 24 19:03:57 +0000 2009</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 2.0.1 (<b>exactly</b> 2.0.1)
88
-
89
- </li>
90
- <li>rspec &gt;= 1.1.2
91
-
92
- </li>
93
- <li>mime-types &gt;= 1.15
94
-
95
- </li>
96
- <li>daemon_controller (only for running the Nginx integration test). Install
97
- with: gem install FooBarWidget-daemon_controller -s <a
98
- href="http://gems.github.com">gems.github.com</a>
99
-
100
- </li>
101
- </ul>
102
- <p>
103
- The following software is optional:
104
- </p>
105
- <ul>
106
- <li>RCov, for code coverage
107
-
108
- </li>
109
- <li>RDoc, for generating HTML Ruby API documentation
110
-
111
- </li>
112
- <li>Doxygen, for generating HTML C++ API documentation
113
-
114
- </li>
115
- <li>dot (part of Graphviz), for generating diagrams in HTML API documentation
116
-
117
- </li>
118
- <li>The font &quot;Bitstream Vera Sans&quot;, used in the class diagrams. See
119
- <a href="http://www.gnome.org/fonts">www.gnome.org/fonts</a>
120
-
121
- </li>
122
- <li>AsciiDoc &gt;= 8.2.5, for converting various doc/*.txt documents to HTML
123
-
124
- </li>
125
- </ul>
126
- <h2>Compiling Phusion Passenger</h2>
127
- <p>
128
- Run the following command to compile everything:
129
- </p>
130
- <pre>
131
- rake
132
- </pre>
133
- <h2>Directory structure</h2>
134
- <p>
135
- The most important directories are:
136
- </p>
137
- <dl>
138
- <dt> lib/phusion_passenger </dt><dd>The source code for the spawn server, which is written in Ruby.
139
-
140
- </dd>
141
- <dt> ext/phusion_passenger </dt><dd>Native extensions for Ruby, used by the spawn server.
142
-
143
- </dd>
144
- <dt> ext/apache2 </dt><dd>Apache 2-specific source code.
145
-
146
- </dd>
147
- <dt> ext/nginx </dt><dd>Nginx-specific source code.
148
-
149
- </dd>
150
- <dt> ext/common </dt><dd>Source code shared by the Apache and Nginx modules.
151
-
152
- </dd>
153
- <dt> bin </dt><dd>Executables.
154
-
155
- </dd>
156
- <dt> doc </dt><dd>Various documentation.
157
-
158
- </dd>
159
- <dt> test </dt><dd>Unit tests and integration tests.
160
-
161
- </dd>
162
- <dt> test/support </dt><dd>Support/utility code, used in the tests.
163
-
164
- </dd>
165
- <dt> test/stub </dt><dd>Stub code, used in the tests.
166
-
167
- </dd>
168
- </dl>
169
- <p>
170
- Less important directories:
171
- </p>
172
- <dl>
173
- <dt> ext/boost </dt><dd>A stripped-down and customized version of the Boost C++ library (<a
174
- href="http://www.boost.org">www.boost.org</a>).
175
-
176
- </dd>
177
- <dt> ext/oxt </dt><dd>The &quot;OS eXtensions for boosT&quot; library, which provides various
178
- important functionality necessary for writing robust server software. It
179
- provides things like support for interruptable system calls and portable
180
- backtraces for C++. Boost was modified to make use of the functionality
181
- provided by OXT.
182
-
183
- </dd>
184
- <dt> benchmark </dt><dd>Benchmark tools.
185
-
186
- </dd>
187
- <dt> debian </dt><dd>Debian packaging files.
188
-
189
- </dd>
190
- <dt> man </dt><dd>Man pages.
191
-
192
- </dd>
193
- <dt> misc </dt><dd>Miscellaneous tools.
194
-
195
- </dd>
196
- <dt> misc/rake </dt><dd>Rake tasks.
197
-
198
- </dd>
199
- <dt> vendor </dt><dd>Various vendored libraries.
200
-
201
- </dd>
202
- </dl>
203
- <h2>Tests</h2>
204
- <p>
205
- Run all tests:
206
- </p>
207
- <pre>
208
- rake
209
- </pre>
210
- <p>
211
- Run just the tests for the Apache 2 module:
212
- </p>
213
- <pre>
214
- rake test:apache2
215
- </pre>
216
- <p>
217
- Run just the unit tests for the Ruby spawn server:
218
- </p>
219
- <pre>
220
- rake test:ruby
221
- </pre>
222
- <p>
223
- Run just the integration tests:
224
- </p>
225
- <pre>
226
- rake test:integration
227
- </pre>
228
- <p>
229
- <b>Note</b>: some tests, such as the ones that test privilege lowering,
230
- require root privileges. Those will only be run if Rake is run as root.
231
- </p>
232
- <h2>Documentation</h2>
233
- <p>
234
- Various developer documents can be found in &#8216;doc/*.html&#8217;.
235
- </p>
236
- <p>
237
- The Ruby part&#8216;s API reference is located in &#8216;doc/rdoc/&#8217;.
238
- The C++ part&#8216;s API reference is located in &#8216;doc/cxxapi/&#8217;.
239
- </p>
240
- </div>
241
-
242
-
243
-
244
-
245
-
246
-
247
-
248
-
249
-
250
- </div>
251
-
252
- </div>
253
-
254
- </body>
255
- </html>