passenger 3.0.10 → 3.0.11

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 CHANGED
@@ -1,3 +1,11 @@
1
+ Release 3.0.11
2
+ --------------
3
+
4
+ * Fixed a compilation problem on platforms without alloca.h, such as FreeBSD 7.
5
+ * Improved performance and solves some warnings on Xen systems by compiling
6
+ with `-mno-tls-direct-seg-refs`. Patch contributed by Michał Pokrywka.
7
+
8
+
1
9
  Release 3.0.10
2
10
  --------------
3
11
 
@@ -35,6 +35,7 @@ end
35
35
  # Should be included last in the command string, even after PlatformInfo.portability_cflags.
36
36
  EXTRA_CXXFLAGS = "-Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-long-long"
37
37
  EXTRA_CXXFLAGS << " -Wno-missing-field-initializers" if PlatformInfo.compiler_supports_wno_missing_field_initializers_flag?
38
+ EXTRA_CXXFLAGS << " -mno-tls-direct-seg-refs" if PlatformInfo.requires_no_tls_direct_seg_refs? && PlatformInfo.compiler_supports_no_tls_direct_seg_refs_option?
38
39
  EXTRA_CXXFLAGS << " #{OPTIMIZATION_FLAGS}" if !OPTIMIZATION_FLAGS.empty?
39
40
 
40
41
  # Extra linker flags that should always be passed to the linker.
@@ -4862,7 +4862,7 @@ has no effect.</p></div>
4862
4862
  <div id="footnotes"><hr></div>
4863
4863
  <div id="footer">
4864
4864
  <div id="footer-text">
4865
- Last updated 2011-11-24 19:06:50 CET
4865
+ Last updated 2011-11-28 12:40:23 CET
4866
4866
  </div>
4867
4867
  </div>
4868
4868
  </body>
@@ -26,7 +26,7 @@
26
26
  #define _PASSENGER_CONSTANTS_H_
27
27
 
28
28
  /* Don't forget to update lib/phusion_passenger.rb too. */
29
- #define PASSENGER_VERSION "3.0.10"
29
+ #define PASSENGER_VERSION "3.0.11"
30
30
 
31
31
  #define FEEDBACK_FD 3
32
32
 
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * Phusion Passenger - http://www.modrails.com/
3
- * Copyright (c) 2010 Phusion
3
+ * Copyright (c) 2010, 2011 Phusion
4
4
  *
5
5
  * "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
6
6
  *
@@ -29,7 +29,9 @@
29
29
  #include <ev++.h>
30
30
  #include <cstdarg>
31
31
  #include <cstdlib>
32
- #include <alloca.h>
32
+ #ifdef HAS_ALLOCA_H_
33
+ #include <alloca.h>
34
+ #endif
33
35
  #include "EventedServer.h"
34
36
  #include "MessageReadersWriters.h"
35
37
  #include "AccountsDatabase.h"
@@ -25,7 +25,7 @@ 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.10'
28
+ VERSION_STRING = '3.0.11'
29
29
 
30
30
  PREFERRED_NGINX_VERSION = '1.0.10'
31
31
  PREFERRED_PCRE_VERSION = '8.12'
@@ -66,6 +66,11 @@ module PlatformInfo
66
66
  end
67
67
  memoize :compiler_supports_wno_missing_field_initializers_flag?
68
68
 
69
+ def self.compiler_supports_no_tls_direct_seg_refs_option?
70
+ return try_compile(:c, '', '-mno-tls-direct-seg-refs')
71
+ end
72
+ memoize :compiler_supports_no_tls_direct_seg_refs_option?, true
73
+
69
74
  # Returns whether compiling C++ with -fvisibility=hidden might result
70
75
  # in tons of useless warnings, like this:
71
76
  # http://code.google.com/p/phusion-passenger/issues/detail?id=526
@@ -86,6 +91,11 @@ module PlatformInfo
86
91
  end
87
92
  memoize :has_math_library?, true
88
93
 
94
+ def self.has_alloca_h?
95
+ return try_compile(:c, '#include <alloca.h>')
96
+ end
97
+ memoize :has_alloca_h?, true
98
+
89
99
  # Compiler flags that should be used for compiling every C/C++ program,
90
100
  # for portability reasons. These flags should be specified as last
91
101
  # when invoking the compiler.
