passenger 3.0.15 → 3.0.17
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- data/NEWS +22 -0
- data/doc/Users guide Apache.html +8 -8
- data/doc/Users guide Apache.idmap.txt +1 -1
- data/doc/Users guide Apache.txt +13 -7
- data/doc/Users guide Nginx.html +7 -7
- data/doc/Users guide Nginx.idmap.txt +1 -1
- data/doc/Users guide Nginx.txt +11 -6
- data/doc/users_guide_snippets/enterprise_only.txt +1 -0
- data/ext/apache2/Configuration.cpp +40 -0
- data/ext/apache2/Hooks.cpp +5 -5
- data/ext/boost/config/suffix.hpp +12 -0
- data/ext/boost/src/pthread/thread.cpp +2 -2
- data/ext/boost/src/pthread/timeconv.inl +8 -8
- data/ext/boost/thread/locks.hpp +3 -3
- data/ext/boost/thread/xtime.hpp +2 -2
- data/ext/common/ApplicationPool/Pool.h +1 -1
- data/ext/common/Constants.h +1 -1
- data/ext/common/IniFile.h +9 -9
- data/ext/common/LoggingAgent/LoggingServer.h +1 -1
- data/ext/common/MessageChannel.h +2 -2
- data/ext/common/Watchdog.cpp +1 -1
- data/ext/nginx/Configuration.c +45 -0
- data/lib/phusion_passenger.rb +3 -3
- data/lib/phusion_passenger/platform_info/compiler.rb +2 -1
- data/test/tut/tut.h +3 -9
- metadata +5 -4
data/NEWS
CHANGED
@@ -1,3 +1,25 @@
|
|
1
|
+
Release 3.0.17
|
2
|
+
--------------
|
3
|
+
|
4
|
+
* Fixed a Ruby 1.9 encoding-related bug in the memory measurer.
|
5
|
+
(Phusion Passenger Enterprise)
|
6
|
+
* Fixed OOM adjustment bugs on Linux.
|
7
|
+
* Fixed compilation problems on Fedora 18 and 19.
|
8
|
+
* Fixed compilation problems on SunOS.
|
9
|
+
* Fixed compilation problems on AIX. Contribution by Perry Smith.
|
10
|
+
* Fixed various compilation warnings.
|
11
|
+
* Upgraded preferred Nginx version to 1.2.3.
|
12
|
+
|
13
|
+
3.0.16 was an unofficial hotfix release, and so its announcement had been skipped.
|
14
|
+
|
15
|
+
|
16
|
+
Release 3.0.15
|
17
|
+
--------------
|
18
|
+
|
19
|
+
* Updated documentation.
|
20
|
+
* Updated website links.
|
21
|
+
|
22
|
+
|
1
23
|
Release 3.0.14
|
2
24
|
--------------
|
3
25
|
|
data/doc/Users guide Apache.html
CHANGED
@@ -2571,7 +2571,7 @@ if responses can be huge. Because entire responses are buffered in memory when t
|
|
2571
2571
|
</div>
|
2572
2572
|
<div class="sect2">
|
2573
2573
|
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="PassengerRollingRestarts" data-comment-topic="passengerrollingrestarts">5.11. PassengerRollingRestarts <on|off></h3>
|
2574
|
-
<div class="paragraph"><p><strong>
|
2574
|
+
<div class="paragraph"><p><strong>This feature is only available in <a href="https://www.phusionpassenger.com/enterprise">Phusion Passenger Enterprise</a>. It was introduced in version 3.0.0. <a href="https://www.phusionpassenger.com/download">Buy Phusion Passenger Enterprise here.</a></strong></p></div>
|
2575
2575
|
<div class="paragraph"><p>Enables or disables support for rolling restarts. Normally when you
|
2576
2576
|
restart an application (by touching restart.txt), Phusion Passenger would
|
2577
2577
|
shut down all application processes and spawn a new one. The spawning
|
@@ -2644,7 +2644,7 @@ In <em>.htaccess</em>, if <span class="monospaced">AllowOverride Options</span>
|
|
2644
2644
|
</div>
|
2645
2645
|
<div class="sect2">
|
2646
2646
|
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_passengerresistdeploymenterrors_lt_on_off_gt" data-comment-topic="passengerresistdeploymenterrors">5.12. PassengerResistDeploymentErrors <on|off></h3>
|
2647
|
-
<div class="paragraph"><p><strong>
|
2647
|
+
<div class="paragraph"><p><strong>This feature is only available in <a href="https://www.phusionpassenger.com/enterprise">Phusion Passenger Enterprise</a>. It was introduced in version 3.0.0. <a href="https://www.phusionpassenger.com/download">Buy Phusion Passenger Enterprise here.</a></strong></p></div>
|
2648
2648
|
<div class="paragraph"><p>Enables or disables resistance against deployment errors.</p></div>
|
2649
2649
|
<div class="paragraph"><p>Suppose you’ve upgraded your application and you’ve issues a command to restart it (by touching restart.txt), but the application code contains an error that prevents Phusion Passenger from successfully spawning a process (e.g. a syntax error). Phusion Passenger would normally display an error message in response to this.</p></div>
|
2650
2650
|
<div class="paragraph"><p>By enabling deployment error resistance, Phusion Passenger Enterprise would instead do this:</p></div>
|
@@ -2910,7 +2910,7 @@ In <em>.htaccess</em>, if <span class="monospaced">AllowOverride Limits</span> i
|
|
2910
2910
|
</div>
|
2911
2911
|
<div class="sect3">
|
2912
2912
|
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengermaxinstances_lt_integer_gt" data-comment-topic="passengermaxinstances">5.14.3. PassengerMaxInstances <integer></h4>
|
2913
|
-
<div class="paragraph"><p><strong>
|
2913
|
+
<div class="paragraph"><p><strong>This feature is only available in <a href="https://www.phusionpassenger.com/enterprise">Phusion Passenger Enterprise</a>. It was introduced in version 3.0.0. <a href="https://www.phusionpassenger.com/download">Buy Phusion Passenger Enterprise here.</a></strong></p></div>
|
2914
2914
|
<div class="paragraph"><p>The maximum number of application processes that may simultaneously exist
|
2915
2915
|
for an application. This helps to make sure that a single application
|
2916
2916
|
will not occupy all available slots in the application pool.</p></div>
|
@@ -3074,7 +3074,7 @@ measure to avoid memory leaks.</p></div>
|
|
3074
3074
|
</div>
|
3075
3075
|
<div class="sect3">
|
3076
3076
|
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerMaxRequestTime" data-comment-topic="passengermaxrequesttime-seconds--7qnz3x">5.14.7. PassengerMaxRequestTime <seconds></h4>
|
3077
|
-
<div class="paragraph"><p><strong>
|
3077
|
+
<div class="paragraph"><p><strong>This feature is only available in <a href="https://www.phusionpassenger.com/enterprise">Phusion Passenger Enterprise</a>. It was introduced in version 3.0.0. <a href="https://www.phusionpassenger.com/download">Buy Phusion Passenger Enterprise here.</a></strong></p></div>
|
3078
3078
|
<div class="paragraph"><p>The maximum amount of time, in seconds, that an application process may take
|
3079
3079
|
to process a request. If the request takes longer than this amount of time,
|
3080
3080
|
then the application process will be forcefully shut down, and possibly
|
@@ -3143,7 +3143,7 @@ measure to avoid freezing applications.</p></div>
|
|
3143
3143
|
</div>
|
3144
3144
|
<div class="sect3">
|
3145
3145
|
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerMemoryLimit" data-comment-topic="passengermemorylimit">5.14.8. PassengerMemoryLimit <integer></h4>
|
3146
|
-
<div class="paragraph"><p><strong>
|
3146
|
+
<div class="paragraph"><p><strong>This feature is only available in <a href="https://www.phusionpassenger.com/enterprise">Phusion Passenger Enterprise</a>. It was introduced in version 3.0.0. <a href="https://www.phusionpassenger.com/download">Buy Phusion Passenger Enterprise here.</a></strong></p></div>
|
3147
3147
|
<div class="paragraph"><p>The maximum amount of memory that an application process may use, in megabytes.
|
3148
3148
|
Once an application process has surpassed its memory limit, it will process
|
3149
3149
|
all the requests currently present in its queue and then shut down.
|
@@ -3745,7 +3745,7 @@ error messages should be written to instead.</p></div>
|
|
3745
3745
|
</div>
|
3746
3746
|
<div class="sect3">
|
3747
3747
|
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passengerdebugger_lt_on_off_gt" data-comment-topic="passengerdebugger-on-off--1lgdk7g">5.16.3. PassengerDebugger <on|off></h4>
|
3748
|
-
<div class="paragraph"><p><strong>
|
3748
|
+
<div class="paragraph"><p><strong>This feature is only available in <a href="https://www.phusionpassenger.com/enterprise">Phusion Passenger Enterprise</a>. It was introduced in version 3.0.0. <a href="https://www.phusionpassenger.com/download">Buy Phusion Passenger Enterprise here.</a></strong></p></div>
|
3749
3749
|
<div class="paragraph"><p>Turns support for application debugging on or off. In case of Ruby applications,
|
3750
3750
|
turning this option on will cause them to load the <span class="monospaced">ruby-debug</span> gem (when on Ruby 1.8)
|
3751
3751
|
or the <span class="monospaced">debugger</span> gem (when on Ruby 1.9). If you’re using Bundler, you should add
|
@@ -3935,7 +3935,7 @@ In a virtual host configuration block.
|
|
3935
3935
|
</div>
|
3936
3936
|
</div>
|
3937
3937
|
<div class="sect2">
|
3938
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="
|
3938
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_rack_and_rails_gt_3_specific_options" data-comment-topic="rack-specific-options-wk9qzt">5.18. Rack and Rails >= 3 specific options</h3>
|
3939
3939
|
<div class="sect3">
|
3940
3940
|
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_rackautodetect_lt_on_off_gt" data-comment-topic="rackautodetect-on-off--vl1lxy">5.18.1. RackAutoDetect <on|off></h4>
|
3941
3941
|
<div class="paragraph"><p>Whether Phusion Passenger should automatically detect whether a virtual host’s
|
@@ -5647,7 +5647,7 @@ has no effect.</p></div>
|
|
5647
5647
|
<div id="footnotes"><hr></div>
|
5648
5648
|
<div id="footer">
|
5649
5649
|
<div id="footer-text">
|
5650
|
-
Last updated 2012-08-
|
5650
|
+
Last updated 2012-08-28 11:03:54 CEST
|
5651
5651
|
</div>
|
5652
5652
|
</div>
|
5653
5653
|
<script>/*! jQuery v1.7.1 jquery.com | jquery.org/license */
|
@@ -192,7 +192,7 @@
|
|
192
192
|
|
193
193
|
5.17.5. RailsAppSpawnerIdleTime <integer> => railsappspawneridletime-integer--1awgog1
|
194
194
|
|
195
|
-
5.18. Rack
|
195
|
+
5.18. Rack and Rails >= 3 specific options => rack-specific-options-wk9qzt
|
196
196
|
|
197
197
|
5.18.1. RackAutoDetect <on|off> => rackautodetect-on-off--vl1lxy
|
198
198
|
|
data/doc/Users guide Apache.txt
CHANGED
@@ -982,7 +982,8 @@ if responses can be huge. Because entire responses are buffered in memory when t
|
|
982
982
|
|
983
983
|
[[PassengerRollingRestarts]]
|
984
984
|
=== PassengerRollingRestarts <on|off> ===
|
985
|
-
|
985
|
+
:version: 3.0.0
|
986
|
+
include::users_guide_snippets/enterprise_only.txt[]
|
986
987
|
|
987
988
|
Enables or disables support for rolling restarts. Normally when you
|
988
989
|
restart an application (by touching restart.txt), Phusion Passenger would
|
@@ -1021,7 +1022,8 @@ This option may occur in the following places:
|
|
1021
1022
|
In each place, it may be specified at most once. The default value is 'off'.
|
1022
1023
|
|
1023
1024
|
=== PassengerResistDeploymentErrors <on|off> ===
|
1024
|
-
|
1025
|
+
:version: 3.0.0
|
1026
|
+
include::users_guide_snippets/enterprise_only.txt[]
|
1025
1027
|
|
1026
1028
|
Enables or disables resistance against deployment errors.
|
1027
1029
|
|
@@ -1204,7 +1206,8 @@ The PassengerMinInstances option may occur in the following places:
|
|
1204
1206
|
In each place, it may be specified at most once. The default value is '1'.
|
1205
1207
|
|
1206
1208
|
==== PassengerMaxInstances <integer> ====
|
1207
|
-
|
1209
|
+
:version: 3.0.0
|
1210
|
+
include::users_guide_snippets/enterprise_only.txt[]
|
1208
1211
|
|
1209
1212
|
The maximum number of application processes that may simultaneously exist
|
1210
1213
|
for an application. This helps to make sure that a single application
|
@@ -1337,7 +1340,8 @@ measure to avoid memory leaks.
|
|
1337
1340
|
|
1338
1341
|
[[PassengerMaxRequestTime]]
|
1339
1342
|
==== PassengerMaxRequestTime <seconds> ====
|
1340
|
-
|
1343
|
+
:version: 3.0.0
|
1344
|
+
include::users_guide_snippets/enterprise_only.txt[]
|
1341
1345
|
|
1342
1346
|
The maximum amount of time, in seconds, that an application process may take
|
1343
1347
|
to process a request. If the request takes longer than this amount of time,
|
@@ -1387,7 +1391,8 @@ measure to avoid freezing applications.
|
|
1387
1391
|
|
1388
1392
|
[[PassengerMemoryLimit]]
|
1389
1393
|
==== PassengerMemoryLimit <integer> ====
|
1390
|
-
|
1394
|
+
:version: 3.0.0
|
1395
|
+
include::users_guide_snippets/enterprise_only.txt[]
|
1391
1396
|
|
1392
1397
|
The maximum amount of memory that an application process may use, in megabytes.
|
1393
1398
|
Once an application process has surpassed its memory limit, it will process
|
@@ -1844,7 +1849,8 @@ error messages should be written to instead.
|
|
1844
1849
|
This option may only occur once, in the global server configuration.
|
1845
1850
|
|
1846
1851
|
==== PassengerDebugger <on|off> ====
|
1847
|
-
|
1852
|
+
:version: 3.0.0
|
1853
|
+
include::users_guide_snippets/enterprise_only.txt[]
|
1848
1854
|
|
1849
1855
|
Turns support for application debugging on or off. In case of Ruby applications,
|
1850
1856
|
turning this option on will cause them to load the `ruby-debug` gem (when on Ruby 1.8)
|
@@ -1979,7 +1985,7 @@ This option may occur in the following places:
|
|
1979
1985
|
|
1980
1986
|
In each place, it may be specified at most once. The default value is '600' (10 minutes).
|
1981
1987
|
|
1982
|
-
=== Rack
|
1988
|
+
=== Rack and Rails >= 3 specific options ===
|
1983
1989
|
|
1984
1990
|
==== RackAutoDetect <on|off> ====
|
1985
1991
|
Whether Phusion Passenger should automatically detect whether a virtual host's
|
data/doc/Users guide Nginx.html
CHANGED
@@ -1990,7 +1990,7 @@ In an <em>if</em> configuration scope.
|
|
1990
1990
|
</div>
|
1991
1991
|
<div class="sect2">
|
1992
1992
|
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="PassengerRollingRestarts" data-comment-topic="passenger-rolling-restarts">5.4. passenger_rolling_restarts <on|off></h3>
|
1993
|
-
<div class="paragraph"><p><strong>
|
1993
|
+
<div class="paragraph"><p><strong>This feature is only available in <a href="https://www.phusionpassenger.com/enterprise">Phusion Passenger Enterprise</a>. It was introduced in version 3.0.0. <a href="https://www.phusionpassenger.com/download">Buy Phusion Passenger Enterprise here.</a></strong></p></div>
|
1994
1994
|
<div class="paragraph"><p>Enables or disables support for rolling restarts. Normally when you
|
1995
1995
|
restart an application (by touching restart.txt), Phusion Passenger would
|
1996
1996
|
shut down all application processes and spawn a new one. The spawning
|
@@ -2063,7 +2063,7 @@ In an <em>if</em> configuration scope.
|
|
2063
2063
|
</div>
|
2064
2064
|
<div class="sect2">
|
2065
2065
|
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_passenger_resist_deployment_errors_lt_on_off_gt" data-comment-topic="passenger-resist-deployment-errors-on-off--k9yf1">5.5. passenger_resist_deployment_errors <on|off></h3>
|
2066
|
-
<div class="paragraph"><p><strong>
|
2066
|
+
<div class="paragraph"><p><strong>This feature is only available in <a href="https://www.phusionpassenger.com/enterprise">Phusion Passenger Enterprise</a>. It was introduced in version 3.0.0. <a href="https://www.phusionpassenger.com/download">Buy Phusion Passenger Enterprise here.</a></strong></p></div>
|
2067
2067
|
<div class="paragraph"><p>Enables or disables resistance against deployment errors.</p></div>
|
2068
2068
|
<div class="paragraph"><p>Suppose you’ve upgraded your application and you’ve issues a command to restart it (by touching restart.txt), but the application code contains an error that prevents Phusion Passenger from successfully spawning a process (e.g. a syntax error). Phusion Passenger would normally display an error message in response to this.</p></div>
|
2069
2069
|
<div class="paragraph"><p>By enabling deployment error resistance, Phusion Passenger Enterprise would instead do this:</p></div>
|
@@ -2709,7 +2709,7 @@ In an <em>if</em> configuration scope.
|
|
2709
2709
|
</div>
|
2710
2710
|
<div class="sect3">
|
2711
2711
|
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passenger_max_instances_lt_integer_gt" data-comment-topic="passenger-max-instances">5.9.3. passenger_max_instances <integer></h4>
|
2712
|
-
<div class="paragraph"><p><strong>
|
2712
|
+
<div class="paragraph"><p><strong>This feature is only available in <a href="https://www.phusionpassenger.com/enterprise">Phusion Passenger Enterprise</a>. It was introduced in version 3.0.0. <a href="https://www.phusionpassenger.com/download">Buy Phusion Passenger Enterprise here.</a></strong></p></div>
|
2713
2713
|
<div class="paragraph"><p>The maximum number of application processes that may simultaneously exist
|
2714
2714
|
for an application. This helps to make sure that a single application
|
2715
2715
|
will not occupy all available slots in the application pool.</p></div>
|
@@ -2842,7 +2842,7 @@ measure to avoid memory leaks.</p></div>
|
|
2842
2842
|
</div>
|
2843
2843
|
<div class="sect3">
|
2844
2844
|
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="PassengerMaxRequestTime" data-comment-topic="passenger-max-request-time-seconds--1qod9kg">5.9.7. passenger_max_request_time <seconds></h4>
|
2845
|
-
<div class="paragraph"><p><strong>
|
2845
|
+
<div class="paragraph"><p><strong>This feature is only available in <a href="https://www.phusionpassenger.com/enterprise">Phusion Passenger Enterprise</a>. It was introduced in version 3.0.0. <a href="https://www.phusionpassenger.com/download">Buy Phusion Passenger Enterprise here.</a></strong></p></div>
|
2846
2846
|
<div class="paragraph"><p>The maximum amount of time, in seconds, that an application process may take
|
2847
2847
|
to process a request. If the request takes longer than this amount of time,
|
2848
2848
|
then the application process will be forcefully shut down, and possibly
|
@@ -3255,7 +3255,7 @@ error messages should be written to instead.</p></div>
|
|
3255
3255
|
</div>
|
3256
3256
|
<div class="sect3">
|
3257
3257
|
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="_passenger_debugger_lt_on_off_gt" data-comment-topic="passenger-debugger-on-off--1wkuq85">5.10.3. passenger_debugger <on|off></h4>
|
3258
|
-
<div class="paragraph"><p><strong>
|
3258
|
+
<div class="paragraph"><p><strong>This feature is only available in <a href="https://www.phusionpassenger.com/enterprise">Phusion Passenger Enterprise</a>. It was introduced in version 3.0.0. <a href="https://www.phusionpassenger.com/download">Buy Phusion Passenger Enterprise here.</a></strong></p></div>
|
3259
3259
|
<div class="paragraph"><p>Turns support for application debugging on or off. In case of Ruby applications,
|
3260
3260
|
turning this option on will cause them to load the <span class="monospaced">ruby-debug</span> gem (when on Ruby 1.8)
|
3261
3261
|
or the <span class="monospaced">debugger</span> gem (when on Ruby 1.9). If you’re using Bundler, you should add
|
@@ -3403,7 +3403,7 @@ In an <em>if</em> configuration scope.
|
|
3403
3403
|
</div>
|
3404
3404
|
</div>
|
3405
3405
|
<div class="sect2">
|
3406
|
-
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="
|
3406
|
+
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h3 id="_rack_and_rails_gt_3_specific_options" data-comment-topic="rack-specific-options-13yvdxs">5.12. Rack and Rails >= 3 specific options</h3>
|
3407
3407
|
<div class="sect3">
|
3408
3408
|
<a href="javascript:void(0)" class="comments empty" title="Add a comment"><span class="count"></span></a><h4 id="RackEnv" data-comment-topic="rack-env-string--tqmrt0">5.12.1. rack_env <string></h4>
|
3409
3409
|
<div class="paragraph"><p>This option allows one to specify the default <span class="monospaced">RACK_ENV</span> value.</p></div>
|
@@ -4473,7 +4473,7 @@ has no effect.</p></div>
|
|
4473
4473
|
<div id="footnotes"><hr></div>
|
4474
4474
|
<div id="footer">
|
4475
4475
|
<div id="footer-text">
|
4476
|
-
Last updated 2012-08-
|
4476
|
+
Last updated 2012-08-28 11:03:54 CEST
|
4477
4477
|
</div>
|
4478
4478
|
</div>
|
4479
4479
|
<script>/*! jQuery v1.7.1 jquery.com | jquery.org/license */
|
@@ -122,7 +122,7 @@
|
|
122
122
|
|
123
123
|
5.11.3. rails_app_spawner_idle_time <integer> => rails-app-spawner-idle-time-integer--1xjqe4b
|
124
124
|
|
125
|
-
5.12. Rack
|
125
|
+
5.12. Rack and Rails >= 3 specific options => rack-specific-options-13yvdxs
|
126
126
|
|
127
127
|
5.12.1. rack_env <string> => rack-env-string--tqmrt0
|
128
128
|
|
data/doc/Users guide Nginx.txt
CHANGED
@@ -645,7 +645,8 @@ In each place, it may be specified at most once. The default value is 'smart-lv2
|
|
645
645
|
|
646
646
|
[[PassengerRollingRestarts]]
|
647
647
|
=== passenger_rolling_restarts <on|off> ===
|
648
|
-
|
648
|
+
:version: 3.0.0
|
649
|
+
include::users_guide_snippets/enterprise_only.txt[]
|
649
650
|
|
650
651
|
Enables or disables support for rolling restarts. Normally when you
|
651
652
|
restart an application (by touching restart.txt), Phusion Passenger would
|
@@ -684,7 +685,8 @@ This option may occur in the following places:
|
|
684
685
|
In each place, it may be specified at most once. The default value is 'off'.
|
685
686
|
|
686
687
|
=== passenger_resist_deployment_errors <on|off> ===
|
687
|
-
|
688
|
+
:version: 3.0.0
|
689
|
+
include::users_guide_snippets/enterprise_only.txt[]
|
688
690
|
|
689
691
|
Enables or disables resistance against deployment errors.
|
690
692
|
|
@@ -1060,7 +1062,8 @@ The passenger_min_instances option may occur in the following places:
|
|
1060
1062
|
In each place, it may be specified at most once. The default value is '1'.
|
1061
1063
|
|
1062
1064
|
==== passenger_max_instances <integer> ====
|
1063
|
-
|
1065
|
+
:version: 3.0.0
|
1066
|
+
include::users_guide_snippets/enterprise_only.txt[]
|
1064
1067
|
|
1065
1068
|
The maximum number of application processes that may simultaneously exist
|
1066
1069
|
for an application. This helps to make sure that a single application
|
@@ -1161,7 +1164,8 @@ measure to avoid memory leaks.
|
|
1161
1164
|
|
1162
1165
|
[[PassengerMaxRequestTime]]
|
1163
1166
|
==== passenger_max_request_time <seconds> ====
|
1164
|
-
|
1167
|
+
:version: 3.0.0
|
1168
|
+
include::users_guide_snippets/enterprise_only.txt[]
|
1165
1169
|
|
1166
1170
|
The maximum amount of time, in seconds, that an application process may take
|
1167
1171
|
to process a request. If the request takes longer than this amount of time,
|
@@ -1485,7 +1489,8 @@ error messages should be written to instead.
|
|
1485
1489
|
This option may only occur once, in the 'http' configuration block.
|
1486
1490
|
|
1487
1491
|
==== passenger_debugger <on|off> ====
|
1488
|
-
|
1492
|
+
:version: 3.0.0
|
1493
|
+
include::users_guide_snippets/enterprise_only.txt[]
|
1489
1494
|
|
1490
1495
|
Turns support for application debugging on or off. In case of Ruby applications,
|
1491
1496
|
turning this option on will cause them to load the `ruby-debug` gem (when on Ruby 1.8)
|
@@ -1575,7 +1580,7 @@ This option may occur in the following places:
|
|
1575
1580
|
|
1576
1581
|
In each place, it may be specified at most once. The default value is '600' (10 minutes).
|
1577
1582
|
|
1578
|
-
=== Rack
|
1583
|
+
=== Rack and Rails >= 3 specific options ===
|
1579
1584
|
[[RackEnv]]
|
1580
1585
|
==== rack_env <string> ====
|
1581
1586
|
This option allows one to specify the default `RACK_ENV` value.
|
@@ -0,0 +1 @@
|
|
1
|
+
**This feature is only available in link:https://www.phusionpassenger.com/enterprise[Phusion Passenger Enterprise]. It was introduced in version {version}. link:https://www.phusionpassenger.com/download[Buy Phusion Passenger Enterprise here.]**
|
@@ -36,6 +36,7 @@
|
|
36
36
|
|
37
37
|
#include "Configuration.hpp"
|
38
38
|
#include "Utils.h"
|
39
|
+
#include "Constants.h"
|
39
40
|
#include <LoggingAgent/FilterSupport.h>
|
40
41
|
|
41
42
|
/* The APR headers must come after the Passenger headers. See Hooks.cpp
|
@@ -317,6 +318,15 @@ DEFINE_DIR_THREEWAY_CONFIG_SETTER(cmd_passenger_friendly_error_pages, friendlyEr
|
|
317
318
|
DEFINE_DIR_THREEWAY_CONFIG_SETTER(cmd_union_station_support, unionStationSupport)
|
318
319
|
DEFINE_DIR_THREEWAY_CONFIG_SETTER(cmd_passenger_buffer_response, bufferResponse)
|
319
320
|
|
321
|
+
#ifndef PASSENGER_IS_ENTERPRISE
|
322
|
+
static const char *
|
323
|
+
cmd_passenger_enterprise_only(cmd_parms *cmd, void *pcfg, const char *arg) {
|
324
|
+
return "this feature is only available in Phusion Passenger Enterprise. "
|
325
|
+
"You are currently running the open source Phusion Passenger Enterprise. "
|
326
|
+
"Please learn more about and/or buy Phusion Passenger Enterprise at https://www.phusionpassenger.com/enterprise";
|
327
|
+
}
|
328
|
+
#endif
|
329
|
+
|
320
330
|
static const char *
|
321
331
|
cmd_passenger_spawn_method(cmd_parms *cmd, void *pcfg, const char *arg) {
|
322
332
|
DirConfig *config = (DirConfig *) pcfg;
|
@@ -671,6 +681,36 @@ const command_rec passenger_commands[] = {
|
|
671
681
|
"Whether to enable logging through Union Station."),
|
672
682
|
|
673
683
|
/*****************************/
|
684
|
+
AP_INIT_TAKE1("PassengerMemoryLimit",
|
685
|
+
(Take1Func) cmd_passenger_enterprise_only,
|
686
|
+
NULL,
|
687
|
+
OR_LIMIT | ACCESS_CONF | RSRC_CONF,
|
688
|
+
"The maximum amount of memory in MB that an application instance may use."),
|
689
|
+
AP_INIT_TAKE1("PassengerMaxInstances",
|
690
|
+
(Take1Func) cmd_passenger_enterprise_only,
|
691
|
+
NULL,
|
692
|
+
OR_LIMIT | ACCESS_CONF | RSRC_CONF,
|
693
|
+
"The maximum number of instances for the current application that Passenger may spawn."),
|
694
|
+
AP_INIT_TAKE1("PassengerMaxRequestTime",
|
695
|
+
(Take1Func) cmd_passenger_enterprise_only,
|
696
|
+
NULL,
|
697
|
+
OR_ALL,
|
698
|
+
"The maximum time (in seconds) that the current application may spend on a request."),
|
699
|
+
AP_INIT_FLAG("PassengerRollingRestarts",
|
700
|
+
(FlagFunc) cmd_passenger_enterprise_only,
|
701
|
+
NULL,
|
702
|
+
OR_OPTIONS | ACCESS_CONF | RSRC_CONF,
|
703
|
+
"Whether to turn on rolling restarts"),
|
704
|
+
AP_INIT_FLAG("PassengerResistDeploymentErrors",
|
705
|
+
(FlagFunc) cmd_passenger_enterprise_only,
|
706
|
+
NULL,
|
707
|
+
OR_OPTIONS | ACCESS_CONF | RSRC_CONF,
|
708
|
+
"Whether to turn on deployment error resistance"),
|
709
|
+
AP_INIT_FLAG("PassengerDebugger",
|
710
|
+
(FlagFunc) cmd_passenger_enterprise_only,
|
711
|
+
NULL,
|
712
|
+
OR_OPTIONS | ACCESS_CONF | RSRC_CONF,
|
713
|
+
"Whether to turn on debugger support"),
|
674
714
|
|
675
715
|
// Rails-specific settings.
|
676
716
|
AP_INIT_TAKE1("RailsBaseURI",
|
data/ext/apache2/Hooks.cpp
CHANGED
@@ -491,14 +491,14 @@ private:
|
|
491
491
|
len = strlen(filename);
|
492
492
|
if (len > 0 && filename[len - 1] == '/') {
|
493
493
|
pageCacheFile = apr_pstrcat(r->pool, filename,
|
494
|
-
"index.html", NULL);
|
494
|
+
"index.html", (char *) NULL);
|
495
495
|
} else {
|
496
496
|
pageCacheFile = apr_pstrcat(r->pool, filename,
|
497
|
-
".html", NULL);
|
497
|
+
".html", (char *) NULL);
|
498
498
|
}
|
499
499
|
} else {
|
500
500
|
pageCacheFile = apr_pstrcat(r->pool, filename,
|
501
|
-
".html", NULL);
|
501
|
+
".html", (char *) NULL);
|
502
502
|
}
|
503
503
|
if (!fileExists(pageCacheFile)) {
|
504
504
|
pageCacheFile = NULL;
|
@@ -948,7 +948,7 @@ private:
|
|
948
948
|
* Convert an HTTP header name to a CGI environment name.
|
949
949
|
*/
|
950
950
|
char *httpToEnv(apr_pool_t *p, const char *headerName) {
|
951
|
-
char *result = apr_pstrcat(p, "HTTP_", headerName, NULL);
|
951
|
+
char *result = apr_pstrcat(p, "HTTP_", headerName, (char *) NULL);
|
952
952
|
char *current = result + sizeof("HTTP_") - 1;
|
953
953
|
|
954
954
|
while (*current != '\0') {
|
@@ -1049,7 +1049,7 @@ private:
|
|
1049
1049
|
} else {
|
1050
1050
|
const char *request_uri;
|
1051
1051
|
if (r->args != NULL) {
|
1052
|
-
request_uri = apr_pstrcat(r->pool, escapedUri, "?", r->args, NULL);
|
1052
|
+
request_uri = apr_pstrcat(r->pool, escapedUri, "?", r->args, (char *) NULL);
|
1053
1053
|
} else {
|
1054
1054
|
request_uri = escapedUri;
|
1055
1055
|
}
|
data/ext/boost/config/suffix.hpp
CHANGED
@@ -102,6 +102,18 @@
|
|
102
102
|
# define BOOST_HAS_STATIC_ASSERT
|
103
103
|
#endif
|
104
104
|
|
105
|
+
//
|
106
|
+
// constexpr workarounds
|
107
|
+
//
|
108
|
+
#if defined(BOOST_NO_CONSTEXPR)
|
109
|
+
#define BOOST_CONSTEXPR
|
110
|
+
#define BOOST_CONSTEXPR_OR_CONST const
|
111
|
+
#else
|
112
|
+
#define BOOST_CONSTEXPR constexpr
|
113
|
+
#define BOOST_CONSTEXPR_OR_CONST constexpr
|
114
|
+
#endif
|
115
|
+
#define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST
|
116
|
+
|
105
117
|
//
|
106
118
|
// if there is no __int64 then there is no specialisation
|
107
119
|
// for numeric_limits<__int64> either:
|
@@ -365,7 +365,7 @@ namespace boost
|
|
365
365
|
cond.timed_wait(lock, xt);
|
366
366
|
# endif
|
367
367
|
xtime cur;
|
368
|
-
xtime_get(&cur,
|
368
|
+
xtime_get(&cur, TIME_UTC_);
|
369
369
|
if (xtime_cmp(xt, cur) <= 0)
|
370
370
|
return;
|
371
371
|
}
|
@@ -380,7 +380,7 @@ namespace boost
|
|
380
380
|
BOOST_VERIFY(!pthread_yield());
|
381
381
|
# else
|
382
382
|
xtime xt;
|
383
|
-
xtime_get(&xt,
|
383
|
+
xtime_get(&xt, TIME_UTC_);
|
384
384
|
sleep(xt);
|
385
385
|
# endif
|
386
386
|
}
|
@@ -20,8 +20,8 @@ const int NANOSECONDS_PER_MICROSECOND = 1000;
|
|
20
20
|
inline void to_time(int milliseconds, boost::xtime& xt)
|
21
21
|
{
|
22
22
|
int res = 0;
|
23
|
-
res = boost::xtime_get(&xt, boost::
|
24
|
-
BOOST_ASSERT(res == boost::
|
23
|
+
res = boost::xtime_get(&xt, boost::TIME_UTC_);
|
24
|
+
BOOST_ASSERT(res == boost::TIME_UTC_);
|
25
25
|
|
26
26
|
xt.sec += (milliseconds / MILLISECONDS_PER_SECOND);
|
27
27
|
xt.nsec += ((milliseconds % MILLISECONDS_PER_SECOND) *
|
@@ -57,8 +57,8 @@ inline void to_timespec_duration(const boost::xtime& xt, timespec& ts)
|
|
57
57
|
{
|
58
58
|
boost::xtime cur;
|
59
59
|
int res = 0;
|
60
|
-
res = boost::xtime_get(&cur, boost::
|
61
|
-
BOOST_ASSERT(res == boost::
|
60
|
+
res = boost::xtime_get(&cur, boost::TIME_UTC_);
|
61
|
+
BOOST_ASSERT(res == boost::TIME_UTC_);
|
62
62
|
|
63
63
|
if (boost::xtime_cmp(xt, cur) <= 0)
|
64
64
|
{
|
@@ -88,8 +88,8 @@ inline void to_duration(boost::xtime xt, int& milliseconds)
|
|
88
88
|
{
|
89
89
|
boost::xtime cur;
|
90
90
|
int res = 0;
|
91
|
-
res = boost::xtime_get(&cur, boost::
|
92
|
-
BOOST_ASSERT(res == boost::
|
91
|
+
res = boost::xtime_get(&cur, boost::TIME_UTC_);
|
92
|
+
BOOST_ASSERT(res == boost::TIME_UTC_);
|
93
93
|
|
94
94
|
if (boost::xtime_cmp(xt, cur) <= 0)
|
95
95
|
milliseconds = 0;
|
@@ -110,8 +110,8 @@ inline void to_microduration(boost::xtime xt, int& microseconds)
|
|
110
110
|
{
|
111
111
|
boost::xtime cur;
|
112
112
|
int res = 0;
|
113
|
-
res = boost::xtime_get(&cur, boost::
|
114
|
-
BOOST_ASSERT(res == boost::
|
113
|
+
res = boost::xtime_get(&cur, boost::TIME_UTC_);
|
114
|
+
BOOST_ASSERT(res == boost::TIME_UTC_);
|
115
115
|
|
116
116
|
if (boost::xtime_cmp(xt, cur) <= 0)
|
117
117
|
microseconds = 0;
|
data/ext/boost/thread/locks.hpp
CHANGED
@@ -164,9 +164,9 @@ namespace boost
|
|
164
164
|
struct adopt_lock_t
|
165
165
|
{};
|
166
166
|
|
167
|
-
|
168
|
-
|
169
|
-
|
167
|
+
BOOST_CONSTEXPR_OR_CONST defer_lock_t defer_lock={};
|
168
|
+
BOOST_CONSTEXPR_OR_CONST try_to_lock_t try_to_lock={};
|
169
|
+
BOOST_CONSTEXPR_OR_CONST adopt_lock_t adopt_lock={};
|
170
170
|
|
171
171
|
template<typename Mutex>
|
172
172
|
class shared_lock;
|
data/ext/boost/thread/xtime.hpp
CHANGED
@@ -20,7 +20,7 @@ namespace boost {
|
|
20
20
|
|
21
21
|
enum xtime_clock_types
|
22
22
|
{
|
23
|
-
|
23
|
+
TIME_UTC_=1
|
24
24
|
// TIME_TAI,
|
25
25
|
// TIME_MONOTONIC,
|
26
26
|
// TIME_PROCESS,
|
@@ -68,7 +68,7 @@ inline xtime get_xtime(boost::system_time const& abs_time)
|
|
68
68
|
|
69
69
|
inline int xtime_get(struct xtime* xtp, int clock_type)
|
70
70
|
{
|
71
|
-
if (clock_type ==
|
71
|
+
if (clock_type == TIME_UTC_)
|
72
72
|
{
|
73
73
|
*xtp=get_xtime(get_system_time());
|
74
74
|
return clock_type;
|
data/ext/common/Constants.h
CHANGED
data/ext/common/IniFile.h
CHANGED
@@ -149,7 +149,7 @@ protected:
|
|
149
149
|
ifstream iniFileStream;
|
150
150
|
|
151
151
|
char lastAcceptedChar;
|
152
|
-
|
152
|
+
int upcomingChar;
|
153
153
|
bool upcomingTokenPtrIsStale;
|
154
154
|
|
155
155
|
int currentLine;
|
@@ -158,7 +158,7 @@ protected:
|
|
158
158
|
TokenPtr upcomingTokenPtr;
|
159
159
|
|
160
160
|
void expect(char ch) {
|
161
|
-
|
161
|
+
int upcomingChar = iniFileStream.peek();
|
162
162
|
|
163
163
|
if (ch != upcomingChar) {
|
164
164
|
switch(upcomingChar) {
|
@@ -176,10 +176,10 @@ protected:
|
|
176
176
|
}
|
177
177
|
|
178
178
|
void accept() {
|
179
|
-
if (
|
179
|
+
if (upcomingChar == EOF) return;
|
180
180
|
|
181
181
|
lastAcceptedChar = (char)iniFileStream.get();
|
182
|
-
upcomingChar =
|
182
|
+
upcomingChar = iniFileStream.peek();
|
183
183
|
currentColumn++;
|
184
184
|
|
185
185
|
if (lastAcceptedChar == '\n') {
|
@@ -189,9 +189,9 @@ protected:
|
|
189
189
|
}
|
190
190
|
|
191
191
|
void ignore() {
|
192
|
-
if (
|
192
|
+
if (upcomingChar == EOF) return;
|
193
193
|
|
194
|
-
upcomingChar =
|
194
|
+
upcomingChar = iniFileStream.peek();
|
195
195
|
currentColumn++;
|
196
196
|
|
197
197
|
if ((char)iniFileStream.get() == '\n') {
|
@@ -261,7 +261,7 @@ protected:
|
|
261
261
|
int column = currentColumn;
|
262
262
|
string result;
|
263
263
|
|
264
|
-
while (upcomingChar != '\n' &&
|
264
|
+
while (upcomingChar != '\n' && upcomingChar != EOF) {
|
265
265
|
result.append(1, upcomingChar);
|
266
266
|
accept();
|
267
267
|
}
|
@@ -282,7 +282,7 @@ protected:
|
|
282
282
|
int column = currentColumn;
|
283
283
|
string result;
|
284
284
|
|
285
|
-
while (
|
285
|
+
while (upcomingChar != EOF) {
|
286
286
|
result.append(1, upcomingChar);
|
287
287
|
accept();
|
288
288
|
}
|
@@ -332,7 +332,7 @@ public:
|
|
332
332
|
}
|
333
333
|
|
334
334
|
while (iniFileStream.good()) {
|
335
|
-
upcomingChar =
|
335
|
+
upcomingChar = iniFileStream.peek();
|
336
336
|
switch(upcomingChar) {
|
337
337
|
case '[':
|
338
338
|
return tokenizeSection();
|
data/ext/common/MessageChannel.h
CHANGED
@@ -389,14 +389,14 @@ public:
|
|
389
389
|
unsigned int ret;
|
390
390
|
try {
|
391
391
|
ret = Passenger::readExact(fd, buf, size, &t);
|
392
|
-
#if defined(__NetBSD__) || defined(__OpenBSD__)
|
392
|
+
#if defined(__NetBSD__) || defined(__OpenBSD__) || defined(_AIX)
|
393
393
|
*timeout = llround((double) t / 1000);
|
394
394
|
#else
|
395
395
|
*timeout = llroundl((long double) t / 1000);
|
396
396
|
#endif
|
397
397
|
return ret == size;
|
398
398
|
} catch (...) {
|
399
|
-
#if defined(__NetBSD__) || defined(__OpenBSD__)
|
399
|
+
#if defined(__NetBSD__) || defined(__OpenBSD__) || defined(_AIX)
|
400
400
|
*timeout = llround((double) t / 1000);
|
401
401
|
#else
|
402
402
|
*timeout = llroundl((long double) t / 1000);
|
data/ext/common/Watchdog.cpp
CHANGED
data/ext/nginx/Configuration.c
CHANGED
@@ -905,6 +905,15 @@ peers:
|
|
905
905
|
return NGX_CONF_OK;
|
906
906
|
}
|
907
907
|
|
908
|
+
#ifndef PASSENGER_IS_ENTERPRISE
|
909
|
+
static char *
|
910
|
+
passenger_enterprise_only(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
|
911
|
+
return ": this feature is only available in Phusion Passenger Enterprise. "
|
912
|
+
"You are currently running the open source Phusion Passenger Enterprise. "
|
913
|
+
"Please learn more about and/or buy Phusion Passenger Enterprise at https://www.phusionpassenger.com/enterprise ;";
|
914
|
+
}
|
915
|
+
#endif
|
916
|
+
|
908
917
|
static char *
|
909
918
|
passenger_enabled(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
|
910
919
|
{
|
@@ -1380,6 +1389,42 @@ const ngx_command_t passenger_commands[] = {
|
|
1380
1389
|
NULL },
|
1381
1390
|
|
1382
1391
|
/************************************/
|
1392
|
+
|
1393
|
+
{ ngx_string("passenger_max_instances"),
|
1394
|
+
NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF | NGX_CONF_TAKE1,
|
1395
|
+
passenger_enterprise_only,
|
1396
|
+
NGX_HTTP_LOC_CONF_OFFSET,
|
1397
|
+
0,
|
1398
|
+
NULL },
|
1399
|
+
|
1400
|
+
{ ngx_string("passenger_max_request_time"),
|
1401
|
+
NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF | NGX_CONF_TAKE1,
|
1402
|
+
passenger_enterprise_only,
|
1403
|
+
NGX_HTTP_LOC_CONF_OFFSET,
|
1404
|
+
0,
|
1405
|
+
NULL },
|
1406
|
+
|
1407
|
+
{ ngx_string("passenger_memory_limit"),
|
1408
|
+
NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF | NGX_CONF_TAKE1,
|
1409
|
+
passenger_enterprise_only,
|
1410
|
+
NGX_HTTP_LOC_CONF_OFFSET,
|
1411
|
+
0,
|
1412
|
+
NULL },
|
1413
|
+
|
1414
|
+
{ ngx_string("passenger_rolling_restarts"),
|
1415
|
+
NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF | NGX_CONF_FLAG,
|
1416
|
+
passenger_enterprise_only,
|
1417
|
+
NGX_HTTP_LOC_CONF_OFFSET,
|
1418
|
+
0,
|
1419
|
+
NULL },
|
1420
|
+
|
1421
|
+
{ ngx_string("passenger_resist_deployment_errors"),
|
1422
|
+
NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF | NGX_CONF_FLAG,
|
1423
|
+
passenger_enterprise_only,
|
1424
|
+
NGX_HTTP_LOC_CONF_OFFSET,
|
1425
|
+
0,
|
1426
|
+
NULL },
|
1427
|
+
|
1383
1428
|
/************************************/
|
1384
1429
|
|
1385
1430
|
/******** Backward compatibility options ********/
|
data/lib/phusion_passenger.rb
CHANGED
@@ -25,10 +25,10 @@ module PhusionPassenger
|
|
25
25
|
###### Version numbers ######
|
26
26
|
|
27
27
|
# Phusion Passenger version number. Don't forget to edit ext/common/Constants.h too.
|
28
|
-
VERSION_STRING = '3.0.
|
28
|
+
VERSION_STRING = '3.0.17'
|
29
29
|
|
30
|
-
PREFERRED_NGINX_VERSION = '1.2.
|
31
|
-
PREFERRED_PCRE_VERSION = '8.
|
30
|
+
PREFERRED_NGINX_VERSION = '1.2.3'
|
31
|
+
PREFERRED_PCRE_VERSION = '8.31'
|
32
32
|
STANDALONE_INTERFACE_VERSION = 1
|
33
33
|
|
34
34
|
|
@@ -52,6 +52,7 @@ module PlatformInfo
|
|
52
52
|
end
|
53
53
|
|
54
54
|
def self.compiler_supports_visibility_flag?
|
55
|
+
return false if RUBY_PLATFORM =~ /aix/
|
55
56
|
return try_compile(:c, '', '-fvisibility=hidden')
|
56
57
|
end
|
57
58
|
memoize :compiler_supports_visibility_flag?, true
|
@@ -150,12 +151,12 @@ module PlatformInfo
|
|
150
151
|
flags << '-D_XOPEN_SOURCE=500 -D_XPG4_2 -D__EXTENSIONS__ -D__SOLARIS__ -D_FILE_OFFSET_BITS=64'
|
151
152
|
flags << '-D__SOLARIS9__ -DBOOST__STDC_CONSTANT_MACROS_DEFINED' if RUBY_PLATFORM =~ /solaris2.9/
|
152
153
|
end
|
153
|
-
flags << '-D_XOPEN_SOURCE=500 -D_XPG4_2 -D__EXTENSIONS__ -D__SOLARIS__ -D_FILE_OFFSET_BITS=64'
|
154
154
|
flags << '-DBOOST_HAS_STDINT_H' unless RUBY_PLATFORM =~ /solaris2.9/
|
155
155
|
flags << '-mcpu=ultrasparc' if RUBY_PLATFORM =~ /sparc/
|
156
156
|
elsif RUBY_PLATFORM =~ /openbsd/
|
157
157
|
flags << '-DBOOST_HAS_STDINT_H -D_GLIBCPP__PTHREADS'
|
158
158
|
elsif RUBY_PLATFORM =~ /aix/
|
159
|
+
flags << '-pthread'
|
159
160
|
flags << '-DOXT_DISABLE_BACKTRACES'
|
160
161
|
elsif RUBY_PLATFORM =~ /(sparc-linux|arm-linux|^arm.*-linux|sh4-linux)/
|
161
162
|
# http://code.google.com/p/phusion-passenger/issues/detail?id=200
|
data/test/tut/tut.h
CHANGED
@@ -69,15 +69,9 @@ static int setenv(const char *name, const char *value, int override) {
|
|
69
69
|
typedef factory::object object; \
|
70
70
|
factory name## _group(#name)
|
71
71
|
|
72
|
-
#
|
73
|
-
|
74
|
-
|
75
|
-
void object::test<i>()
|
76
|
-
#else
|
77
|
-
#define TEST_METHOD(i) \
|
78
|
-
template<> template<> \
|
79
|
-
void object::test<i>()
|
80
|
-
#endif
|
72
|
+
#define TEST_METHOD(i) \
|
73
|
+
template<> template<> \
|
74
|
+
void object::test<i>()
|
81
75
|
|
82
76
|
/**
|
83
77
|
* Template Unit Tests Framework for C++.
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: passenger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 37
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 3.0.
|
9
|
+
- 17
|
10
|
+
version: 3.0.17
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Phusion - http://www.phusion.nl/
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-08-
|
18
|
+
date: 2012-08-28 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rake
|
@@ -285,6 +285,7 @@ files:
|
|
285
285
|
- doc/users_guide_snippets/appendix_a_about.txt
|
286
286
|
- doc/users_guide_snippets/appendix_b_terminology.txt
|
287
287
|
- doc/users_guide_snippets/appendix_c_spawning_methods.txt
|
288
|
+
- doc/users_guide_snippets/enterprise_only.txt
|
288
289
|
- doc/users_guide_snippets/global_queueing_explained.txt
|
289
290
|
- doc/users_guide_snippets/passenger_spawn_method.txt
|
290
291
|
- doc/users_guide_snippets/rackup_specifications.txt
|