summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey A. Osokin <osa@FreeBSD.org>2019-09-19 21:09:13 +0000
committerSergey A. Osokin <osa@FreeBSD.org>2019-09-19 21:09:13 +0000
commitcc89420177e501979155fe1555bac70c2a98660c (patch)
tree8e2f723a6183d608f1d656805cf3d3a33eea2681
parentdns/dnsdbq: fix build on GCC architectures (diff)
Fix build on FreeBSD13.
Bump PORTREVISION. Original patch: https://github.com/phusion/passenger/commit/d0d660bbdbb51079ad60188882596810273b1616.patch Thanks to: Camden Narzt <support@phusionpassenger.com>
Notes
Notes: svn path=/head/; revision=512375
-rw-r--r--www/rubygem-passenger/Makefile1
-rw-r--r--www/rubygem-passenger/files/patch-freebsd1391
2 files changed, 92 insertions, 0 deletions
diff --git a/www/rubygem-passenger/Makefile b/www/rubygem-passenger/Makefile
index 7722b0473d4b..80df183b6e4d 100644
--- a/www/rubygem-passenger/Makefile
+++ b/www/rubygem-passenger/Makefile
@@ -3,6 +3,7 @@
PORTNAME= passenger
PORTVERSION= 6.0.4
+PORTREVISION= 1
CATEGORIES= www rubygems
MASTER_SITES= RG
PKGNAMEPREFIX= rubygem-
diff --git a/www/rubygem-passenger/files/patch-freebsd13 b/www/rubygem-passenger/files/patch-freebsd13
new file mode 100644
index 000000000000..e05f91f21642
--- /dev/null
+++ b/www/rubygem-passenger/files/patch-freebsd13
@@ -0,0 +1,91 @@
+--- src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp.orig 2019-09-19 16:54:40.089339000 -0400
++++ src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp 2019-09-19 16:54:58.167526000 -0400
+@@ -55,7 +55,7 @@
+ self->garbageCollectionCond.timed_wait(lock,
+ posix_time::seconds(5));
+ }
+- while (!this_thread::interruption_requested()) {
++ while (!boost::this_thread::interruption_requested()) {
+ try {
+ UPDATE_TRACE_POINT();
+ unsigned long long sleepTime = self->realGarbageCollect();
+--- src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp.orig 2019-09-19 16:53:35.309791000 -0400
++++ src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp 2019-09-19 16:53:59.509027000 -0400
+@@ -305,7 +305,7 @@
+ while (true) {
+ assert(detachedProcessesCheckerActive);
+
+- if (getLifeStatus() == SHUT_DOWN || this_thread::interruption_requested()) {
++ if (getLifeStatus() == SHUT_DOWN || boost::this_thread::interruption_requested()) {
+ UPDATE_TRACE_POINT();
+ P_DEBUG("Stopping detached processes checker");
+ detachedProcessesCheckerActive = false;
+--- src/cxx_supportlib/oxt/system_calls.cpp.orig 2019-09-19 17:00:06.903986000 -0400
++++ src/cxx_supportlib/oxt/system_calls.cpp 2019-09-19 17:02:32.106158000 -0400
+@@ -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();
+ }
+@@ -748,14 +748,14 @@
+ * http://stackoverflow.com/questions/20410943/segmentation-fault-when-accessing-statically-initialized-thread-variable?noredirect=1#comment30483943_20410943
+ * https://bugzilla.redhat.com/show_bug.cgi?id=731228
+ */
+- __thread int this_thread::_syscalls_interruptable = 1;
++ __thread int boost::this_thread::_syscalls_interruptable = 1;
+
+ bool
+ boost::this_thread::syscalls_interruptable() {
+ return _syscalls_interruptable;
+ }
+ #else
+- boost::thread_specific_ptr<bool> this_thread::_syscalls_interruptable;
++ boost::thread_specific_ptr<bool> boost::this_thread::_syscalls_interruptable;
+
+ bool
+ boost::this_thread::syscalls_interruptable() {