@@ -148,6 +158,7 @@ module PlatformInfo
148
158
  flags << '-DBOOST_SP_USE_PTHREADS'
149
159
  end
150
160
 
161
+ flags << '-DHAS_ALLOCA_H' if has_alloca_h?
151
162
  flags << '-DHAS_SFENCE' if supports_sfence_instruction?
152
163
  flags << '-DHAS_LFENCE' if supports_lfence_instruction?
153
164
 
@@ -153,6 +153,11 @@ module PlatformInfo
153
153
  }))
154
154
  end
155
155
  memoize :supports_lfence_instruction?, true
156
+
157
+ def self.requires_no_tls_direct_seg_refs?
158
+ return File.exists?("/proc/xen/capabilities") && cpu_architectures[0] == "x86"
159
+ end
160
+ memoize :requires_no_tls_direct_seg_refs?, true
156
161
  end
157
162
 
158
163
  end # module PhusionPassenger
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: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 3
8
8
  - 0
9
- - 10
10
- version: 3.0.10
9
+ - 11
10
+ version: 3.0.11
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: 2011-11-26 00:00:00 +01:00
18
+ date: 2011-11-28 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -233,7 +233,6 @@ files:
233
233
  - bin/passenger-memory-stats
234
234
  - bin/passenger-status
235
235
  - doc/ApplicationPool algorithm.txt
236
- - doc/Architectural overview.html
237
236
  - doc/Architectural overview.txt
238
237
  - doc/definitions.h
239
238
  - doc/images/by_sa.png
@@ -274,15 +273,11 @@ files:
274
273
  - doc/images/spawn_server_architecture.svg
275
274
  - doc/images/typical_isolated_web_application.png
276
275
  - doc/images/typical_isolated_web_application.svg
277
- - doc/Security of user switching support.html
278
276
  - doc/Security of user switching support.txt
279
277
  - doc/Users guide Apache with comments.html
280
- - doc/Users guide Apache.html
281
278
  - doc/Users guide Apache.idmap.txt
282
279
  - doc/Users guide Apache.txt
283
- - doc/Users guide Nginx.html
284
280
  - doc/Users guide Nginx.txt
285
- - doc/Users guide Standalone.html
286
281
  - doc/Users guide Standalone.txt
287
282
  - doc/users_guide_snippets/analysis_and_system_maintenance.txt
288
283
  - doc/users_guide_snippets/appendix_a_about.txt
@@ -1076,7 +1071,6 @@ files:
1076
1071
  - ext/libev/ltmain.sh
1077
1072
  - ext/libev/missing
1078
1073
  - ext/libev/mkinstalldirs
1079
- - ext/libev/config.h
1080
1074
  - ext/libev/ev++.h
1081
1075
  - ext/libev/ev.h
1082
1076
  - ext/libev/ev_vars.h
@@ -1510,6 +1504,11 @@ files:
1510
1504
  - test/stub/zsfa/header.png
1511
1505
  - test/stub/zsfa/index.html
1512
1506
  - test/stub/zsfa/zsfa.png
1507
+ - doc/Users guide Apache.html
1508
+ - doc/Users guide Nginx.html
1509
+ - doc/Users guide Standalone.html
1510
+ - doc/Security of user switching support.html
1511
+ - doc/Architectural overview.html
1513
1512
  has_rdoc: true
1514
1513
  homepage: http://www.modrails.com/
1515
1514
  licenses: []
