passenger 5.0.0.rc2 → 5.0.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of passenger might be problematic. Click here for more details.

Files changed (36) hide show
  1. checksums.yaml +8 -8
  2. checksums.yaml.gz.asc +7 -7
  3. data.tar.gz.asc +7 -7
  4. data/CHANGELOG +10 -0
  5. data/CONTRIBUTORS +1 -0
  6. data/build/agents.rb +6 -0
  7. data/build/cxx_tests.rb +6 -0
  8. data/build/misc.rb +22 -1
  9. data/doc/Users guide Nginx.txt +12 -0
  10. data/ext/common/ApplicationPool2/Options.h +2 -1
  11. data/ext/common/ApplicationPool2/Pool.h +15 -744
  12. data/ext/common/ApplicationPool2/Pool/AnalyticsCollection.h +255 -0
  13. data/ext/common/ApplicationPool2/Pool/Debug.h +63 -0
  14. data/ext/common/ApplicationPool2/Pool/GarbageCollection.h +197 -0
  15. data/ext/common/ApplicationPool2/Pool/GeneralUtils.h +127 -0
  16. data/ext/common/ApplicationPool2/Pool/Inspection.h +214 -0
  17. data/ext/common/ApplicationPool2/Pool/ProcessUtils.h +85 -0
  18. data/ext/common/ApplicationPool2/Process.h +5 -7
  19. data/ext/common/Constants.h +1 -1
  20. data/ext/common/Hooks.h +2 -1
  21. data/ext/common/Utils.cpp +1 -1
  22. data/ext/common/Utils/JsonUtils.h +37 -1
  23. data/ext/common/agents/Base.cpp +45 -40
  24. data/ext/common/agents/Base.h +3 -2
  25. data/ext/common/agents/HelperAgent/RequestHandler/InitRequest.cpp +12 -10
  26. data/ext/nginx/Configuration.c +4 -1
  27. data/lib/phusion_passenger.rb +1 -1
  28. data/lib/phusion_passenger/common_library.rb +7 -1
  29. data/lib/phusion_passenger/config/restart_app_command.rb +40 -2
  30. data/lib/phusion_passenger/config/utils.rb +3 -5
  31. data/lib/phusion_passenger/utils/ansi_colors.rb +28 -21
  32. data/lib/phusion_passenger/utils/terminal_choice_menu.rb +27 -10
  33. data/resources/templates/standalone/config.erb +4 -4
  34. data/test/cxx/CxxTestMain.cpp +10 -22
  35. metadata +10 -4
  36. metadata.gz.asc +7 -7
@@ -50,8 +50,9 @@ module PhusionPassenger
50
50
  end
51
51
  end
52
52
 
53
- def initialize(choices)
53
+ def initialize(choices, mode = :multiple_choice)
54
54
  @choices = choices.map { |choice| Choice.create(choice) }
55
+ @mode = mode
55
56
  @pointer = 0
56
57
  @index = index_choices
57
58
  end
@@ -71,6 +72,11 @@ module PhusionPassenger
71
72
  done = process_input
72
73
  clear_screen if !done
73
74
  end
75
+ if @mode == :single_choice
76
+ [@pointer, @choices[@pointer].name]
77
+ else
78
+ nil
79
+ end
74
80
  ensure
75
81
  restore_mode
76
82
  show_cursor
@@ -79,6 +85,7 @@ module PhusionPassenger
79
85
  else
80
86
  display_choices
81
87
  puts
88
+ nil
82
89
  end
83
90
  end
84
91
 
@@ -105,17 +112,19 @@ module PhusionPassenger
105
112
  case getchar(STDIN)
106
113
  when "\x1b"
107
114
  process_cursor_move
108
- return false
115
+ false
109
116
  when " "
110
- process_toggle
111
- return false
117
+ if @mode == :multiple_choice
118
+ process_toggle
119
+ end
120
+ false
112
121
  when "!"
113
122
  process_disable_utf8
114
- return false
123
+ false
115
124
  when "\r"
116
- return true
125
+ true
117
126
  else
118
- return false
127
+ false
119
128
  end
120
129
  end
121
130
 
@@ -146,15 +155,23 @@ module PhusionPassenger
146
155
  str << " #{pointer} #{checkbox} #{choice.name}\r\n"
147
156
  end
148
157
  str.chomp!
149
- return str
158
+ str
150
159
  end
151
160
 
152
161
  def render_pointer(index)
