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,140 +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: PhusionPassenger::AdminTools</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::AdminTools</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/admin_tools_rb.html">lib/phusion_passenger/admin_tools.rb</a>
61
- <a href="../../files/lib/phusion_passenger/admin_tools/control_process_rb.html">lib/phusion_passenger/admin_tools/control_process.rb</a>
62
- </td>
63
- </tr>
64
- </table>
65
- </td>
66
- </tr>
67
- </table>
68
- <!-- banner header -->
69
-
70
- <div id="bodyContent">
71
- <div id="content">
72
-
73
-
74
-
75
-
76
- <div class="sectiontitle">Methods</div>
77
- <ul>
78
- <li><a href="#M000051">process_is_alive?</a></li>
79
- <li><a href="#M000050">tmpdir</a></li>
80
- </ul>
81
-
82
-
83
-
84
- <div class="sectiontitle">Classes and Modules</div>
85
- Class <a href="AdminTools/ControlProcess.html" class="link">PhusionPassenger::AdminTools::ControlProcess</a><br />
86
-
87
-
88
-
89
-
90
- <div class="sectiontitle">Public Class methods</div>
91
- <div class="method">
92
- <div class="title">
93
- <a name="M000051"></a><b>process_is_alive?</b>(pid)
94
- </div>
95
- <div class="sourcecode">
96
- <p class="source-link">[ <a href="javascript:toggleSource('M000051_source')" id="l_M000051_source">show source</a> ]</p>
97
- <div id="M000051_source" class="dyn-source">
98
- <pre>
99
- <span class="ruby-comment cmt"># File lib/phusion_passenger/admin_tools.rb, line 36</span>
100
- 36: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">process_is_alive?</span>(<span class="ruby-identifier">pid</span>)
101
- 37: <span class="ruby-keyword kw">begin</span>
102
- 38: <span class="ruby-constant">Process</span>.<span class="ruby-identifier">kill</span>(<span class="ruby-value">0</span>, <span class="ruby-identifier">pid</span>)
103
- 39: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
104
- 40: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">ESRCH</span>
105
- 41: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
106
- 42: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">SystemCallError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
107
- 43: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
108
- 44: <span class="ruby-keyword kw">end</span>
109
- 45: <span class="ruby-keyword kw">end</span>
110
- </pre>
111
- </div>
112
- </div>
113
- </div>
114
- <div class="method">
115
- <div class="title">
116
- <a name="M000050"></a><b>tmpdir</b>()
117
- </div>
118
- <div class="sourcecode">
119
- <p class="source-link">[ <a href="javascript:toggleSource('M000050_source')" id="l_M000050_source">show source</a> ]</p>
120
- <div id="M000050_source" class="dyn-source">
121
- <pre>
122
- <span class="ruby-comment cmt"># File lib/phusion_passenger/admin_tools.rb, line 27</span>
123
- 27: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">tmpdir</span>
124
- 28: [<span class="ruby-value str">&quot;PASSENGER_TEMP_DIR&quot;</span>, <span class="ruby-value str">&quot;PASSENGER_TMPDIR&quot;</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
125
- 29: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">ENV</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">name</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-constant">ENV</span>[<span class="ruby-identifier">name</span>].<span class="ruby-identifier">empty?</span>
126
- 30: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">ENV</span>[<span class="ruby-identifier">name</span>]
127
- 31: <span class="ruby-keyword kw">end</span>
128
- 32: <span class="ruby-keyword kw">end</span>
129
- 33: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">&quot;/tmp&quot;</span>
130
- 34: <span class="ruby-keyword kw">end</span>
131
- </pre>
132
- </div>
133
- </div>
134
- </div>
135
- </div>
136
-
137
- </div>
138
-
139
- </body>
140
- </html>
@@ -1,317 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
- <html>
6
- <head>
7
- <title>Class: PhusionPassenger::AdminTools::ControlProcess</title>
8
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
10
-
11
- <script language="JavaScript" type="text/javascript">
12
- // <![CDATA[
13
-
14
- function toggleSource( id )
15
- {
16
- var elem
17
- var link
18
-
19
- if( document.getElementById )
20
- {
21
- elem = document.getElementById( id )
22
- link = document.getElementById( "l_" + id )
23
- }
24
- else if ( document.all )
25
- {
26
- elem = eval( "document.all." + id )
27
- link = eval( "document.all.l_" + id )
28
- }
29
- else
30
- return false;
31
-
32
- if( elem.style.display == "block" )
33
- {
34
- elem.style.display = "none"
35
- link.innerHTML = "show source"
36
- }
37
- else
38
- {
39
- elem.style.display = "block"
40
- link.innerHTML = "hide source"
41
- }
42
- }
43
-
44
- function openCode( url )
45
- {
46
- window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
- }
48
- // ]]>
49
- </script>
50
- </head>
51
-
52
- <body>
53
- <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
- <td class="file-title"><span class="file-title-prefix">Class</span><br />PhusionPassenger::AdminTools::ControlProcess</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/admin_tools/control_process_rb.html">lib/phusion_passenger/admin_tools/control_process.rb</a>
61
- </td>
62
- </tr>
63
- <tr>
64
- <td>Parent:</td>
65
- <td>
66
- Object
67
- </td>
68
- </tr>
69
- </table>
70
- </td>
71
- </tr>
72
- </table>
73
- <!-- banner header -->
74
-
75
- <div id="bodyContent">
76
- <div id="content">
77
-
78
-
79
-
80
-
81
- <div class="sectiontitle">Methods</div>
82
- <ul>
83
- <li><a href="#M000056">backtraces</a></li>
84
- <li><a href="#M000058">domains</a></li>
85
- <li><a href="#M000053">for_pid</a></li>
86
- <li><a href="#M000059">instances</a></li>
87
- <li><a href="#M000052">list</a></li>
88
- <li><a href="#M000054">new</a></li>
89
- <li><a href="#M000055">status</a></li>
90
- <li><a href="#M000057">xml</a></li>
91
- </ul>
92
-
93
-
94
-
95
- <div class="sectiontitle">Classes and Modules</div>
96
- Class <a href="ControlProcess/Instance.html" class="link">PhusionPassenger::AdminTools::ControlProcess::Instance</a><br />
97
-
98
-
99
-
100
- <div class="sectiontitle">Attributes</div>
101
- <table border='0' cellpadding='5'>
102
- <tr valign='top'>
103
- <td class='attr-rw'>
104
- [RW]
105
- </td>
106
- <td class='attr-name'>path</td>
107
- <td class='attr-desc'></td>
108
- </tr>
109
- <tr valign='top'>
110
- <td class='attr-rw'>
111
- [RW]
112
- </td>
113
- <td class='attr-name'>pid</td>
114
- <td class='attr-desc'></td>
115
- </tr>
116
- </table>
117
-
118
- <div class="sectiontitle">Public Class methods</div>
119
- <div class="method">
120
- <div class="title">
121
- <a name="M000053"></a><b>for_pid</b>(pid)
122
- </div>
123
- <div class="sourcecode">
124
- <p class="source-link">[ <a href="javascript:toggleSource('M000053_source')" id="l_M000053_source">show source</a> ]</p>
125
- <div id="M000053_source" class="dyn-source">
126
- <pre>
127
- <span class="ruby-comment cmt"># File lib/phusion_passenger/admin_tools/control_process.rb, line 60</span>
128
- 60: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">for_pid</span>(<span class="ruby-identifier">pid</span>)
129
- 61: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">list</span>(<span class="ruby-keyword kw">false</span>).<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">pid</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">pid</span> }
130
- 62: <span class="ruby-keyword kw">end</span>
131
- </pre>
132
- </div>
133
- </div>
134
- </div>
135
- <div class="method">
136
- <div class="title">
137
- <a name="M000052"></a><b>list</b>(clean_stale = true)
138
- </div>
139
- <div class="sourcecode">
140
- <p class="source-link">[ <a href="javascript:toggleSource('M000052_source')" id="l_M000052_source">show source</a> ]</p>
141
- <div id="M000052_source" class="dyn-source">
142
- <pre>
143
- <span class="ruby-comment cmt"># File lib/phusion_passenger/admin_tools/control_process.rb, line 42</span>
144
- 42: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">list</span>(<span class="ruby-identifier">clean_stale</span> = <span class="ruby-keyword kw">true</span>)
145
- 43: <span class="ruby-identifier">results</span> = []
146
- 44: <span class="ruby-constant">Dir</span>[<span class="ruby-node">&quot;#{AdminTools.tmpdir}/passenger.*&quot;</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dir</span><span class="ruby-operator">|</span>
147
- 45: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dir</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp re">/passenger.(\d+)\Z/</span>
148
- 46: <span class="ruby-keyword kw">begin</span>
149
- 47: <span class="ruby-identifier">results</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">ControlProcess</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">dir</span>)
150
- 48: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">ArgumentError</span>
151
- 49: <span class="ruby-comment cmt"># Stale Passenger temp folder. Clean it up if instructed.</span>
152
- 50: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">clean_stale</span>
153
- 51: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;*** Cleaning stale folder #{dir}&quot;</span>
154
- 52: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">chmod_R</span>(<span class="ruby-value">0700</span>, <span class="ruby-identifier">dir</span>) <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
155
- 53: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">rm_rf</span>(<span class="ruby-identifier">dir</span>)
156
- 54: <span class="ruby-keyword kw">end</span>
157
- 55: <span class="ruby-keyword kw">end</span>
158
- 56: <span class="ruby-keyword kw">end</span>
159
- 57: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">results</span>
160
- 58: <span class="ruby-keyword kw">end</span>
161
- </pre>
162
- </div>
163
- </div>
164
- </div>
165
- <div class="method">
166
- <div class="title">
167
- <a name="M000054"></a><b>new</b>(path)
168
- </div>
169
- <div class="sourcecode">
170
- <p class="source-link">[ <a href="javascript:toggleSource('M000054_source')" id="l_M000054_source">show source</a> ]</p>
171
- <div id="M000054_source" class="dyn-source">
172
- <pre>
173
- <span class="ruby-comment cmt"># File lib/phusion_passenger/admin_tools/control_process.rb, line 64</span>
174
- 64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">path</span>)
175
- 65: <span class="ruby-ivar">@path</span> = <span class="ruby-identifier">path</span>
176
- 66: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-node">&quot;#{path}/control_process.pid&quot;</span>)
177
- 67: <span class="ruby-identifier">data</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-node">&quot;#{path}/control_process.pid&quot;</span>).<span class="ruby-identifier">strip</span>
178
- 68: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">data</span>.<span class="ruby-identifier">empty?</span>
179
- 69: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;'#{path}' is not a valid control process directory.&quot;</span>
180
- 70: <span class="ruby-keyword kw">else</span>
181
- 71: <span class="ruby-ivar">@pid</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">to_i</span>
182
- 72: <span class="ruby-keyword kw">end</span>
183
- 73: <span class="ruby-keyword kw">else</span>
184
- 74: <span class="ruby-identifier">path</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/passenger.(\d+)\Z/</span>
185
- 75: <span class="ruby-ivar">@pid</span> = <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_i</span>
186
- 76: <span class="ruby-keyword kw">end</span>
187
- 77: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-constant">AdminTools</span>.<span class="ruby-identifier">process_is_alive?</span>(<span class="ruby-ivar">@pid</span>)
188
- 78: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;There is no control process with PID #{@pid}.&quot;</span>
189
- 79: <span class="ruby-keyword kw">end</span>
190
- 80: <span class="ruby-keyword kw">end</span>
191
- </pre>
192
- </div>
193
- </div>
194
- </div>
195
- <div class="sectiontitle">Public Instance methods</div>
196
- <div class="method">
197
- <div class="title">
198
- <a name="M000056"></a><b>backtraces</b>()
199
- </div>
200
- <div class="sourcecode">
201
- <p class="source-link">[ <a href="javascript:toggleSource('M000056_source')" id="l_M000056_source">show source</a> ]</p>
202
- <div id="M000056_source" class="dyn-source">
203
- <pre>
204
- <span class="ruby-comment cmt"># File lib/phusion_passenger/admin_tools/control_process.rb, line 89</span>
205
- 89: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">backtraces</span>
206
- 90: <span class="ruby-identifier">connect</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">channel</span><span class="ruby-operator">|</span>
207
- 91: <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">write</span>(<span class="ruby-value str">&quot;backtraces&quot;</span>)
208
- 92: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">read_scalar</span>
209
- 93: <span class="ruby-keyword kw">end</span>
210
- 94: <span class="ruby-keyword kw">end</span>
211
- </pre>
212
- </div>
213
- </div>
214
- </div>
215
- <div class="method">
216
- <div class="title">
217
- <a name="M000058"></a><b>domains</b>()
218
- </div>
219
- <div class="sourcecode">
220
- <p class="source-link">[ <a href="javascript:toggleSource('M000058_source')" id="l_M000058_source">show source</a> ]</p>
221
- <div id="M000058_source" class="dyn-source">
222
- <pre>
223
- <span class="ruby-comment cmt"># File lib/phusion_passenger/admin_tools/control_process.rb, line 103</span>
224
- 103: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">domains</span>
225
- 104: <span class="ruby-identifier">doc</span> = <span class="ruby-constant">REXML</span><span class="ruby-operator">::</span><span class="ruby-constant">Document</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">xml</span>)
226
- 105:
227
- 106: <span class="ruby-identifier">domains</span> = []
228
- 107: <span class="ruby-identifier">doc</span>.<span class="ruby-identifier">elements</span>.<span class="ruby-identifier">each</span>(<span class="ruby-value str">&quot;info/domains/domain&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">domain</span><span class="ruby-operator">|</span>
229
- 108: <span class="ruby-identifier">instances</span> = []
230
- 109: <span class="ruby-identifier">d</span> = {
231
- 110: <span class="ruby-identifier">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">domain</span>.<span class="ruby-identifier">elements</span>[<span class="ruby-value str">&quot;name&quot;</span>].<span class="ruby-identifier">text</span>,
232
- 111: <span class="ruby-identifier">:instances</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">instances</span>
233
- 112: }
234
- 113: <span class="ruby-identifier">domain</span>.<span class="ruby-identifier">elements</span>.<span class="ruby-identifier">each</span>(<span class="ruby-value str">&quot;instances/instance&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">instance</span><span class="ruby-operator">|</span>
235
- 114: <span class="ruby-identifier">i</span> = <span class="ruby-constant">Instance</span>.<span class="ruby-identifier">new</span>
236
- 115: <span class="ruby-identifier">instance</span>.<span class="ruby-identifier">elements</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">element</span><span class="ruby-operator">|</span>
237
- 116: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">i</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-node">&quot;#{element.name}=&quot;</span>)
238
- 117: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Instance</span><span class="ruby-operator">::</span><span class="ruby-constant">INT_PROPERTIES</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">element</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>)
239
- 118: <span class="ruby-identifier">value</span> = <span class="ruby-identifier">element</span>.<span class="ruby-identifier">text</span>.<span class="ruby-identifier">to_i</span>
240
- 119: <span class="ruby-keyword kw">else</span>
241
- 120: <span class="ruby-identifier">value</span> = <span class="ruby-identifier">element</span>.<span class="ruby-identifier">text</span>
242
- 121: <span class="ruby-keyword kw">end</span>
243
- 122: <span class="ruby-identifier">i</span>.<span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;#{element.name}=&quot;</span>, <span class="ruby-identifier">value</span>)
244
- 123: <span class="ruby-keyword kw">end</span>
245
- 124: <span class="ruby-keyword kw">end</span>
246
- 125: <span class="ruby-identifier">instances</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">i</span>
247
- 126: <span class="ruby-keyword kw">end</span>
248
- 127: <span class="ruby-identifier">domains</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">d</span>
249
- 128: <span class="ruby-keyword kw">end</span>
250
- 129: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">domains</span>
251
- 130: <span class="ruby-keyword kw">end</span>
252
- </pre>
253
- </div>
254
- </div>
255
- </div>
256
- <div class="method">
257
- <div class="title">
258
- <a name="M000059"></a><b>instances</b>()
259
- </div>
260
- <div class="sourcecode">
261
- <p class="source-link">[ <a href="javascript:toggleSource('M000059_source')" id="l_M000059_source">show source</a> ]</p>
262
- <div id="M000059_source" class="dyn-source">
263
- <pre>
264
- <span class="ruby-comment cmt"># File lib/phusion_passenger/admin_tools/control_process.rb, line 132</span>
265
- 132: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">instances</span>
266
- 133: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">domains</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">domain</span><span class="ruby-operator">|</span>
267
- 134: <span class="ruby-identifier">domain</span>[<span class="ruby-identifier">:instances</span>]
268
- 135: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">flatten</span>
269
- 136: <span class="ruby-keyword kw">end</span>
270
- </pre>
271
- </div>
272
- </div>
273
- </div>
274
- <div class="method">
275
- <div class="title">
276
- <a name="M000055"></a><b>status</b>()
277
- </div>
278
- <div class="sourcecode">
279
- <p class="source-link">[ <a href="javascript:toggleSource('M000055_source')" id="l_M000055_source">show source</a> ]</p>
280
- <div id="M000055_source" class="dyn-source">
281
- <pre>
282
- <span class="ruby-comment cmt"># File lib/phusion_passenger/admin_tools/control_process.rb, line 82</span>
283
- 82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">status</span>
284
- 83: <span class="ruby-identifier">connect</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">channel</span><span class="ruby-operator">|</span>
285
- 84: <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">write</span>(<span class="ruby-value str">&quot;status&quot;</span>)
286
- 85: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">read_scalar</span>
287
- 86: <span class="ruby-keyword kw">end</span>
288
- 87: <span class="ruby-keyword kw">end</span>
289
- </pre>
290
- </div>
291
- </div>
292
- </div>
293
- <div class="method">
294
- <div class="title">
295
- <a name="M000057"></a><b>xml</b>()
296
- </div>
297
- <div class="sourcecode">
298
- <p class="source-link">[ <a href="javascript:toggleSource('M000057_source')" id="l_M000057_source">show source</a> ]</p>
299
- <div id="M000057_source" class="dyn-source">
300
- <pre>
301
- <span class="ruby-comment cmt"># File lib/phusion_passenger/admin_tools/control_process.rb, line 96</span>
302
- 96: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">xml</span>
303
- 97: <span class="ruby-identifier">connect</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">channel</span><span class="ruby-operator">|</span>
304
- 98: <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">write</span>(<span class="ruby-value str">&quot;status_xml&quot;</span>)
305
- 99: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">channel</span>.<span class="ruby-identifier">read_scalar</span>
306
- 100: <span class="ruby-keyword kw">end</span>
307
- 101: <span class="ruby-keyword kw">end</span>
308
- </pre>
309
- </div>
310
- </div>
311
- </div>
312
- </div>
313
-
314
- </div>
315
-
316
- </body>
317
- </html>