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 +8 -0
- data/build/config.rb +1 -0
- data/doc/Users guide Apache.html +1 -1
- data/ext/common/Constants.h +1 -1
- data/ext/common/EventedMessageServer.h +4 -2
- data/lib/phusion_passenger.rb +1 -1
- data/lib/phusion_passenger/platform_info/compiler.rb +11 -0
- data/lib/phusion_passenger/platform_info/operating_system.rb +5 -0
- metadata +9 -10
- data/ext/libev/config.h +0 -122
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
|
|
data/build/config.rb
CHANGED
@@ -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.
|
data/doc/Users guide Apache.html
CHANGED
data/ext/common/Constants.h
CHANGED
@@ -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
|
-
#
|
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"
|
data/lib/phusion_passenger.rb
CHANGED
@@ -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.
|
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:
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 3.0.
|
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-
|
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: []
|
data/ext/libev/config.h
DELETED
@@ -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"
|