@@ -1,122 +0,0 @@
1
- /* config.h. Generated from config.h.in by configure. */
2
- /* config.h.in. Generated from configure.ac by autoheader. */
3
-
4
- /* Define to 1 if you have the `clock_gettime' function. */
5
- /* #undef HAVE_CLOCK_GETTIME */
6
-
7
- /* "use syscall interface for clock_gettime" */
8
- /* #undef HAVE_CLOCK_SYSCALL */
9
-
10
- /* Define to 1 if you have the <dlfcn.h> header file. */
11
- #define HAVE_DLFCN_H 1
12
-
13
- /* Define to 1 if you have the `epoll_ctl' function. */
14
- /* #undef HAVE_EPOLL_CTL */
15
-
16
- /* Define to 1 if you have the `eventfd' function. */
17
- /* #undef HAVE_EVENTFD */
18
-
19
- /* Define to 1 if you have the `inotify_init' function. */
20
- /* #undef HAVE_INOTIFY_INIT */
21
-
22
- /* Define to 1 if you have the <inttypes.h> header file. */
23
- #define HAVE_INTTYPES_H 1
24
-
25
- /* Define to 1 if you have the `kqueue' function. */
26
- #define HAVE_KQUEUE 1
27
-
28
- /* Define to 1 if you have the `m' library (-lm). */
29
- #define HAVE_LIBM 1
30
-
31
- /* Define to 1 if you have the `rt' library (-lrt). */
32
- /* #undef HAVE_LIBRT */
33
-
34
- /* Define to 1 if you have the <memory.h> header file. */
35
- #define HAVE_MEMORY_H 1
36
-
37
- /* Define to 1 if you have the `nanosleep' function. */
38
- /* #undef HAVE_NANOSLEEP */
39
-
40
- /* Define to 1 if you have the `poll' function. */
41
- #define HAVE_POLL 1
42
-
43
- /* Define to 1 if you have the <poll.h> header file. */
44
- #define HAVE_POLL_H 1
45
-
46
- /* Define to 1 if you have the `port_create' function. */
47
- /* #undef HAVE_PORT_CREATE */
48
-
49
- /* Define to 1 if you have the <port.h> header file. */
50
- /* #undef HAVE_PORT_H */
51
-
52
- /* Define to 1 if you have the `select' function. */
53
- #define HAVE_SELECT 1
54
-
55
- /* Define to 1 if you have the `signalfd' function. */
56
- /* #undef HAVE_SIGNALFD */
57
-
58
- /* Define to 1 if you have the <stdint.h> header file. */
59
- #define HAVE_STDINT_H 1
60
-
61
- /* Define to 1 if you have the <stdlib.h> header file. */
62
- #define HAVE_STDLIB_H 1
63
-
64
- /* Define to 1 if you have the <strings.h> header file. */
65
- #define HAVE_STRINGS_H 1
66
-
67
- /* Define to 1 if you have the <string.h> header file. */
68
- #define HAVE_STRING_H 1
69
-
70
- /* Define to 1 if you have the <sys/epoll.h> header file. */
71
- /* #undef HAVE_SYS_EPOLL_H */
72
-
73
- /* Define to 1 if you have the <sys/eventfd.h> header file. */
74
- /* #undef HAVE_SYS_EVENTFD_H */
75
-
76
- /* Define to 1 if you have the <sys/event.h> header file. */
77
- #define HAVE_SYS_EVENT_H 1
78
-
79
- /* Define to 1 if you have the <sys/inotify.h> header file. */
80
- /* #undef HAVE_SYS_INOTIFY_H */
81
-
82
- /* Define to 1 if you have the <sys/queue.h> header file. */
83
- #define HAVE_SYS_QUEUE_H 1
84
-
85
- /* Define to 1 if you have the <sys/select.h> header file. */
86
- #define HAVE_SYS_SELECT_H 1
87
-
88
- /* Define to 1 if you have the <sys/signalfd.h> header file. */
89
- /* #undef HAVE_SYS_SIGNALFD_H */
90
-
91
- /* Define to 1 if you have the <sys/stat.h> header file. */
92
- #define HAVE_SYS_STAT_H 1
93
-
94
- /* Define to 1 if you have the <sys/types.h> header file. */
95
- #define HAVE_SYS_TYPES_H 1
96
-
97
- /* Define to 1 if you have the <unistd.h> header file. */
98
- #define HAVE_UNISTD_H 1
99
-
100
- /* Name of package */
101
- #define PACKAGE "libev"
102
-
103
- /* Define to the address where bug reports for this package should be sent. */
104
- #define PACKAGE_BUGREPORT ""
105
-
106
- /* Define to the full name of this package. */
107
- #define PACKAGE_NAME ""
108
-
109
- /* Define to the full name and version of this package. */
110
- #define PACKAGE_STRING ""
111
-
112
- /* Define to the one symbol short name of this package. */
113
- #define PACKAGE_TARNAME ""
114
-
115
- /* Define to the version of this package. */
116
- #define PACKAGE_VERSION ""
117
-
118
- /* Define to 1 if you have the ANSI C header files. */
119
- #define STDC_HEADERS 1
120
-
121
- /* Version number of package */
122
- #define VERSION "3.9"