passenger 6.0.12 → 6.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +37 -1
- data/bin/passenger-install-nginx-module +1 -1
- data/dev/copy_boost_headers +30 -15
- data/resources/mime.types +1 -0
- data/resources/templates/standalone/server.erb +1 -0
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +1 -0
- data/src/agent/Core/ApplicationPool/Options.h +5 -0
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller/Config.h +5 -2
- data/src/agent/Core/Controller/InitRequest.cpp +2 -0
- data/src/agent/Core/OptionParser.h +4 -0
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +7 -0
- data/src/agent/Core/SpawningKit/Config.h +13 -0
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +4 -0
- data/src/agent/Core/SpawningKit/Spawner.h +1 -0
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +4 -0
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +5 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +5 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +18 -0
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +3 -0
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +3 -0
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +11 -0
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +7 -0
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +17 -0
- data/src/apache2_module/Hooks.cpp +1 -0
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/align/align.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/alignment_of.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/alignment_of_forward.hpp +20 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/align_cxx11.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc.hpp +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/alignment_of.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/alignment_of_cxx11.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/element_type.hpp +91 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/integral_constant.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/min_size.hpp +26 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +8 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +6 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +12 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +5 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +18 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +13 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +3 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +4 -0
- data/src/nginx_module/ngx_http_passenger_module.c +1 -0
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/common.js +50 -29
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/config/cli-config.js +20 -20
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/config/npm-config.js +11 -11
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/config/syslog-config.js +3 -3
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/config.js +8 -2
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/container.js +2 -1
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +174 -146
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/console.js +4 -2
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/file.js +15 -5
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/http.js +14 -4
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports.js +26 -24
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston.js +5 -5
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/async/package.json +4 -13
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/colors/package.json +19 -33
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/cycle/package.json +11 -29
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/eyes/package.json +12 -40
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/isstream/package.json +3 -12
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/stack-trace/lib/stack-trace.js +49 -24
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/stack-trace/package.json +4 -16
- data/src/nodejs_supportlib/vendor-copy/winston/package.json +11 -55
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +6 -0
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +6 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +2 -1
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +18 -18
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +7 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger.rb +5 -5
- metadata +12 -7
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/daily-rotate-file.js +0 -601
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/transports/webhook.js +0 -146
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/pkginfo/LICENSE +0 -19
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/pkginfo/lib/pkginfo.js +0 -136
- data/src/nodejs_supportlib/vendor-copy/winston/node_modules/pkginfo/package.json +0 -56
@@ -0,0 +1,54 @@
|
|
1
|
+
/*
|
2
|
+
Copyright 2014-2016 Glen Joseph Fernandes
|
3
|
+
(glenjofe@gmail.com)
|
4
|
+
|
5
|
+
Distributed under the Boost Software License, Version 1.0.
|
6
|
+
(http://www.boost.org/LICENSE_1_0.txt)
|
7
|
+
*/
|
8
|
+
#ifndef BOOST_ALIGN_ALIGNMENT_OF_HPP
|
9
|
+
#define BOOST_ALIGN_ALIGNMENT_OF_HPP
|
10
|
+
|
11
|
+
#include <boost/align/detail/element_type.hpp>
|
12
|
+
#include <boost/align/alignment_of_forward.hpp>
|
13
|
+
|
14
|
+
#if defined(_MSC_VER) && defined(__clang__)
|
15
|
+
#include <boost/align/detail/alignment_of_cxx11.hpp>
|
16
|
+
#elif defined(BOOST_MSVC)
|
17
|
+
#include <boost/align/detail/alignment_of_msvc.hpp>
|
18
|
+
#elif defined(__GNUC__) && defined(__unix__) && !defined(__LP64__)
|
19
|
+
#include <boost/align/detail/alignment_of.hpp>
|
20
|
+
#elif defined(BOOST_CLANG) && !defined(__x86_64__)
|
21
|
+
#include <boost/align/detail/alignment_of.hpp>
|
22
|
+
#elif !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
|
23
|
+
#include <boost/align/detail/alignment_of_cxx11.hpp>
|
24
|
+
#elif defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600)
|
25
|
+
#include <boost/align/detail/alignment_of_gcc.hpp>
|
26
|
+
#elif defined(BOOST_CODEGEARC)
|
27
|
+
#include <boost/align/detail/alignment_of_codegear.hpp>
|
28
|
+
#elif defined(BOOST_CLANG)
|
29
|
+
#include <boost/align/detail/alignment_of_clang.hpp>
|
30
|
+
#elif __GNUC__ > 4
|
31
|
+
#include <boost/align/detail/alignment_of_gcc.hpp>
|
32
|
+
#elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)
|
33
|
+
#include <boost/align/detail/alignment_of_gcc.hpp>
|
34
|
+
#else
|
35
|
+
#include <boost/align/detail/alignment_of.hpp>
|
36
|
+
#endif
|
37
|
+
|
38
|
+
namespace boost {
|
39
|
+
namespace alignment {
|
40
|
+
|
41
|
+
template<class T>
|
42
|
+
struct alignment_of
|
43
|
+
: detail::alignment_of<typename
|
44
|
+
detail::element_type<T>::type>::type { };
|
45
|
+
|
46
|
+
#if !defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES)
|
47
|
+
template<class T>
|
48
|
+
constexpr std::size_t alignment_of_v = alignment_of<T>::value;
|
49
|
+
#endif
|
50
|
+
|
51
|
+
} /* alignment */
|
52
|
+
} /* boost */
|
53
|
+
|
54
|
+
#endif
|
@@ -0,0 +1,20 @@
|
|
1
|
+
/*
|
2
|
+
Copyright 2014 Glen Joseph Fernandes
|
3
|
+
(glenjofe@gmail.com)
|
4
|
+
|
5
|
+
Distributed under the Boost Software License, Version 1.0.
|
6
|
+
(http://www.boost.org/LICENSE_1_0.txt)
|
7
|
+
*/
|
8
|
+
#ifndef BOOST_ALIGN_ALIGNMENT_OF_FORWARD_HPP
|
9
|
+
#define BOOST_ALIGN_ALIGNMENT_OF_FORWARD_HPP
|
10
|
+
|
11
|
+
namespace boost {
|
12
|
+
namespace alignment {
|
13
|
+
|
14
|
+
template<class T>
|
15
|
+
struct alignment_of;
|
16
|
+
|
17
|
+
} /* alignment */
|
18
|
+
} /* boost */
|
19
|
+
|
20
|
+
#endif
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/*
|
2
|
+
Copyright 2014 Glen Joseph Fernandes
|
3
|
+
(glenjofe@gmail.com)
|
4
|
+
|
5
|
+
Distributed under the Boost Software License, Version 1.0.
|
6
|
+
(http://www.boost.org/LICENSE_1_0.txt)
|
7
|
+
*/
|
8
|
+
#ifndef BOOST_ALIGN_DETAIL_ALIGN_CXX11_HPP
|
9
|
+
#define BOOST_ALIGN_DETAIL_ALIGN_CXX11_HPP
|
10
|
+
|
11
|
+
#include <memory>
|
12
|
+
|
13
|
+
namespace boost {
|
14
|
+
namespace alignment {
|
15
|
+
|
16
|
+
using std::align;
|
17
|
+
|
18
|
+
} /* alignment */
|
19
|
+
} /* boost */
|
20
|
+
|
21
|
+
#endif
|
@@ -0,0 +1,52 @@
|
|
1
|
+
/*
|
2
|
+
Copyright 2014-2015 Glen Joseph Fernandes
|
3
|
+
(glenjofe@gmail.com)
|
4
|
+
|
5
|
+
Distributed under the Boost Software License, Version 1.0.
|
6
|
+
(http://www.boost.org/LICENSE_1_0.txt)
|
7
|
+
*/
|
8
|
+
#ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_HPP
|
9
|
+
#define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_HPP
|
10
|
+
|
11
|
+
#include <boost/align/detail/is_alignment.hpp>
|
12
|
+
#include <boost/align/align.hpp>
|
13
|
+
#include <boost/align/alignment_of.hpp>
|
14
|
+
#include <boost/assert.hpp>
|
15
|
+
#include <cstdlib>
|
16
|
+
|
17
|
+
namespace boost {
|
18
|
+
namespace alignment {
|
19
|
+
|
20
|
+
inline void*
|
21
|
+
aligned_alloc(std::size_t alignment, std::size_t size) BOOST_NOEXCEPT
|
22
|
+
{
|
23
|
+
BOOST_ASSERT(detail::is_alignment(alignment));
|
24
|
+
enum {
|
25
|
+
N = alignment_of<void*>::value
|
26
|
+
};
|
27
|
+
if (alignment < N) {
|
28
|
+
alignment = N;
|
29
|
+
}
|
30
|
+
std::size_t n = size + alignment - N;
|
31
|
+
void* p = std::malloc(sizeof(void*) + n);
|
32
|
+
if (p) {
|
33
|
+
void* r = static_cast<char*>(p) + sizeof(void*);
|
34
|
+
(void)boost::alignment::align(alignment, size, r, n);
|
35
|
+
*(static_cast<void**>(r) - 1) = p;
|
36
|
+
p = r;
|
37
|
+
}
|
38
|
+
return p;
|
39
|
+
}
|
40
|
+
|
41
|
+
inline void
|
42
|
+
aligned_free(void* ptr) BOOST_NOEXCEPT
|
43
|
+
{
|
44
|
+
if (ptr) {
|
45
|
+
std::free(*(static_cast<void**>(ptr) - 1));
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
} /* alignment */
|
50
|
+
} /* boost */
|
51
|
+
|
52
|
+
#endif
|
@@ -0,0 +1,31 @@
|
|
1
|
+
/*
|
2
|
+
Copyright 2014-2015 Glen Joseph Fernandes
|
3
|
+
(glenjofe@gmail.com)
|
4
|
+
|
5
|
+
Distributed under the Boost Software License, Version 1.0.
|
6
|
+
(http://www.boost.org/LICENSE_1_0.txt)
|
7
|
+
*/
|
8
|
+
#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_HPP
|
9
|
+
#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_HPP
|
10
|
+
|
11
|
+
#include <boost/align/detail/min_size.hpp>
|
12
|
+
|
13
|
+
namespace boost {
|
14
|
+
namespace alignment {
|
15
|
+
namespace detail {
|
16
|
+
|
17
|
+
template<class T>
|
18
|
+
struct offset_value {
|
19
|
+
char value;
|
20
|
+
T object;
|
21
|
+
};
|
22
|
+
|
23
|
+
template<class T>
|
24
|
+
struct alignment_of
|
25
|
+
: min_size<sizeof(T), sizeof(offset_value<T>) - sizeof(T)> { };
|
26
|
+
|
27
|
+
} /* detail */
|
28
|
+
} /* alignment */
|
29
|
+
} /* boost */
|
30
|
+
|
31
|
+
#endif
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/*
|
2
|
+
Copyright 2014 Glen Joseph Fernandes
|
3
|
+
(glenjofe@gmail.com)
|
4
|
+
|
5
|
+
Distributed under the Boost Software License, Version 1.0.
|
6
|
+
(http://www.boost.org/LICENSE_1_0.txt)
|
7
|
+
*/
|
8
|
+
#ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CXX11_HPP
|
9
|
+
#define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CXX11_HPP
|
10
|
+
|
11
|
+
#include <type_traits>
|
12
|
+
|
13
|
+
namespace boost {
|
14
|
+
namespace alignment {
|
15
|
+
namespace detail {
|
16
|
+
|
17
|
+
using std::alignment_of;
|
18
|
+
|
19
|
+
} /* detail */
|
20
|
+
} /* alignment */
|
21
|
+
} /* boost */
|
22
|
+
|
23
|
+
#endif
|
@@ -0,0 +1,91 @@
|
|
1
|
+
/*
|
2
|
+
Copyright 2015 Glen Joseph Fernandes
|
3
|
+
(glenjofe@gmail.com)
|
4
|
+
|
5
|
+
Distributed under the Boost Software License, Version 1.0.
|
6
|
+
(http://www.boost.org/LICENSE_1_0.txt)
|
7
|
+
*/
|
8
|
+
#ifndef BOOST_ALIGN_DETAIL_ELEMENT_TYPE_HPP
|
9
|
+
#define BOOST_ALIGN_DETAIL_ELEMENT_TYPE_HPP
|
10
|
+
|
11
|
+
#include <boost/config.hpp>
|
12
|
+
|
13
|
+
#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
|
14
|
+
#include <type_traits>
|
15
|
+
#else
|
16
|
+
#include <cstddef>
|
17
|
+
#endif
|
18
|
+
|
19
|
+
namespace boost {
|
20
|
+
namespace alignment {
|
21
|
+
namespace detail {
|
22
|
+
|
23
|
+
#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
|
24
|
+
using std::remove_reference;
|
25
|
+
using std::remove_all_extents;
|
26
|
+
using std::remove_cv;
|
27
|
+
#else
|
28
|
+
template<class T>
|
29
|
+
struct remove_reference {
|
30
|
+
typedef T type;
|
31
|
+
};
|
32
|
+
|
33
|
+
template<class T>
|
34
|
+
struct remove_reference<T&> {
|
35
|
+
typedef T type;
|
36
|
+
};
|
37
|
+
|
38
|
+
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
39
|
+
template<class T>
|
40
|
+
struct remove_reference<T&&> {
|
41
|
+
typedef T type;
|
42
|
+
};
|
43
|
+
#endif
|
44
|
+
|
45
|
+
template<class T>
|
46
|
+
struct remove_all_extents {
|
47
|
+
typedef T type;
|
48
|
+
};
|
49
|
+
|
50
|
+
template<class T>
|
51
|
+
struct remove_all_extents<T[]> {
|
52
|
+
typedef typename remove_all_extents<T>::type type;
|
53
|
+
};
|
54
|
+
|
55
|
+
template<class T, std::size_t N>
|
56
|
+
struct remove_all_extents<T[N]> {
|
57
|
+
typedef typename remove_all_extents<T>::type type;
|
58
|
+
};
|
59
|
+
|
60
|
+
template<class T>
|
61
|
+
struct remove_cv {
|
62
|
+
typedef T type;
|
63
|
+
};
|
64
|
+
|
65
|
+
template<class T>
|
66
|
+
struct remove_cv<const T> {
|
67
|
+
typedef T type;
|
68
|
+
};
|
69
|
+
|
70
|
+
template<class T>
|
71
|
+
struct remove_cv<volatile T> {
|
72
|
+
typedef T type;
|
73
|
+
};
|
74
|
+
|
75
|
+
template<class T>
|
76
|
+
struct remove_cv<const volatile T> {
|
77
|
+
typedef T type;
|
78
|
+
};
|
79
|
+
#endif
|
80
|
+
|
81
|
+
template<class T>
|
82
|
+
struct element_type {
|
83
|
+
typedef typename remove_cv<typename remove_all_extents<typename
|
84
|
+
remove_reference<T>::type>::type>::type type;
|
85
|
+
};
|
86
|
+
|
87
|
+
} /* detail */
|
88
|
+
} /* alignment */
|
89
|
+
} /* boost */
|
90
|
+
|
91
|
+
#endif
|
@@ -0,0 +1,53 @@
|
|
1
|
+
/*
|
2
|
+
Copyright 2014-2016 Glen Joseph Fernandes
|
3
|
+
(glenjofe@gmail.com)
|
4
|
+
|
5
|
+
Distributed under the Boost Software License, Version 1.0.
|
6
|
+
(http://www.boost.org/LICENSE_1_0.txt)
|
7
|
+
*/
|
8
|
+
#ifndef BOOST_ALIGN_DETAIL_INTEGRAL_CONSTANT_HPP
|
9
|
+
#define BOOST_ALIGN_DETAIL_INTEGRAL_CONSTANT_HPP
|
10
|
+
|
11
|
+
#include <boost/config.hpp>
|
12
|
+
|
13
|
+
#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
|
14
|
+
#include <type_traits>
|
15
|
+
#endif
|
16
|
+
|
17
|
+
namespace boost {
|
18
|
+
namespace alignment {
|
19
|
+
namespace detail {
|
20
|
+
|
21
|
+
#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
|
22
|
+
using std::integral_constant;
|
23
|
+
using std::true_type;
|
24
|
+
using std::false_type;
|
25
|
+
#else
|
26
|
+
template<class T, T Value>
|
27
|
+
struct integral_constant {
|
28
|
+
typedef T value_type;
|
29
|
+
typedef integral_constant type;
|
30
|
+
|
31
|
+
BOOST_CONSTEXPR operator value_type() const BOOST_NOEXCEPT {
|
32
|
+
return Value;
|
33
|
+
}
|
34
|
+
|
35
|
+
BOOST_CONSTEXPR value_type operator()() const BOOST_NOEXCEPT {
|
36
|
+
return Value;
|
37
|
+
}
|
38
|
+
|
39
|
+
BOOST_STATIC_CONSTEXPR T value = Value;
|
40
|
+
};
|
41
|
+
|
42
|
+
template<class T, T Value>
|
43
|
+
BOOST_CONSTEXPR_OR_CONST T integral_constant<T, Value>::value;
|
44
|
+
|
45
|
+
typedef integral_constant<bool, true> true_type;
|
46
|
+
typedef integral_constant<bool, false> false_type;
|
47
|
+
#endif
|
48
|
+
|
49
|
+
} /* detail */
|
50
|
+
} /* alignment */
|
51
|
+
} /* boost */
|
52
|
+
|
53
|
+
#endif
|
@@ -0,0 +1,26 @@
|
|
1
|
+
/*
|
2
|
+
Copyright 2014 Glen Joseph Fernandes
|
3
|
+
(glenjofe@gmail.com)
|
4
|
+
|
5
|
+
Distributed under the Boost Software License, Version 1.0.
|
6
|
+
(http://www.boost.org/LICENSE_1_0.txt)
|
7
|
+
*/
|
8
|
+
#ifndef BOOST_ALIGN_DETAIL_MIN_SIZE_HPP
|
9
|
+
#define BOOST_ALIGN_DETAIL_MIN_SIZE_HPP
|
10
|
+
|
11
|
+
#include <boost/align/detail/integral_constant.hpp>
|
12
|
+
#include <cstddef>
|
13
|
+
|
14
|
+
namespace boost {
|
15
|
+
namespace alignment {
|
16
|
+
namespace detail {
|
17
|
+
|
18
|
+
template<std::size_t A, std::size_t B>
|
19
|
+
struct min_size
|
20
|
+
: integral_constant<std::size_t, (A < B) ? A : B> { };
|
21
|
+
|
22
|
+
} /* detail */
|
23
|
+
} /* alignment */
|
24
|
+
} /* boost */
|
25
|
+
|
26
|
+
#endif
|
@@ -462,6 +462,14 @@
|
|
462
462
|
offsetof(passenger_loc_conf_t, autogenerated.load_shell_envvars),
|
463
463
|
NULL
|
464
464
|
},
|
465
|
+
{
|
466
|
+
ngx_string("passenger_preload_bundler"),
|
467
|
+
NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF | NGX_CONF_FLAG,
|
468
|
+
passenger_conf_set_preload_bundler,
|
469
|
+
NGX_HTTP_LOC_CONF_OFFSET,
|
470
|
+
offsetof(passenger_loc_conf_t, autogenerated.preload_bundler),
|
471
|
+
NULL
|
472
|
+
},
|
465
473
|
{
|
466
474
|
ngx_string("passenger_max_request_queue_size"),
|
467
475
|
NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF | NGX_CONF_TAKE1,
|
@@ -293,6 +293,12 @@ set_manifest_autogenerated_app_conf_defaults(manifest_gen_ctx_t *ctx, PsgJsonVal
|
|
293
293
|
sizeof("passenger_load_shell_envvars") - 1,
|
294
294
|
1);
|
295
295
|
|
296
|
+
add_manifest_options_container_static_default_bool(ctx,
|
297
|
+
options_container,
|
298
|
+
"passenger_preload_bundler",
|
299
|
+
sizeof("passenger_preload_bundler") - 1,
|
300
|
+
0);
|
301
|
+
|
296
302
|
add_manifest_options_container_static_default_uint(ctx,
|
297
303
|
options_container,
|
298
304
|
"passenger_max_request_queue_size",
|
@@ -709,6 +709,18 @@ passenger_conf_set_load_shell_envvars(ngx_conf_t *cf, ngx_command_t *cmd, void *
|
|
709
709
|
return ngx_conf_set_flag_slot(cf, cmd, conf);
|
710
710
|
}
|
711
711
|
|
712
|
+
static char *
|
713
|
+
passenger_conf_set_preload_bundler(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
|
714
|
+
passenger_loc_conf_t *passenger_conf = conf;
|
715
|
+
|
716
|
+
passenger_conf->autogenerated.preload_bundler_explicitly_set = 1;
|
717
|
+
record_loc_conf_source_location(cf, passenger_conf,
|
718
|
+
&passenger_conf->autogenerated.preload_bundler_source_file,
|
719
|
+
&passenger_conf->autogenerated.preload_bundler_source_line);
|
720
|
+
|
721
|
+
return ngx_conf_set_flag_slot(cf, cmd, conf);
|
722
|
+
}
|
723
|
+
|
712
724
|
static char *
|
713
725
|
passenger_conf_set_max_request_queue_size(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {
|
714
726
|
passenger_loc_conf_t *passenger_conf = conf;
|
@@ -72,6 +72,7 @@ passenger_create_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *con
|
|
72
72
|
conf->direct_instance_request_address.data = NULL;
|
73
73
|
conf->direct_instance_request_address.len = 0;
|
74
74
|
conf->load_shell_envvars = NGX_CONF_UNSET;
|
75
|
+
conf->preload_bundler = NGX_CONF_UNSET;
|
75
76
|
conf->max_request_queue_size = NGX_CONF_UNSET_UINT;
|
76
77
|
conf->app_type.data = NULL;
|
77
78
|
conf->app_type.len = 0;
|
@@ -183,6 +184,10 @@ passenger_create_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *con
|
|
183
184
|
conf->load_shell_envvars_source_file.len = 0;
|
184
185
|
conf->load_shell_envvars_source_line = 0;
|
185
186
|
conf->load_shell_envvars_explicitly_set = 0;
|
187
|
+
conf->preload_bundler_source_file.data = NULL;
|
188
|
+
conf->preload_bundler_source_file.len = 0;
|
189
|
+
conf->preload_bundler_source_line = 0;
|
190
|
+
conf->preload_bundler_explicitly_set = 0;
|
186
191
|
conf->max_request_queue_size_source_file.data = NULL;
|
187
192
|
conf->max_request_queue_size_source_file.len = 0;
|
188
193
|
conf->max_request_queue_size_source_line = 0;
|
@@ -172,6 +172,13 @@ passenger_serialize_autogenerated_loc_conf_to_headers(ngx_conf_t *cf, passenger_
|
|
172
172
|
: sizeof("f\r\n") - 1;
|
173
173
|
}
|
174
174
|
|
175
|
+
if (conf->autogenerated.preload_bundler != NGX_CONF_UNSET) {
|
176
|
+
len += sizeof("!~PASSENGER_PRELOAD_BUNDLER: ") - 1;
|
177
|
+
len += conf->autogenerated.preload_bundler
|
178
|
+
? sizeof("t\r\n") - 1
|
179
|
+
: sizeof("f\r\n") - 1;
|
180
|
+
}
|
181
|
+
|
175
182
|
if (conf->autogenerated.max_request_queue_size != NGX_CONF_UNSET_UINT) {
|
176
183
|
end = ngx_snprintf(int_buf,
|
177
184
|
sizeof(int_buf) - 1,
|
@@ -453,6 +460,17 @@ passenger_serialize_autogenerated_loc_conf_to_headers(ngx_conf_t *cf, passenger_
|
|
453
460
|
}
|
454
461
|
}
|
455
462
|
|
463
|
+
if (conf->autogenerated.preload_bundler != NGX_CONF_UNSET) {
|
464
|
+
pos = ngx_copy(pos,
|
465
|
+
"!~PASSENGER_PRELOAD_BUNDLER: ",
|
466
|
+
sizeof("!~PASSENGER_PRELOAD_BUNDLER: ") - 1);
|
467
|
+
if (conf->autogenerated.preload_bundler) {
|
468
|
+
pos = ngx_copy(pos, "t\r\n", sizeof("t\r\n") - 1);
|
469
|
+
} else {
|
470
|
+
pos = ngx_copy(pos, "f\r\n", sizeof("f\r\n") - 1);
|
471
|
+
}
|
472
|
+
}
|
473
|
+
|
456
474
|
if (conf->autogenerated.max_request_queue_size != NGX_CONF_UNSET_UINT) {
|
457
475
|
pos = ngx_copy(pos,
|
458
476
|
"!~PASSENGER_MAX_REQUEST_QUEUE_SIZE: ",
|
@@ -318,6 +318,19 @@ generate_config_manifest_for_autogenerated_loc_conf(manifest_gen_ctx_t *ctx, pas
|
|
318
318
|
psg_json_value_set_bool(hierarchy_member, "value",
|
319
319
|
plcf->autogenerated.load_shell_envvars);
|
320
320
|
}
|
321
|
+
if (plcf->autogenerated.preload_bundler_explicitly_set) {
|
322
|
+
find_or_create_manifest_app_and_loc_options_containers(ctx,
|
323
|
+
plcf, cscf, clcf, &app_options_container, &loc_options_container);
|
324
|
+
option_container = find_or_create_manifest_option_container(ctx,
|
325
|
+
app_options_container,
|
326
|
+
"passenger_preload_bundler",
|
327
|
+
sizeof("passenger_preload_bundler") - 1);
|
328
|
+
hierarchy_member = add_manifest_option_container_hierarchy_member(option_container,
|
329
|
+
&plcf->autogenerated.preload_bundler_source_file,
|
330
|
+
plcf->autogenerated.preload_bundler_source_line);
|
331
|
+
psg_json_value_set_bool(hierarchy_member, "value",
|
332
|
+
plcf->autogenerated.preload_bundler);
|
333
|
+
}
|
321
334
|
if (plcf->autogenerated.max_request_queue_size_explicitly_set) {
|
322
335
|
find_or_create_manifest_app_and_loc_options_containers(ctx,
|
323
336
|
plcf, cscf, clcf, &app_options_container, &loc_options_container);
|
@@ -107,6 +107,9 @@ passenger_merge_autogenerated_loc_conf(passenger_autogenerated_loc_conf_t *conf,
|
|
107
107
|
ngx_conf_merge_value(conf->load_shell_envvars,
|
108
108
|
prev->load_shell_envvars,
|
109
109
|
1);
|
110
|
+
ngx_conf_merge_value(conf->preload_bundler,
|
111
|
+
prev->preload_bundler,
|
112
|
+
0);
|
110
113
|
ngx_conf_merge_uint_value(conf->max_request_queue_size,
|
111
114
|
prev->max_request_queue_size,
|
112
115
|
100);
|
@@ -56,6 +56,7 @@ typedef struct {
|
|
56
56
|
ngx_uint_t max_requests;
|
57
57
|
ngx_uint_t min_instances;
|
58
58
|
ngx_array_t *monitor_log_file;
|
59
|
+
ngx_flag_t preload_bundler;
|
59
60
|
ngx_int_t request_queue_overflow_status_code;
|
60
61
|
ngx_int_t spawn_exception_status_code;
|
61
62
|
ngx_uint_t start_timeout;
|
@@ -111,6 +112,7 @@ typedef struct {
|
|
111
112
|
ngx_str_t min_instances_source_file;
|
112
113
|
ngx_str_t monitor_log_file_source_file;
|
113
114
|
ngx_str_t nodejs_source_file;
|
115
|
+
ngx_str_t preload_bundler_source_file;
|
114
116
|
ngx_str_t python_source_file;
|
115
117
|
ngx_str_t request_queue_overflow_status_code_source_file;
|
116
118
|
ngx_str_t restart_dir_source_file;
|
@@ -165,6 +167,7 @@ typedef struct {
|
|
165
167
|
ngx_uint_t min_instances_source_line;
|
166
168
|
ngx_uint_t monitor_log_file_source_line;
|
167
169
|
ngx_uint_t nodejs_source_line;
|
170
|
+
ngx_uint_t preload_bundler_source_line;
|
168
171
|
ngx_uint_t python_source_line;
|
169
172
|
ngx_uint_t request_queue_overflow_status_code_source_line;
|
170
173
|
ngx_uint_t restart_dir_source_line;
|
@@ -219,6 +222,7 @@ typedef struct {
|
|
219
222
|
ngx_int_t min_instances_explicitly_set;
|
220
223
|
ngx_int_t monitor_log_file_explicitly_set;
|
221
224
|
ngx_int_t nodejs_explicitly_set;
|
225
|
+
ngx_int_t preload_bundler_explicitly_set;
|
222
226
|
ngx_int_t python_explicitly_set;
|
223
227
|
ngx_int_t request_queue_overflow_status_code_explicitly_set;
|
224
228
|
ngx_int_t restart_dir_explicitly_set;
|
@@ -359,6 +359,7 @@ start_watchdog(ngx_cycle_t *cycle) {
|
|
359
359
|
psg_json_value_set_str_ne (w_config, "server_software", NGINX_VER, strlen(NGINX_VER));
|
360
360
|
psg_json_value_set_bool (w_config, "multi_app", 1);
|
361
361
|
psg_json_value_set_bool (w_config, "default_load_shell_envvars", 1);
|
362
|
+
psg_json_value_set_bool (w_config, "default_preload_bundler", 0);
|
362
363
|
psg_json_value_set_value (w_config, "config_manifest", -1, passenger_main_conf.manifest);
|
363
364
|
psg_json_value_set_ngx_uint (w_config, "log_level", autogenerated_main_conf->log_level);
|
364
365
|
psg_json_value_set_ngx_str_ne(w_config, "file_descriptor_log_target", &autogenerated_main_conf->file_descriptor_log_file);
|