153
- return @pointer == index ? maybe_utf8("‣", ">") : " "
162
+ @pointer == index ? maybe_utf8("‣", ">") : " "
154
163
  end
155
164
 
156
165
  def render_checkbox(checked)
157
- return checked ? maybe_utf8("⬢", "(*)") : maybe_utf8("⬡", "( )")
166
+ if @mode == :multiple_choice
167
+ if checked
168
+ maybe_utf8("⬢", "(*)")
169
+ else
170
+ maybe_utf8("⬡", "( )")
171
+ end
172
+ else
173
+ nil
174
+ end
158
175
  end
159
176
 
160
177
  def display(str)
@@ -139,9 +139,9 @@ http {
139
139
  <% if app[:thread_count] && app[:thread_count] != DEFAULT_APP_THREAD_COUNT %>passenger_thread_count <%= app[:thread_count] %>;<% end %>
140
140
  <% if app[:min_instances] %>passenger_min_instances <%= app[:min_instances] %>;<% end %>
141
141
  <% if app[:restart_dir] %>passenger_restart_dir '<%= app[:restart_dir] %>';<% end %>
142
- <% if @options[:sticky_sessions] %>passenger_sticky_sessions on;<% end %>
143
- <% if @options[:sticky_sessions_cookie_name] %>passenger_sticky_sessions_cookie_name '<%= @options[:sticky_sessions_cookie_name] %>';<% end %>
144
- <% if @options[:vary_turbocache_by_cookie] %>passenger_vary_turbocache_by_cookie '<%= @options[:vary_turbocache_by_cookie] %>';<% end %>
142
+ <% if app[:sticky_sessions] %>passenger_sticky_sessions on;<% end %>
143
+ <% if app[:sticky_sessions_cookie_name] %>passenger_sticky_sessions_cookie_name '<%= app[:sticky_sessions_cookie_name] %>';<% end %>
144
+ <% if app[:vary_turbocache_by_cookie] %>passenger_vary_turbocache_by_cookie '<%= app[:vary_turbocache_by_cookie] %>';<% end %>
145
145
  <% if app[:union_station_key] %>
146
146
  union_station_support on;
147
147
  union_station_key <%= app[:union_station_key] %>;
@@ -151,7 +151,7 @@ http {
151
151
  ssl_certificate_key <%= app[:ssl_certificate_key] %>;
152
152
  <% end %>
153
153
 
154
- <% @options[:envvars].each_pair do |name, value| %>
154
+ <% app[:envvars].each_pair do |name, value| %>
155
155
  passenger_env_var '<%= name %>' '<%= value %>';
156
156
  <% end %>
157
157
 
@@ -11,6 +11,7 @@
11
11
  #include <cstring>
12
12
  #include <unistd.h>
13
13
 
14
+ #include <agents/Base.h>
14
15
  #include <Utils.h>
15
16
  #include <Utils/IOUtils.h>
16
17
  #include <Utils/StrIntUtils.h>
@@ -131,29 +132,14 @@ loadConfigFile() {
131
132
  }
132
133
  }
133
134
 
134
- static void
135
- abortHandler(int signo, siginfo_t *info, void *ctx) {
136
- // Stop itself so that we can attach it to gdb.
137
- static const char message[] = "Crash handler called!\n";
138
- write(STDERR_FILENO, message, sizeof(message) - 1);
139
- raise(SIGSTOP);
140
- // Run default signal handler.
141
- raise(signo);
142
- }
143
-
144
135
  static void
145
136
  installAbortHandler() {
146
- const char *stopOnAbort = getenv("STOP_ON_ABORT");
147
- if (stopOnAbort != NULL && *stopOnAbort != '\0' && *stopOnAbort != '0') {
148
- struct sigaction action;
149
- action.sa_sigaction = abortHandler;
150
- action.sa_flags = SA_RESETHAND | SA_SIGINFO;
151
- sigemptyset(&action.sa_mask);
152
- sigaction(SIGABRT, &action, NULL);
153
- sigaction(SIGSEGV, &action, NULL);
154
- sigaction(SIGBUS, &action, NULL);
155
- sigaction(SIGFPE, &action, NULL);
156
- }
137
+ VariantMap options;
138
+
139
+ options.set("passenger_root", resourceLocator->getRoot());
140
+
141
+ initializeAgentOptions(options);
142
+ installAgentAbortHandler();
157
143
  }
158
144
 
159
145
  int
@@ -176,7 +162,9 @@ main(int argc, char *argv[]) {
176
162
  resourceLocator = new ResourceLocator(extractDirName(path));
177
163
 
178
164
  loadConfigFile();
179
- installAbortHandler();
165
+ if (hasEnvOption("PASSENGER_ABORT_HANDLER", true) && !hasEnvOption("GDB", false)) {
166
+ installAbortHandler();
167
+ }
180
168
 
181
169
  bool all_ok = true;
182
170
  if (runMode == RUN_ALL_GROUPS) {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: passenger
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0.rc2
4
+ version: 5.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Phusion - http://www.phusion.nl/
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-20 00:00:00.000000000 Z
11
+ date: 2015-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -2481,6 +2481,12 @@ files:
2481
2481
  - ext/common/ApplicationPool2/Options.h
2482
2482
  - ext/common/ApplicationPool2/PipeWatcher.h
2483
2483
  - ext/common/ApplicationPool2/Pool.h
2484
+ - ext/common/ApplicationPool2/Pool/AnalyticsCollection.h
2485
+ - ext/common/ApplicationPool2/Pool/Debug.h
2486
+ - ext/common/ApplicationPool2/Pool/GarbageCollection.h
2487
+ - ext/common/ApplicationPool2/Pool/GeneralUtils.h
2488
+ - ext/common/ApplicationPool2/Pool/Inspection.h
2489
+ - ext/common/ApplicationPool2/Pool/ProcessUtils.h
2484
2490
  - ext/common/ApplicationPool2/Process.h
2485
2491
  - ext/common/ApplicationPool2/Session.h
2486
2492
  - ext/common/ApplicationPool2/SmartSpawner.h
@@ -3342,9 +3348,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
3342
3348
  version: '0'
3343
3349
  required_rubygems_version: !ruby/object:Gem::Requirement
3344
3350
  requirements:
3345
- - - ! '>'
3351
+ - - ! '>='
3346
3352
  - !ruby/object:Gem::Version
3347
- version: 1.3.1
3353
+ version: '0'
3348
3354
  requirements: []
3349
3355
  rubyforge_project: passenger
3350
3356
  rubygems_version: 2.2.2
metadata.gz.asc CHANGED
@@ -2,11 +2,11 @@
2
2
  Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
3
3
  Comment: GPGTools - http://gpgtools.org
4
4
 
5
- iQEcBAABAgAGBQJU5zPQAAoJECrHRaUKISqMdhUH/2gCqNzD6k9SF95PpPkvpHYd
6
- eat4jQTLH7kLa/RznZrRSTUE4O6Yr9uvCIAsG5oFFEUEDEuz4cn4V5asWXpjON9b
7
- QE3w8+TU2MsVS6C34EDU/Krinf/+3faQxD/JxVaPlSDiLo3PkHIt6IZBQQLGFSYI
8
- FqCx/ipKfnhQJUtWLQwwdQS35qSFYZ/OcY0fgLiM2/YOXW+m/mNTDoxhOPqTV3iD
9
- aTJj+JMBYuvFfkrNfPRYxt4ZilTKFzwGeAFQOCL8tE/2iMbJ3i4WCW+QeX94qqQN
10
- G2iuj+IT1HKnfkdlq1mnhO1JcYjREkxJXlHg17GKhC5cyAPmQ5UQDKBXVlcap+w=
11
- =xp1q
5
+ iQEcBAABAgAGBQJU9xtMAAoJECrHRaUKISqMQGAH/0qQ1K8rl5AIKAbcO/sL2R6/
6
+ N9pZZpUvXy6kpugyvZaACWdTfF+1wvokcqyxdHr/lwu3BfJ+ivN1x9hhiGFiLPE1
7
+ T3Qy32h6wttbw2tWc+peK/NnkAvfIzG+GPKYGAu1HAGVjCCu4gj2RkzLH1WvZQtD
8
+ Zt1asLcNg2TviAWYZ1mVRSRgJAm848YGikCnibh4oDrP6EBe2+HGYVfQA8yaUDp7
9
+ l79cdMGNH1/xo0mcjxybiyTscrUAJR9MAjdidlUi28uVy3zGvSXARzrkoPlyS1yC
10
+ lVa96iValynpjui/T+opzxSnxncZufd4P/nC3N0Njo+VsuWLiMC9S3AZEXgwhUA=
11
+ =W98D
12
12
  -----END PGP SIGNATURE-----