aboutsummaryrefslogtreecommitdiff
path: root/databases/foundationdb
diff options
context:
space:
mode:
authorVanilla I. Shu <vanilla@FreeBSD.org>2019-02-24 01:41:01 +0000
committerVanilla I. Shu <vanilla@FreeBSD.org>2019-02-24 01:41:01 +0000
commit642e7c2be8ad6f6b3283fee5c97d185d231b6c37 (patch)
tree5cb8fda2912a8637a1dec8095c66388e14362865 /databases/foundationdb
parent76bfcff059e5f8d96acf54827031ebf11d032b4a (diff)
Notes
Diffstat (limited to 'databases/foundationdb')
-rw-r--r--databases/foundationdb/Makefile9
-rw-r--r--databases/foundationdb/distinfo6
-rw-r--r--databases/foundationdb/files/patch-FDBLibTLS_local.mk18
-rw-r--r--databases/foundationdb/files/patch-Makefile21
-rw-r--r--databases/foundationdb/files/patch-build_csprojtom4.py55
-rw-r--r--databases/foundationdb/files/patch-build_vcxprojtom4.py56
-rw-r--r--databases/foundationdb/files/patch-fdbbackup_local.mk4
-rw-r--r--databases/foundationdb/files/patch-fdbcli_local.mk8
-rw-r--r--databases/foundationdb/files/patch-fdbclient_BlobStore.h11
-rw-r--r--databases/foundationdb/files/patch-fdbmonitor_fdbmonitor.cpp30
-rw-r--r--databases/foundationdb/files/patch-fdbrpc_IAsyncFile.actor.cpp4
-rw-r--r--databases/foundationdb/files/patch-fdbrpc_Platform.cpp6
-rw-r--r--databases/foundationdb/files/patch-fdbserver_fdbserver.actor.cpp6
-rw-r--r--databases/foundationdb/files/patch-fdbserver_local.mk4
-rw-r--r--databases/foundationdb/files/patch-fdbserver_worker.actor.cpp8
-rw-r--r--databases/foundationdb/files/patch-flow_Deque.h6
-rw-r--r--databases/foundationdb/files/patch-flow_Net2.actor.cpp14
-rw-r--r--databases/foundationdb/files/patch-flow_Platform.cpp63
-rw-r--r--databases/foundationdb/files/patch-flow_Platform.h10
-rw-r--r--databases/foundationdb/files/patch-flow_ThreadPrimitives.cpp4
-rw-r--r--databases/foundationdb/files/patch-flow_ThreadPrimitives.h12
-rw-r--r--databases/foundationdb/files/patch-flow_libs_system_src_error__code.cpp74
22 files changed, 128 insertions, 301 deletions
diff --git a/databases/foundationdb/Makefile b/databases/foundationdb/Makefile
index e929da0edd89..add1f1857a73 100644
--- a/databases/foundationdb/Makefile
+++ b/databases/foundationdb/Makefile
@@ -2,8 +2,8 @@
# $FreeBSD$
PORTNAME= foundationdb
-PORTVERSION= 5.2.8
-PORTREVISION= 2
+PORTVERSION= 6.0.18
+PORTREVISION= 0
CATEGORIES= databases
MAINTAINER= vanilla@FreeBSD.org
@@ -25,8 +25,8 @@ GH_ACCOUNT= apple
USE_RC_SUBR= foundationdb
SHEBANG_FILES= build/csprojtom4.py build/link-wrapper.sh build/vcxprojtom4.py \
bindings/c/generate_asm.py
-MAKE_ENV+= PYTHON=${PYTHON_CMD}
-CXXFLAGS+= -Wno-varargs
+MAKE_ENV+= PYTHON=${PYTHON_CMD} TLS_DISABLED=yes
+CXXFLAGS+= -Wno-varargs -DTLS_DISABLED
USERS= ${PORTNAME}
GROUPS= ${PORTNAME}
@@ -40,6 +40,7 @@ PLIST_SUB+= DB_USER=${USERS} \
post-patch:
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/foundationdb.conf
+ @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/flow/Platform.cpp
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/bin/fdbbackup ${STAGEDIR}${PREFIX}/bin
diff --git a/databases/foundationdb/distinfo b/databases/foundationdb/distinfo
index 14755cc92e62..fbab63a83196 100644
--- a/databases/foundationdb/distinfo
+++ b/databases/foundationdb/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1534256583
-SHA256 (apple-foundationdb-5.2.8_GH0.tar.gz) = c276c91a8bfc6f6aaeceeec26f4b3d5a79d806c7a4e66a9138e3299a232eede1
-SIZE (apple-foundationdb-5.2.8_GH0.tar.gz) = 4499309
+TIMESTAMP = 1547178154
+SHA256 (apple-foundationdb-6.0.18_GH0.tar.gz) = d8d0604ccd306e4d52b2a36def27e95504ee7f38a60e75ae16828bdc88ba54a8
+SIZE (apple-foundationdb-6.0.18_GH0.tar.gz) = 4615666
diff --git a/databases/foundationdb/files/patch-FDBLibTLS_local.mk b/databases/foundationdb/files/patch-FDBLibTLS_local.mk
index e2f8b1b95a26..5ff1fbcd798a 100644
--- a/databases/foundationdb/files/patch-FDBLibTLS_local.mk
+++ b/databases/foundationdb/files/patch-FDBLibTLS_local.mk
@@ -1,12 +1,10 @@
---- FDBLibTLS/local.mk.orig 2018-05-16 23:59:08 UTC
+--- FDBLibTLS/local.mk.orig 2018-09-11 01:21:54 UTC
+++ FDBLibTLS/local.mk
-@@ -1,6 +1,6 @@
--FDBLibTLS_CFLAGS := -fPIC -I/usr/local/include -I$(BOOSTDIR) -Ifdbrpc
--FDBLibTLS_STATIC_LIBS := -ltls -lssl -lcrypto
--FDBLibTLS_LDFLAGS := -L/usr/local/lib -static-libstdc++ -static-libgcc -lrt
-+FDBLibTLS_CFLAGS := -fPIC -I/usr/local/include -I$(BOOSTDIR)/include -I../fdbrpc
-+FDBLibTLS_LIBS := -lssl -lcrypto
-+FDBLibTLS_LDFLAGS := -lc++
- FDBLibTLS_LDFLAGS += -Wl,-soname,FDBLibTLS.so -Wl,--version-script=FDBLibTLS/FDBLibTLS.map
+@@ -23,6 +23,6 @@
+ FDBLibTLS_BUILD_SOURCES +=
- # The plugin isn't a typical library, so it feels more sensible to have a copy
+
+-FDBLibTLS_CFLAGS := -fPIC -I/usr/local/include -I$(BOOSTDIR) -Iflow -Ifdbrpc -DUSE_UCONTEXT
++FDBLibTLS_CFLAGS := -fPIC -I$(BOOSTDIR)/include -Ifdbrpc -Iflow -DUSE_UCONTEXT
+
+ lib/libFDBLibTLS.a: bin/coverage.FDBLibTLS.xml
diff --git a/databases/foundationdb/files/patch-Makefile b/databases/foundationdb/files/patch-Makefile
index 4b30c71d8964..1348bf944ad9 100644
--- a/databases/foundationdb/files/patch-Makefile
+++ b/databases/foundationdb/files/patch-Makefile
@@ -1,4 +1,4 @@
---- Makefile.orig 2018-08-01 01:25:10 UTC
+--- Makefile.orig 2019-01-09 22:28:32 UTC
+++ Makefile
@@ -6,6 +6,8 @@ TOPDIR := $(shell pwd)
@@ -9,16 +9,19 @@
else
$(error Not prepared to compile on $(ARCH))
endif
-@@ -15,7 +17,7 @@ ifeq ($(MONO),)
+@@ -15,11 +17,7 @@ ifeq ($(MONO),)
MONO := /usr/bin/mono
endif
--MCS := $(shell which dmcs)
-+MCS := $(shell which mcs)
+-DMCS := $(shell which dmcs)
+ MCS := $(shell which mcs)
+-ifneq ($(DMCS),)
+- MCS := $(DMCS)
+-endif
ifeq ($(MCS),)
MCS := /usr/bin/dmcs
endif
-@@ -40,6 +42,15 @@ ifeq ($(PLATFORM),Linux)
+@@ -45,6 +43,15 @@ ifeq ($(PLATFORM),Linux)
DLEXT := so
java_DLEXT := so
TARGET_LIBC_VERSION ?= 2.11
@@ -34,7 +37,7 @@
else ifeq ($(PLATFORM),Darwin)
PLATFORM := osx
-@@ -92,7 +103,7 @@ STATIC_LIBS :=
+@@ -108,7 +115,7 @@ STATIC_LIBS :=
VPATH += $(addprefix :,$(filter-out lib,$(patsubst -L%,%,$(filter -L%,$(LDFLAGS)))))
CS_PROJECTS := flow/actorcompiler flow/coveragetool fdbclient/vexillographer
@@ -43,7 +46,7 @@
OTHER_PROJECTS := bindings/python bindings/ruby bindings/go
CS_MK_GENERATED := $(CS_PROJECTS:=/generated.mk)
-@@ -101,7 +112,7 @@ CPP_MK_GENERATED := $(CPP_PROJECTS:=/gen
+@@ -117,7 +124,7 @@ CPP_MK_GENERATED := $(CPP_PROJECTS:=/generated.mk)
MK_GENERATED := $(CS_MK_GENERATED) $(CPP_MK_GENERATED)
# build/valgrind.mk needs to be included before any _MK_GENERATED (which in turn includes local.mk)
@@ -52,7 +55,7 @@
ALL_MAKEFILES := Makefile $(MK_INCLUDE) $(patsubst %/generated.mk,%/local.mk,$(MK_GENERATED))
-@@ -111,7 +122,7 @@ TARGETS =
+@@ -127,7 +134,7 @@ TARGETS =
default: fdbserver fdbbackup fdbcli fdb_c fdb_python fdb_python_sdist
@@ -61,7 +64,7 @@
# These are always defined and ready to use. Any target that uses them and needs them up to date
# should depend on versions.target
-@@ -133,11 +144,11 @@ Makefiles: $(MK_GENERATED)
+@@ -149,11 +156,11 @@ Makefiles: $(MK_GENERATED)
$(CS_MK_GENERATED): build/csprojtom4.py build/csproj.mk Makefile
@echo "Creating $@"
diff --git a/databases/foundationdb/files/patch-build_csprojtom4.py b/databases/foundationdb/files/patch-build_csprojtom4.py
deleted file mode 100644
index 570fbd352aaa..000000000000
--- a/databases/foundationdb/files/patch-build_csprojtom4.py
+++ /dev/null
@@ -1,55 +0,0 @@
---- build/csprojtom4.py.orig 2018-08-14 14:24:41 UTC
-+++ build/csprojtom4.py
-@@ -1,5 +1,5 @@
- #!/usr/local/bin/python2.7
--#
-+#i
- # csprojtom4.py
- #
- # This source file is part of the FoundationDB open source project
-@@ -23,8 +23,8 @@
- import sys
-
- if len(sys.argv) != 2:
-- print """Usage:
-- %s [input]""" % sys.argv[0]
-+ print("""Usage:
-+ %s [input]""" % sys.argv[0])
- sys.exit()
-
- csproj = sys.argv[1]
-@@ -34,20 +34,20 @@ from xml.dom.minidom import parse
- try:
- dom = parse(csproj)
- except:
-- print "ERROR: Unable to open CSProj file %s" % csproj
-+ print("ERROR: Unable to open CSProj file %s" % csproj)
- sys.exit()
-
- outputType = dom.getElementsByTagName("OutputType")[0].childNodes[0].data
- assemblyName = dom.getElementsByTagName("AssemblyName")[0].childNodes[0].data
-
- if outputType == "Exe":
-- print "define(`GENTARGET', `bin/%s.exe')dnl" % assemblyName
-- print "define(`GENOUTPUTTYPE', `exe')dnl"
-+ print("define(`GENTARGET', `bin/%s.exe')dnl" % assemblyName)
-+ print("define(`GENOUTPUTTYPE', `exe')dnl")
- elif outputType == "Library":
-- print "define(`GENTARGET', `bin/%s.dll')dnl" % assemblyName
-- print "define(`GENOUTPUTTYPE', `library')dnl"
-+ print("define(`GENTARGET', `bin/%s.dll')dnl" % assemblyName)
-+ print("define(`GENOUTPUTTYPE', `library')dnl")
- else:
-- print "ERROR: Unable to determine output type"
-+ print("ERROR: Unable to determine output type")
- sys.exit()
-
- sources = [node.getAttribute("Include").replace('\\', '/') for node in
-@@ -55,5 +55,5 @@ sources = [node.getAttribute("Include").
- assemblies = [node.getAttribute("Include") for node in
- dom.getElementsByTagName("Reference")]
-
--print "define(`GENSOURCES', `%s')dnl" % ' '.join(sources)
--print "define(`GENREFERENCES', `%s')dnl" % ','.join(assemblies)
-+print("define(`GENSOURCES', `%s')dnl" % ' '.join(sources))
-+print("define(`GENREFERENCES', `%s')dnl" % ','.join(assemblies))
diff --git a/databases/foundationdb/files/patch-build_vcxprojtom4.py b/databases/foundationdb/files/patch-build_vcxprojtom4.py
deleted file mode 100644
index 547e1e2d0219..000000000000
--- a/databases/foundationdb/files/patch-build_vcxprojtom4.py
+++ /dev/null
@@ -1,56 +0,0 @@
---- build/vcxprojtom4.py.orig 2018-08-14 14:24:41 UTC
-+++ build/vcxprojtom4.py
-@@ -23,8 +23,8 @@
- import sys
-
- if len(sys.argv) != 2:
-- print """Usage:
-- %s [input]""" % sys.argv[0]
-+ print("""Usage:
-+ %s [input]""" % sys.argv[0])
- sys.exit()
-
- vcxproj = sys.argv[1]
-@@ -34,7 +34,7 @@ from xml.dom.minidom import parse
- try:
- dom = parse(vcxproj)
- except:
-- print "ERROR: Unable to open VCXProj file %s" % vcxproj
-+ print("ERROR: Unable to open VCXProj file %s" % vcxproj)
- sys.exit()
-
- # We need to find out what kind of project/configuration we're going
-@@ -49,19 +49,19 @@ for group in groups:
- configType = ctnodes[0].childNodes[0].data
- break
-
--print "define(`GENCONFIGTYPE', `%s')dnl" % configType
-+print("define(`GENCONFIGTYPE', `%s')dnl" % configType)
-
- if configType == "StaticLibrary":
-- print "define(`GENTARGET', `lib/lib`'GENNAME.a')dnl"
-- print "define(`GENOUTDIR', `lib')dnl"
-+ print("define(`GENTARGET', `lib/lib`'GENNAME.a')dnl")
-+ print("define(`GENOUTDIR', `lib')dnl")
- elif configType == "DynamicLibrary":
-- print "define(`GENTARGET', `lib/lib`'GENNAME.$(DLEXT)')dnl"
-- print "define(`GENOUTDIR', `lib')dnl"
-+ print("define(`GENTARGET', `lib/lib`'GENNAME.$(DLEXT)')dnl")
-+ print("define(`GENOUTDIR', `lib')dnl")
- elif configType == "Application":
-- print "define(`GENTARGET', `bin/'`GENNAME')dnl"
-- print "define(`GENOUTDIR', `bin')dnl"
-+ print("define(`GENTARGET', `bin/'`GENNAME')dnl")
-+ print("define(`GENOUTDIR', `bin')dnl")
- else:
-- print "ERROR: Unable to determine configuration type"
-+ print("ERROR: Unable to determine configuration type")
- sys.exit()
-
- sources = [node.getAttribute("Include").replace('\\', '/') for node in
-@@ -70,4 +70,4 @@ sources = [node.getAttribute("Include").
- dom.getElementsByTagName("ClInclude")
- if not node.getElementsByTagName("ExcludedFromBuild") and node.hasAttribute("Include")]
-
--print "define(`GENSOURCES', `%s')dnl" % ' '.join(sorted(sources))
-+print("define(`GENSOURCES', `%s')dnl" % ' '.join(sorted(sources)))
diff --git a/databases/foundationdb/files/patch-fdbbackup_local.mk b/databases/foundationdb/files/patch-fdbbackup_local.mk
index 517d4099e533..5c350aac8330 100644
--- a/databases/foundationdb/files/patch-fdbbackup_local.mk
+++ b/databases/foundationdb/files/patch-fdbbackup_local.mk
@@ -1,6 +1,6 @@
---- fdbbackup/local.mk.orig 2018-04-19 02:55:50 UTC
+--- fdbbackup/local.mk.orig 2018-09-11 01:21:54 UTC
+++ fdbbackup/local.mk
-@@ -34,6 +34,8 @@ ifeq ($(PLATFORM),linux)
+@@ -35,6 +35,8 @@ ifeq ($(PLATFORM),linux)
# fdbbackup_STATIC_LIBS += -ltcmalloc -lunwind -lprofiler
else ifeq ($(PLATFORM),osx)
fdbbackup_LDFLAGS += -lc++
diff --git a/databases/foundationdb/files/patch-fdbcli_local.mk b/databases/foundationdb/files/patch-fdbcli_local.mk
index 4d88054a2071..e8b78d1da51e 100644
--- a/databases/foundationdb/files/patch-fdbcli_local.mk
+++ b/databases/foundationdb/files/patch-fdbcli_local.mk
@@ -1,12 +1,12 @@
---- fdbcli/local.mk.orig 2018-04-19 02:55:50 UTC
+--- fdbcli/local.mk.orig 2018-09-11 01:21:54 UTC
+++ fdbcli/local.mk
@@ -22,7 +22,7 @@
fdbcli_CFLAGS := $(fdbclient_CFLAGS)
fdbcli_LDFLAGS := $(fdbrpc_LDFLAGS)
--fdbcli_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a -ldl
-+fdbcli_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a
- fdbcli_STATIC_LIBS :=
+-fdbcli_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a -ldl $(FDB_TLS_LIB)
++fdbcli_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a $(FDB_TLS_LIB)
+ fdbcli_STATIC_LIBS := $(TLS_LIBS)
fdbcli_GENERATED_SOURCES += versions.h
@@ -32,6 +32,8 @@ ifeq ($(PLATFORM),linux)
diff --git a/databases/foundationdb/files/patch-fdbclient_BlobStore.h b/databases/foundationdb/files/patch-fdbclient_BlobStore.h
new file mode 100644
index 000000000000..887998667678
--- /dev/null
+++ b/databases/foundationdb/files/patch-fdbclient_BlobStore.h
@@ -0,0 +1,11 @@
+--- fdbclient/BlobStore.h.orig 2019-02-23 13:23:11 UTC
++++ fdbclient/BlobStore.h
+@@ -36,7 +36,7 @@ class BlobStoreEndpoint : public ReferenceCounted<Blob
+ struct Stats {
+ Stats() : requests_successful(0), requests_failed(0), bytes_sent(0) {}
+ Stats operator-(const Stats &rhs);
+- void clear() { memset(this, sizeof(*this), 0); }
++ void clear() { memset(this, 0, sizeof(*this)); }
+ json_spirit::mObject getJSON();
+
+ int64_t requests_successful;
diff --git a/databases/foundationdb/files/patch-fdbmonitor_fdbmonitor.cpp b/databases/foundationdb/files/patch-fdbmonitor_fdbmonitor.cpp
index 67308310a90c..9619048abadc 100644
--- a/databases/foundationdb/files/patch-fdbmonitor_fdbmonitor.cpp
+++ b/databases/foundationdb/files/patch-fdbmonitor_fdbmonitor.cpp
@@ -1,4 +1,4 @@
---- fdbmonitor/fdbmonitor.cpp.orig 2018-08-01 01:25:10 UTC
+--- fdbmonitor/fdbmonitor.cpp.orig 2019-01-09 22:28:32 UTC
+++ fdbmonitor/fdbmonitor.cpp
@@ -35,6 +35,10 @@
#include <linux/limits.h>
@@ -20,7 +20,7 @@
typedef int fdb_fd_set;
#endif
-@@ -83,7 +87,7 @@ void monitor_fd( fdb_fd_set list, int fd
+@@ -83,7 +87,7 @@ void monitor_fd( fdb_fd_set list, int fd, int* maxfd,
FD_SET( fd, list );
if ( fd > *maxfd )
*maxfd = fd;
@@ -29,7 +29,7 @@
/* ignore maxfd */
struct kevent ev;
EV_SET( &ev, fd, EVFILT_READ, EV_ADD, 0, 0, cmd );
-@@ -94,7 +98,7 @@ void monitor_fd( fdb_fd_set list, int fd
+@@ -94,7 +98,7 @@ void monitor_fd( fdb_fd_set list, int fd, int* maxfd,
void unmonitor_fd( fdb_fd_set list, int fd ) {
#ifdef __linux__
FD_CLR( fd, list );
@@ -38,7 +38,7 @@
struct kevent ev;
EV_SET( &ev, fd, EVFILT_READ, EV_DELETE, 0, 0, NULL );
kevent( list, &ev, 1, NULL, 0, NULL ); // FIXME: check?
-@@ -188,7 +192,7 @@ const char* get_value_multi(const CSimpl
+@@ -188,7 +192,7 @@ const char* get_value_multi(const CSimpleIni& ini, con
}
double timer() {
@@ -47,7 +47,7 @@
struct timespec ts;
clock_gettime(CLOCK_MONOTONIC, &ts);
return double(ts.tv_sec) + (ts.tv_nsec * 1e-9);
-@@ -822,7 +826,7 @@ void read_child_output( Command* cmd, in
+@@ -824,7 +828,7 @@ void read_child_output( Command* cmd, int pipe_idx, fd
}
}
@@ -56,7 +56,7 @@
void watch_conf_dir( int kq, int* confd_fd, std::string confdir ) {
struct kevent ev;
std::string original = confdir;
-@@ -839,7 +843,7 @@ void watch_conf_dir( int kq, int* confd_
+@@ -841,7 +845,7 @@ void watch_conf_dir( int kq, int* confd_fd, std::strin
std::string child = confdir;
/* Find the nearest existing ancestor */
@@ -65,7 +65,7 @@
child = confdir;
confdir = parentDirectory(confdir);
}
-@@ -876,7 +880,7 @@ void watch_conf_file( int kq, int* conff
+@@ -878,7 +882,7 @@ void watch_conf_file( int kq, int* conff_fd, const cha
}
/* Open and watch */
@@ -74,7 +74,7 @@
if ( *conff_fd >= 0 ) {
EV_SET( &ev, *conff_fd, EVFILT_VNODE, EV_ADD | EV_CLEAR, NOTE_WRITE | NOTE_ATTRIB, 0, NULL );
kevent( kq, &ev, 1, NULL, 0, NULL );
-@@ -983,7 +987,7 @@ std::unordered_map<int, std::unordered_s
+@@ -985,7 +989,7 @@ std::unordered_map<int, std::unordered_set<std::string
int main(int argc, char** argv) {
std::string lockfile = "/var/run/fdbmonitor.pid";
@@ -83,7 +83,7 @@
std::vector<const char *> additional_watch_paths;
-@@ -1065,7 +1069,7 @@ int main(int argc, char** argv) {
+@@ -1067,7 +1071,7 @@ int main(int argc, char** argv) {
/* only linux needs this, but... */
int maxfd = 0;
@@ -92,7 +92,7 @@
fd_set rfds;
watched_fds = &rfds;
-@@ -1080,12 +1084,12 @@ int main(int argc, char** argv) {
+@@ -1082,12 +1086,12 @@ int main(int argc, char** argv) {
CSimpleIniA* ini = NULL;
if (daemonize) {
@@ -107,7 +107,7 @@
#pragma GCC diagnostic pop
#endif
log_err("daemon", errno, "Unable to daemonize");
-@@ -1138,12 +1142,12 @@ int main(int argc, char** argv) {
+@@ -1140,12 +1144,12 @@ int main(int argc, char** argv) {
snprintf(pid_buf, sizeof(pid_buf), "%d\n", getpid());
ssize_t ign = write(lockfile_fd, pid_buf, strlen(pid_buf));
@@ -122,7 +122,7 @@
int kq = kqueue();
if ( kq < 0 ) {
log_err( "kqueue", errno, "Unable to create kqueue" );
-@@ -1174,7 +1178,7 @@ int main(int argc, char** argv) {
+@@ -1176,7 +1180,7 @@ int main(int argc, char** argv) {
#endif
@@ -131,7 +131,7 @@
signal(SIGCHLD, child_handler);
#endif
-@@ -1188,11 +1192,11 @@ int main(int argc, char** argv) {
+@@ -1190,11 +1194,11 @@ int main(int argc, char** argv) {
/* normal will be restored in our main loop in the call to
pselect, but none blocks all signals while processing events */
sigprocmask(SIG_SETMASK, &full_mask, &normal_mask);
@@ -145,7 +145,7 @@
struct stat st_buf;
struct timespec mtimespec;
-@@ -1251,7 +1255,7 @@ int main(int argc, char** argv) {
+@@ -1253,7 +1257,7 @@ int main(int argc, char** argv) {
load_conf(confpath.c_str(), uid, gid, &normal_mask, &rfds, &maxfd);
reload_additional_watches = false;
@@ -154,7 +154,7 @@
load_conf( confpath.c_str(), uid, gid, &normal_mask, watched_fds, &maxfd );
watch_conf_file( kq, &conff_fd, confpath.c_str() );
watch_conf_dir( kq, &confd_fd, confdir );
-@@ -1289,7 +1293,7 @@ int main(int argc, char** argv) {
+@@ -1291,7 +1295,7 @@ int main(int argc, char** argv) {
if(nfds == 0) {
reload = true;
}
diff --git a/databases/foundationdb/files/patch-fdbrpc_IAsyncFile.actor.cpp b/databases/foundationdb/files/patch-fdbrpc_IAsyncFile.actor.cpp
index 404560b14c1b..12f943787ec0 100644
--- a/databases/foundationdb/files/patch-fdbrpc_IAsyncFile.actor.cpp
+++ b/databases/foundationdb/files/patch-fdbrpc_IAsyncFile.actor.cpp
@@ -1,6 +1,6 @@
---- fdbrpc/IAsyncFile.actor.cpp.orig 2018-08-01 01:25:10 UTC
+--- fdbrpc/IAsyncFile.actor.cpp.orig 2019-01-09 22:28:32 UTC
+++ fdbrpc/IAsyncFile.actor.cpp
-@@ -42,7 +42,7 @@ ACTOR static Future<Void> zeroRangeHelpe
+@@ -42,7 +42,7 @@ ACTOR static Future<Void> zeroRangeHelper( Reference<I
Void _ = wait( yield() );
}
diff --git a/databases/foundationdb/files/patch-fdbrpc_Platform.cpp b/databases/foundationdb/files/patch-fdbrpc_Platform.cpp
index 9ed1faefd83e..10600ee024c6 100644
--- a/databases/foundationdb/files/patch-fdbrpc_Platform.cpp
+++ b/databases/foundationdb/files/patch-fdbrpc_Platform.cpp
@@ -1,6 +1,6 @@
---- fdbrpc/Platform.cpp.orig 2018-08-01 01:25:10 UTC
+--- fdbrpc/Platform.cpp.orig 2019-01-09 22:28:32 UTC
+++ fdbrpc/Platform.cpp
-@@ -87,7 +87,7 @@ int eraseDirectoryRecursive(std::string
+@@ -87,7 +87,7 @@ int eraseDirectoryRecursive(std::string const& dir) {
__eraseDirectoryRecurseiveCount = 0;
#ifdef _WIN32
system( ("rd /s /q \"" + dir + "\"").c_str() );
@@ -9,7 +9,7 @@
int error =
nftw(dir.c_str(),
[](const char *fpath, const struct stat *sb, int typeflag, struct FTW *ftwbuf) -> int {
-@@ -122,8 +122,8 @@ std::string getDefaultConfigPath() {
+@@ -123,8 +123,8 @@ std::string getDefaultConfigPath() {
return _filepath + "\\foundationdb";
#elif defined(__linux__)
return "/etc/foundationdb";
diff --git a/databases/foundationdb/files/patch-fdbserver_fdbserver.actor.cpp b/databases/foundationdb/files/patch-fdbserver_fdbserver.actor.cpp
index f0d5f7c168f6..11799208b12e 100644
--- a/databases/foundationdb/files/patch-fdbserver_fdbserver.actor.cpp
+++ b/databases/foundationdb/files/patch-fdbserver_fdbserver.actor.cpp
@@ -1,4 +1,4 @@
---- fdbserver/fdbserver.actor.cpp.orig 2018-08-01 01:25:10 UTC
+--- fdbserver/fdbserver.actor.cpp.orig 2019-01-09 22:28:32 UTC
+++ fdbserver/fdbserver.actor.cpp
@@ -60,7 +60,7 @@
#define BOOST_DATE_TIME_NO_LIB
@@ -17,7 +17,7 @@
enum {
OPT_CONNFILE, OPT_SEEDCONNFILE, OPT_SEEDCONNSTRING, OPT_ROLE, OPT_LISTEN, OPT_PUBLICADDR, OPT_DATAFOLDER, OPT_LOGFOLDER, OPT_PARENTPID, OPT_NEWCONSOLE, OPT_NOBOX, OPT_TESTFILE, OPT_RESTARTING, OPT_RANDOMSEED, OPT_KEY, OPT_MEMLIMIT, OPT_STORAGEMEMLIMIT, OPT_MACHINEID, OPT_DCID, OPT_MACHINE_CLASS, OPT_BUGGIFY, OPT_VERSION, OPT_CRASHONERROR, OPT_HELP, OPT_NETWORKIMPL, OPT_NOBUFSTDOUT, OPT_BUFSTDOUTERR, OPT_TRACECLOCK, OPT_NUMTESTERS, OPT_DEVHELP, OPT_ROLLSIZE, OPT_MAXLOGS, OPT_MAXLOGSSIZE, OPT_KNOB, OPT_TESTSERVERS, OPT_TEST_ON_SERVERS, OPT_METRICSCONNFILE, OPT_METRICSPREFIX,
-@@ -351,7 +352,7 @@ public:
+@@ -353,7 +354,7 @@ class WorldReadablePermissions { (public)
throw platform_error();
}
permission.set_permissions( &sa );
@@ -26,7 +26,7 @@
// There is nothing to do here, since the default permissions are fine
#else
#error Port me!
-@@ -361,7 +362,7 @@ public:
+@@ -363,7 +364,7 @@ class WorldReadablePermissions { (public)
virtual ~WorldReadablePermissions() {
#ifdef _WIN32
LocalFree( sa.lpSecurityDescriptor );
diff --git a/databases/foundationdb/files/patch-fdbserver_local.mk b/databases/foundationdb/files/patch-fdbserver_local.mk
index d1cebae5b77b..0bfe9eb2c189 100644
--- a/databases/foundationdb/files/patch-fdbserver_local.mk
+++ b/databases/foundationdb/files/patch-fdbserver_local.mk
@@ -1,6 +1,6 @@
---- fdbserver/local.mk.orig 2018-04-19 02:55:50 UTC
+--- fdbserver/local.mk.orig 2018-09-11 01:21:54 UTC
+++ fdbserver/local.mk
-@@ -34,6 +34,8 @@ ifeq ($(PLATFORM),linux)
+@@ -35,6 +35,8 @@ ifeq ($(PLATFORM),linux)
# fdbserver_STATIC_LIBS += -ltcmalloc -lunwind -lprofiler
else ifeq ($(PLATFORM),osx)
fdbserver_LDFLAGS += -lc++
diff --git a/databases/foundationdb/files/patch-fdbserver_worker.actor.cpp b/databases/foundationdb/files/patch-fdbserver_worker.actor.cpp
index 7e25dfa8e2b1..3530b30f7824 100644
--- a/databases/foundationdb/files/patch-fdbserver_worker.actor.cpp
+++ b/databases/foundationdb/files/patch-fdbserver_worker.actor.cpp
@@ -1,4 +1,4 @@
---- fdbserver/worker.actor.cpp.orig 2018-08-01 01:25:10 UTC
+--- fdbserver/worker.actor.cpp.orig 2019-01-09 22:28:32 UTC
+++ fdbserver/worker.actor.cpp
@@ -39,7 +39,7 @@
#include "fdbclient/ClientWorkerInterface.h"
@@ -9,7 +9,7 @@
#ifdef USE_GPERFTOOLS
#include "gperftools/profiler.h"
#endif
-@@ -267,7 +267,7 @@ ACTOR Future<Void> registrationClient( R
+@@ -272,7 +272,7 @@ ACTOR Future<Void> registrationClient( Reference<Async
}
}
@@ -18,7 +18,7 @@
//A set of threads that should be profiled
std::set<std::thread::id> profiledThreads;
-@@ -279,7 +279,7 @@ int filter_in_thread(void *arg) {
+@@ -284,7 +284,7 @@ int filter_in_thread(void *arg) {
//Enables the calling thread to be profiled
void registerThreadForProfiling() {
@@ -27,7 +27,7 @@
//Not sure if this is actually needed, but a call to backtrace was advised here:
//http://groups.google.com/group/google-perftools/browse_thread/thread/0dfd74532e038eb8/2686d9f24ac4365f?pli=1
profiledThreads.insert(std::this_thread::get_id());
-@@ -293,7 +293,7 @@ void registerThreadForProfiling() {
+@@ -298,7 +298,7 @@ void registerThreadForProfiling() {
void updateCpuProfiler(ProfilerRequest req) {
switch (req.type) {
case ProfilerRequest::Type::GPROF:
diff --git a/databases/foundationdb/files/patch-flow_Deque.h b/databases/foundationdb/files/patch-flow_Deque.h
index b2d39e9acca5..5e146f57b007 100644
--- a/databases/foundationdb/files/patch-flow_Deque.h
+++ b/databases/foundationdb/files/patch-flow_Deque.h
@@ -1,6 +1,6 @@
---- flow/Deque.h.orig 2018-08-01 01:25:10 UTC
+--- flow/Deque.h.orig 2019-01-09 22:28:32 UTC
+++ flow/Deque.h
-@@ -166,7 +166,7 @@ private:
+@@ -166,7 +166,7 @@ class Deque { (private)
new (&newArr[i - begin]) T(std::move(arr[i&mask]));
arr[i&mask].~T();
}
@@ -9,7 +9,7 @@
arr = newArr;
end -= begin;
begin = 0;
-@@ -177,8 +177,8 @@ private:
+@@ -177,8 +177,8 @@ class Deque { (private)
for (int i = begin; i != end; i++)
arr[i&mask].~T();
if(arr)
diff --git a/databases/foundationdb/files/patch-flow_Net2.actor.cpp b/databases/foundationdb/files/patch-flow_Net2.actor.cpp
index 427f0fe9ab93..fa8da1eb24a6 100644
--- a/databases/foundationdb/files/patch-flow_Net2.actor.cpp
+++ b/databases/foundationdb/files/patch-flow_Net2.actor.cpp
@@ -1,6 +1,6 @@
---- flow/Net2.actor.cpp.orig 2018-08-01 01:25:10 UTC
+--- flow/Net2.actor.cpp.orig 2019-01-09 22:28:32 UTC
+++ flow/Net2.actor.cpp
-@@ -56,7 +56,7 @@ uint64_t compatibleProtocolVersionMask =
+@@ -56,7 +56,7 @@ uint64_t compatibleProtocolVersionMask = 0xfffffffffff
uint64_t minValidProtocolVersion = 0x0FDB00A200060001LL;
@@ -9,13 +9,3 @@
#include <execinfo.h>
volatile double net2liveness = 0;
-@@ -403,8 +403,7 @@ private:
-
- void init() {
- // Socket settings that have to be set after connect or accept succeeds
-- boost::asio::socket_base::non_blocking_io nbio(true);
-- socket.io_control(nbio);
-+ socket.non_blocking(true);
- socket.set_option(boost::asio::ip::tcp::no_delay(true));
- }
-
diff --git a/databases/foundationdb/files/patch-flow_Platform.cpp b/databases/foundationdb/files/patch-flow_Platform.cpp
index 26127b74452a..5d08110a2a21 100644
--- a/databases/foundationdb/files/patch-flow_Platform.cpp
+++ b/databases/foundationdb/files/patch-flow_Platform.cpp
@@ -1,4 +1,4 @@
---- flow/Platform.cpp.orig 2018-08-01 01:25:10 UTC
+--- flow/Platform.cpp.orig 2019-01-09 22:28:32 UTC
+++ flow/Platform.cpp
@@ -71,6 +71,7 @@
@@ -8,7 +8,7 @@
#include <sys/mman.h>
#include <unistd.h>
#include <ftw.h>
-@@ -119,6 +120,12 @@
+@@ -119,7 +120,13 @@
#include <IOKit/IOBSD.h>
#endif
@@ -17,10 +17,11 @@
+#include <sys/sysctl.h>
+#include <sys/cpuset.h>
+#include <sys/resource.h>
-+#endif
#endif
++#endif
std::string removeWhitespace(const std::string &t)
+ {
@@ -198,7 +205,7 @@ double getProcessorTimeThread() {
throw platform_error();
}
@@ -54,7 +55,7 @@
return 0;
#endif
}
-@@ -427,6 +442,24 @@ void getMachineRAMInfo(MachineRAMInfo& m
+@@ -427,6 +442,24 @@ void getMachineRAMInfo(MachineRAMInfo& memInfo) {
memInfo.total = pagesize * (vm_stat.free_count + vm_stat.active_count + vm_stat.inactive_count + vm_stat.wire_count);
memInfo.available = pagesize * vm_stat.free_count;
memInfo.committed = memInfo.total - memInfo.available;
@@ -79,7 +80,7 @@
#else
#warning getMachineRAMInfo unimplemented on this platform
#endif
-@@ -435,7 +468,7 @@ void getMachineRAMInfo(MachineRAMInfo& m
+@@ -451,7 +484,7 @@ Error systemErrorCodeToError() {
void getDiskBytes(std::string const& directory, int64_t& free, int64_t& total) {
INJECT_FAULT( platform_error, "getDiskBytes" );
#if defined(__unixish__)
@@ -87,8 +88,8 @@
+#if defined(__linux__) || defined(__FreeBSD__)
struct statvfs buf;
if (statvfs(directory.c_str(), &buf)) {
- TraceEvent(SevError, "GetDiskBytesStatvfsError").detail("Directory", directory).GetLastError();
-@@ -477,7 +510,7 @@ void getDiskBytes(std::string const& dir
+ Error e = systemErrorCodeToError();
+@@ -497,7 +530,7 @@ void getDiskBytes(std::string const& directory, int64_
#endif
}
@@ -97,13 +98,13 @@
const char* getInterfaceName(uint32_t _ip) {
INJECT_FAULT( platform_error, "getInterfaceName" );
static char iname[20];
-@@ -724,6 +757,30 @@ dev_t getDeviceId(std::string path) {
+@@ -744,6 +777,30 @@ dev_t getDeviceId(std::string path) {
#endif
+#ifdef __FreeBSD__
+void getNetworkTraffic(uint32_t ip, uint64_t& bytesSent, uint64_t& bytesReceived,
-+ uint64_t& outSegs, uint64_t& retransSegs) {
++ uint64_t& outSegs, uint64_t& retransSegs) {
+ bytesReceived = 0;
+ bytesSent = 0;
+ outSegs = 0;
@@ -128,7 +129,7 @@
#ifdef __APPLE__
void getNetworkTraffic(uint32_t ip, uint64_t& bytesSent, uint64_t& bytesReceived,
uint64_t& outSegs, uint64_t& retransSegs) {
-@@ -1247,7 +1304,7 @@ struct OffsetTimer {
+@@ -1268,7 +1325,7 @@ struct OffsetTimer {
return offset + count * secondsPerCount;
}
};
@@ -137,7 +138,7 @@
#define DOUBLETIME(ts) (double(ts.tv_sec) + (ts.tv_nsec * 1e-9))
#ifndef CLOCK_MONOTONIC_RAW
#define CLOCK_MONOTONIC_RAW 4 // Confirmed safe to do with glibc >= 2.11 and kernel >= 2.6.28. No promises with older glibc. Older kernel definitely breaks it.
-@@ -1312,7 +1369,7 @@ double timer() {
+@@ -1333,7 +1390,7 @@ double timer() {
GetSystemTimeAsFileTime(&fileTime);
static_assert( sizeof(fileTime) == sizeof(uint64_t), "FILETIME size wrong" );
return (*(uint64_t*)&fileTime - FILETIME_C_EPOCH) * 100e-9;
@@ -146,7 +147,7 @@
struct timespec ts;
clock_gettime(CLOCK_REALTIME, &ts);
return double(ts.tv_sec) + (ts.tv_nsec * 1e-9);
-@@ -1332,7 +1389,7 @@ uint64_t timer_int() {
+@@ -1353,7 +1410,7 @@ uint64_t timer_int() {
GetSystemTimeAsFileTime(&fileTime);
static_assert( sizeof(fileTime) == sizeof(uint64_t), "FILETIME size wrong" );
return (*(uint64_t*)&fileTime - FILETIME_C_EPOCH);
@@ -155,7 +156,7 @@
struct timespec ts;
clock_gettime(CLOCK_REALTIME, &ts);
return uint64_t(ts.tv_sec) * 1e9 + ts.tv_nsec;
-@@ -1481,7 +1538,7 @@ static void *allocateInternal(size_t len
+@@ -1502,7 +1559,7 @@ static void *allocateInternal(size_t length, bool larg
flags |= MAP_HUGETLB;
return mmap(NULL, length, PROT_READ|PROT_WRITE, flags, -1, 0);
@@ -164,7 +165,7 @@
int flags = MAP_PRIVATE|MAP_ANON;
return mmap(NULL, length, PROT_READ|PROT_WRITE, flags, -1, 0);
-@@ -1555,6 +1612,11 @@ void setAffinity(int proc) {
+@@ -1576,6 +1633,11 @@ void setAffinity(int proc) {
CPU_ZERO(&set);
CPU_SET(proc, &set);
sched_setaffinity(0, sizeof(cpu_set_t), &set);
@@ -176,7 +177,7 @@
#endif
}
-@@ -1615,7 +1677,7 @@ void renameFile( std::string const& from
+@@ -1636,7 +1698,7 @@ void renameFile( std::string const& fromPath, std::str
//renamedFile();
return;
}
@@ -185,16 +186,16 @@
if (!rename( fromPath.c_str(), toPath.c_str() )) {
//FIXME: We cannot inject faults after renaming the file, because we could end up with two asyncFileNonDurable open for the same file
//renamedFile();
-@@ -1733,7 +1795,7 @@ bool createDirectory( std::string const&
- }
- TraceEvent(SevError, "CreateDirectory").detail("Directory", directory).GetLastError();
- throw platform_error();
+@@ -1759,7 +1821,7 @@ bool createDirectory( std::string const& directory ) {
+ Error e = systemErrorCodeToError();
+ TraceEvent(SevError, "CreateDirectory").detail("Directory", directory).GetLastError().error(e);
+ throw e;
-#elif (defined(__linux__) || defined(__APPLE__))
+#elif (defined(__linux__) || defined(__APPLE__)) || defined(__FreeBSD__)
size_t sep = 0;
do {
sep = directory.find_first_of('/', sep + 1);
-@@ -1774,7 +1836,7 @@ std::string abspath( std::string const&
+@@ -1804,7 +1866,7 @@ std::string abspath( std::string const& filename ) {
if (*x == '/')
*x = CANONICAL_PATH_SEPARATOR;
return nameBuffer;
@@ -203,7 +204,7 @@
char result[PATH_MAX];
auto r = realpath( filename.c_str(), result );
if (!r) {
-@@ -1839,7 +1901,7 @@ std::string getUserHomeDirectory() {
+@@ -1870,7 +1932,7 @@ std::string getUserHomeDirectory() {
#ifdef _WIN32
#define FILE_ATTRIBUTE_DATA DWORD
@@ -212,7 +213,7 @@
#define FILE_ATTRIBUTE_DATA mode_t
#else
#error Port me!
-@@ -1848,7 +1910,7 @@ std::string getUserHomeDirectory() {
+@@ -1879,7 +1941,7 @@ std::string getUserHomeDirectory() {
bool acceptFile( FILE_ATTRIBUTE_DATA fileAttributes, std::string name, std::string extension ) {
#ifdef _WIN32
return !(fileAttributes & FILE_ATTRIBUTE_DIRECTORY) && StringRef(name).endsWith(extension);
@@ -221,7 +222,7 @@
return S_ISREG(fileAttributes) && StringRef(name).endsWith(extension);
#else
#error Port me!
-@@ -1858,7 +1920,7 @@ bool acceptFile( FILE_ATTRIBUTE_DATA fil
+@@ -1889,7 +1951,7 @@ bool acceptFile( FILE_ATTRIBUTE_DATA fileAttributes, s
bool acceptDirectory( FILE_ATTRIBUTE_DATA fileAttributes, std::string name, std::string extension ) {
#ifdef _WIN32
return (fileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0;
@@ -230,7 +231,7 @@
return S_ISDIR(fileAttributes);
#else
#error Port me!
-@@ -1894,7 +1956,7 @@ std::vector<std::string> findFiles( std:
+@@ -1925,7 +1987,7 @@ std::vector<std::string> findFiles( std::string const&
}
FindClose(h);
}
@@ -239,7 +240,7 @@
DIR *dip;
if ((dip = opendir(directory.c_str())) != NULL) {
-@@ -1958,7 +2020,7 @@ void findFilesRecursively(std::string pa
+@@ -1989,7 +2051,7 @@ void findFilesRecursively(std::string path, std::vecto
void threadSleep( double seconds ) {
#ifdef _WIN32
Sleep( (DWORD)(seconds * 1e3) );
@@ -248,7 +249,7 @@
struct timespec req, rem;
req.tv_sec = seconds;
-@@ -1996,7 +2058,7 @@ void makeTemporary( const char* filename
+@@ -2027,7 +2089,7 @@ void makeTemporary( const char* filename ) {
THREAD_HANDLE startThread(void (*func) (void *), void *arg) {
return (void *)_beginthread(func, 0, arg);
}
@@ -257,7 +258,7 @@
THREAD_HANDLE startThread(void *(*func) (void *), void *arg) {
pthread_t t;
pthread_create(&t, NULL, func, arg);
-@@ -2009,7 +2071,7 @@ THREAD_HANDLE startThread(void *(*func)
+@@ -2040,7 +2102,7 @@ THREAD_HANDLE startThread(void *(*func) (void *), void
void waitThread(THREAD_HANDLE thread) {
#ifdef _WIN32
WaitForSingleObject(thread, INFINITE);
@@ -266,7 +267,7 @@
pthread_join(thread, NULL);
#else
#error Port me!
-@@ -2038,7 +2100,7 @@ int64_t fileSize(std::string const& file
+@@ -2082,7 +2144,7 @@ int64_t fileSize(std::string const& filename) {
return 0;
else
return file_status.st_size;
@@ -275,7 +276,7 @@
struct stat file_status;
if(stat(filename.c_str(), &file_status) != 0)
return 0;
-@@ -2181,6 +2243,8 @@ std::string getDefaultPluginPath( const
+@@ -2225,6 +2287,8 @@ std::string getDefaultPluginPath( const char* plugin_n
return format( "/usr/lib/foundationdb/plugins/%s.so", plugin_name );
#elif defined(__APPLE__)
return format( "/usr/local/foundationdb/plugins/%s.dylib", plugin_name );
@@ -284,7 +285,7 @@
#else
#error Port me!
#endif
-@@ -2430,7 +2494,7 @@ void* getImageOffset() { return NULL; }
+@@ -2475,7 +2539,7 @@ void* getImageOffset() { return NULL; }
#endif
bool isLibraryLoaded(const char* lib_path) {
@@ -293,7 +294,7 @@
#error Port me!
#endif
-@@ -2446,7 +2510,7 @@ bool isLibraryLoaded(const char* lib_pat
+@@ -2491,7 +2555,7 @@ bool isLibraryLoaded(const char* lib_path) {
}
void* loadLibrary(const char* lib_path) {
diff --git a/databases/foundationdb/files/patch-flow_Platform.h b/databases/foundationdb/files/patch-flow_Platform.h
index ae13c29c7fc3..13cc2100c966 100644
--- a/databases/foundationdb/files/patch-flow_Platform.h
+++ b/databases/foundationdb/files/patch-flow_Platform.h
@@ -1,4 +1,4 @@
---- flow/Platform.h.orig 2018-08-01 01:25:10 UTC
+--- flow/Platform.h.orig 2019-01-09 22:28:32 UTC
+++ flow/Platform.h
@@ -22,7 +22,7 @@
#define FLOW_PLATFORM_H
@@ -9,12 +9,12 @@
#define __unixish__ 1
#endif
-@@ -183,6 +183,8 @@ THREAD_HANDLE startThread(void *(func) (
+@@ -182,6 +182,8 @@ THREAD_HANDLE startThread(void *(func) (void *), void
+ #if defined(_WIN32)
#define DYNAMIC_LIB_EXT ".dll"
#elif defined(__linux)
- #define DYNAMIC_LIB_EXT ".so"
-+#elif defined(__FreeBSD__)
+#define DYNAMIC_LIB_EXT ".so"
++#elif defined(__FreeBSD__)
+ #define DYNAMIC_LIB_EXT ".so"
#elif defined(__APPLE__)
#define DYNAMIC_LIB_EXT ".dylib"
- #else
diff --git a/databases/foundationdb/files/patch-flow_ThreadPrimitives.cpp b/databases/foundationdb/files/patch-flow_ThreadPrimitives.cpp
index 264acdc6192f..c005abb58b4d 100644
--- a/databases/foundationdb/files/patch-flow_ThreadPrimitives.cpp
+++ b/databases/foundationdb/files/patch-flow_ThreadPrimitives.cpp
@@ -1,6 +1,6 @@
---- flow/ThreadPrimitives.cpp.orig 2018-08-01 01:25:10 UTC
+--- flow/ThreadPrimitives.cpp.orig 2019-01-09 22:28:32 UTC
+++ flow/ThreadPrimitives.cpp
-@@ -37,7 +37,7 @@ extern std::string format( const char *f
+@@ -37,7 +37,7 @@ extern std::string format( const char *form, ... );
Event::Event() {
#ifdef _WIN32
ev = CreateEvent(NULL, FALSE, FALSE, NULL);
diff --git a/databases/foundationdb/files/patch-flow_ThreadPrimitives.h b/databases/foundationdb/files/patch-flow_ThreadPrimitives.h
index e36f793af1b7..c92f4c3e501b 100644
--- a/databases/foundationdb/files/patch-flow_ThreadPrimitives.h
+++ b/databases/foundationdb/files/patch-flow_ThreadPrimitives.h
@@ -1,4 +1,4 @@
---- flow/ThreadPrimitives.h.orig 2018-08-01 01:25:10 UTC
+--- flow/ThreadPrimitives.h.orig 2019-01-09 22:28:32 UTC
+++ flow/ThreadPrimitives.h
@@ -25,7 +25,7 @@
#include "Error.h"
@@ -9,7 +9,7 @@
#include <semaphore.h>
#endif
-@@ -63,11 +63,11 @@ public:
+@@ -63,11 +63,11 @@ class ThreadSpinLock { (public)
#endif
}
void leave() {
@@ -23,12 +23,12 @@
__sync_synchronize();
#endif
#if VALGRIND
-@@ -117,6 +117,8 @@ private:
+@@ -116,6 +116,8 @@ class Event { (private)
+ #ifdef _WIN32
void* ev;
#elif defined(__linux__)
- sem_t sem;
-+#elif defined(__FreeBSD__)
+ sem_t sem;
++#elif defined(__FreeBSD__)
+ sem_t sem;
#elif defined(__APPLE__)
mach_port_t self;
- semaphore_t sem;
diff --git a/databases/foundationdb/files/patch-flow_libs_system_src_error__code.cpp b/databases/foundationdb/files/patch-flow_libs_system_src_error__code.cpp
index 4c7564894f2a..fc1f1f5c35bf 100644
--- a/databases/foundationdb/files/patch-flow_libs_system_src_error__code.cpp
+++ b/databases/foundationdb/files/patch-flow_libs_system_src_error__code.cpp
@@ -1,80 +1,14 @@
---- flow/libs/system/src/error_code.cpp.orig 2018-08-01 01:25:10 UTC
+--- flow/libs/system/src/error_code.cpp.orig 2018-09-11 01:21:54 UTC
+++ flow/libs/system/src/error_code.cpp
-@@ -15,6 +15,7 @@
- // the library is being built (possibly exporting rather than importing code)
- #define BOOST_SYSTEM_SOURCE
-
-+#include <boost/version.hpp>
- #include <boost/system/config.hpp>
- #include <boost/system/error_code.hpp>
- #include <boost/cerrno.hpp>
-@@ -37,6 +38,7 @@ using namespace boost::system::errc;
-
+@@ -43,6 +43,7 @@ using namespace boost::system::errc;
+ #endif
//----------------------------------------------------------------------------//
+#if BOOST_VERSION < 106800
namespace
{
#if defined(__PGI)
-@@ -48,7 +50,7 @@ namespace
- {
- public:
- generic_error_category(){}
-- const char * name() const;
-+ const char * name() const BOOST_SYSTEM_NOEXCEPT;
- std::string message( int ev ) const;
- };
-
-@@ -56,14 +58,14 @@ namespace
- {
- public:
- system_error_category(){}
-- const char * name() const;
-+ const char * name() const BOOST_SYSTEM_NOEXCEPT;
- std::string message( int ev ) const;
-- error_condition default_error_condition( int ev ) const;
-+ error_condition default_error_condition( int ev ) const BOOST_SYSTEM_NOEXCEPT;
- };
-
- // generic_error_category implementation ---------------------------------//
-
-- const char * generic_error_category::name() const
-+ const char * generic_error_category::name() const BOOST_SYSTEM_NOEXCEPT
- {
- return "generic";
- }
-@@ -154,12 +156,12 @@ namespace
- }
- // system_error_category implementation --------------------------------//
-
-- const char * system_error_category::name() const
-+ const char * system_error_category::name() const BOOST_SYSTEM_NOEXCEPT
- {
- return "system";
- }
-
-- error_condition system_error_category::default_error_condition( int ev ) const
-+ error_condition system_error_category::default_error_condition( int ev ) const BOOST_SYSTEM_NOEXCEPT
- {
- switch ( ev )
- {
-@@ -414,13 +416,13 @@ namespace boost
- // address for comparison purposes
- # endif
-
-- BOOST_SYSTEM_DECL const error_category & system_category()
-+ BOOST_SYSTEM_DECL const error_category & system_category() BOOST_SYSTEM_NOEXCEPT
- {
- static const system_error_category system_category_const;
- return system_category_const;
- }
-
-- BOOST_SYSTEM_DECL const error_category & generic_category()
-+ BOOST_SYSTEM_DECL const error_category & generic_category() BOOST_SYSTEM_NOEXCEPT
- {
- static const generic_error_category generic_category_const;
- return generic_category_const;
-@@ -428,3 +430,4 @@ namespace boost
+@@ -434,3 +435,4 @@ namespace boost
} // namespace system
} // namespace boost