summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www/nginx/Makefile.extmod3
-rw-r--r--www/nginx/files/extra-patch-passenger-system-calls52
2 files changed, 54 insertions, 1 deletions
diff --git a/www/nginx/Makefile.extmod b/www/nginx/Makefile.extmod
index 7d860ed0016b..822dc36e19cc 100644
--- a/www/nginx/Makefile.extmod
+++ b/www/nginx/Makefile.extmod
@@ -247,7 +247,8 @@ PASSENGER_DISTFILES= passenger-${PASSENGER_NGINX_VER}.tar.gz:passenger
PASSENGER_VARS= WRKSRC_passenger=${WRKDIR}/passenger-${PASSENGER_NGINX_VER} \
DSO_EXTDIRS+=passenger-${PASSENGER_NGINX_VER}/src/nginx_module
PASSENGER_EXTRA_PATCHES=${PATCHDIR}/extra-patch-passenger-build-nginx.rb \
- ${PATCHDIR}/extra-patch-passenger-disable-telemetry
+ ${PATCHDIR}/extra-patch-passenger-disable-telemetry \
+ ${PATCHDIR}/extra-patch-passenger-system-calls
POSTGRES_USES= pgsql
POSTGRES_GH_TUPLE= FRiCKLE:ngx_postgres:1.0rc7:postgres
diff --git a/www/nginx/files/extra-patch-passenger-system-calls b/www/nginx/files/extra-patch-passenger-system-calls
new file mode 100644
index 000000000000..6ce971b856c0
--- /dev/null
+++ b/www/nginx/files/extra-patch-passenger-system-calls
@@ -0,0 +1,52 @@
+--- ../passenger-6.0.4/src/cxx_supportlib/oxt/system_calls.cpp.original 2019-11-15 01:35:57.674449000 +0200
++++ ../passenger-6.0.4/src/cxx_supportlib/oxt/system_calls.cpp 2019-11-15 01:36:06.053234000 +0200
+@@ -132,15 +132,15 @@
+ _my_errno = errno; \
+ } while ((error_expression) \
+ && _my_errno == EINTR \
+- && (!this_thread::syscalls_interruptable() \
+- || !(_intr_requested = this_thread::interruption_requested())) \
++ && (!boost::this_thread::syscalls_interruptable() \
++ || !(_intr_requested = boost::this_thread::interruption_requested())) \
+ ); \
+ if (OXT_LIKELY(ctx != NULL)) { \
+ ctx->syscall_interruption_lock.lock(); \
+ } \
+ if ((error_expression) \
+ && _my_errno == EINTR \
+- && this_thread::syscalls_interruptable() \
++ && boost::this_thread::syscalls_interruptable() \
+ && _intr_requested) { \
+ throw thread_interrupted(); \
+ } \
+@@ -284,8 +284,8 @@
+ }
+ if (ret == -1
+ && errno == EINTR
+- && this_thread::syscalls_interruptable()
+- && this_thread::interruption_requested()) {
++ && boost::this_thread::syscalls_interruptable()
++ && boost::this_thread::interruption_requested()) {
+ throw thread_interrupted();
+ } else {
+ return ret;
+@@ -662,8 +662,8 @@
+ }
+ } while (ret == -1
+ && e == EINTR
+- && (!this_thread::syscalls_interruptable()
+- || !(intr_requested = this_thread::interruption_requested()))
++ && (!boost::this_thread::syscalls_interruptable()
++ || !(intr_requested = boost::this_thread::interruption_requested()))
+ );
+
+ if (OXT_UNLIKELY(ctx != NULL)) {
+@@ -672,7 +672,7 @@
+
+ if (ret == -1
+ && e == EINTR
+- && this_thread::syscalls_interruptable()
++ && boost::this_thread::syscalls_interruptable()
+ && intr_requested) {
+ throw thread_interrupted();
+ }