mirror of
https://github.com/oxen-io/oxen-core.git
synced 2023-12-14 02:22:56 +01:00
Update zeromq patches for mingw
This commit is contained in:
parent
b48a654abc
commit
5ba6197d59
4 changed files with 14 additions and 115 deletions
|
@ -461,9 +461,8 @@ build_external(sodium)
|
||||||
add_static_target(sodium sodium_external libsodium.a)
|
add_static_target(sodium sodium_external libsodium.a)
|
||||||
|
|
||||||
|
|
||||||
if(ZMQ_VERSION VERSION_LESS 4.3.3 AND CMAKE_CROSSCOMPILING AND ARCH_TRIPLET MATCHES mingw)
|
if(ZMQ_VERSION VERSION_LESS 4.3.4 AND CMAKE_CROSSCOMPILING AND ARCH_TRIPLET MATCHES mingw)
|
||||||
set(zmq_patch PATCH_COMMAND patch -p1 -i ${PROJECT_SOURCE_DIR}/utils/build_scripts/libzmq-pr3601-mingw-build-fix.patch
|
set(zmq_patch PATCH_COMMAND patch -p1 -i ${PROJECT_SOURCE_DIR}/utils/build_scripts/libzmq-mingw-closesocket.patch)
|
||||||
COMMAND patch -p1 -i ${PROJECT_SOURCE_DIR}/utils/build_scripts/libzmq-pr3613-fix-funcptr-call.patch)
|
|
||||||
endif()
|
endif()
|
||||||
build_external(zmq
|
build_external(zmq
|
||||||
DEPENDS sodium_external
|
DEPENDS sodium_external
|
||||||
|
|
12
utils/build_scripts/libzmq-mingw-closesocket.patch
Normal file
12
utils/build_scripts/libzmq-mingw-closesocket.patch
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
diff --git a/tests/testutil.hpp b/tests/testutil.hpp
|
||||||
|
index c6f5e4de..6a1c8bb8 100644
|
||||||
|
--- a/tests/testutil.hpp
|
||||||
|
+++ b/tests/testutil.hpp
|
||||||
|
@@ -102,7 +102,6 @@ const uint8_t zmtp_ready_sub[27] = {
|
||||||
|
#include <winsock2.h>
|
||||||
|
#include <ws2tcpip.h>
|
||||||
|
#include <stdexcept>
|
||||||
|
-#define close closesocket
|
||||||
|
typedef int socket_size_t;
|
||||||
|
inline const char *as_setsockopt_opt_t (const void *opt)
|
||||||
|
{
|
|
@ -1,69 +0,0 @@
|
||||||
diff --git a/src/thread.cpp b/src/thread.cpp
|
|
||||||
index b14d70757..3675899be 100644
|
|
||||||
--- a/src/thread.cpp
|
|
||||||
+++ b/src/thread.cpp
|
|
||||||
@@ -32,6 +32,10 @@
|
|
||||||
#include "thread.hpp"
|
|
||||||
#include "err.hpp"
|
|
||||||
|
|
||||||
+#ifdef ZMQ_HAVE_WINDOWS
|
|
||||||
+#include <winnt.h>
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
bool zmq::thread_t::get_started () const
|
|
||||||
{
|
|
||||||
return _started;
|
|
||||||
@@ -113,10 +117,22 @@ struct thread_info_t
|
|
||||||
#pragma pack(pop)
|
|
||||||
}
|
|
||||||
|
|
||||||
+typedef struct _MY_EXCEPTION_REGISTRATION_RECORD
|
|
||||||
+{
|
|
||||||
+ struct _MY_EXCEPTION_REGISTRATION_RECORD *Next;
|
|
||||||
+ void *Handler;
|
|
||||||
+} MY_EXCEPTION_REGISTRATION_RECORD;
|
|
||||||
+
|
|
||||||
+static EXCEPTION_DISPOSITION NTAPI continue_execution (EXCEPTION_RECORD *rec,
|
|
||||||
+ void *frame, CONTEXT *ctx, void *disp)
|
|
||||||
+{
|
|
||||||
+ return ExceptionContinueExecution;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void zmq::thread_t::
|
|
||||||
applyThreadName () // to be called in secondary thread context
|
|
||||||
{
|
|
||||||
- if (!_name[0])
|
|
||||||
+ if (!_name[0] || !IsDebuggerPresent())
|
|
||||||
return;
|
|
||||||
|
|
||||||
thread_info_t thread_info;
|
|
||||||
@@ -125,17 +141,19 @@ void zmq::thread_t::
|
|
||||||
thread_info._thread_id = -1;
|
|
||||||
thread_info._flags = 0;
|
|
||||||
|
|
||||||
-#pragma warning(push)
|
|
||||||
-#pragma warning(disable : 6320 6322)
|
|
||||||
- __try {
|
|
||||||
- DWORD MS_VC_EXCEPTION = 0x406D1388;
|
|
||||||
+ NT_TIB *tib = ((NT_TIB*)NtCurrentTeb());
|
|
||||||
+
|
|
||||||
+ MY_EXCEPTION_REGISTRATION_RECORD rec;
|
|
||||||
+ rec.Next = (MY_EXCEPTION_REGISTRATION_RECORD *)tib->ExceptionList;
|
|
||||||
+ rec.Handler = continue_execution;
|
|
||||||
+
|
|
||||||
+ // push our handler, raise, and finally pop our handler
|
|
||||||
+ tib->ExceptionList = (_EXCEPTION_REGISTRATION_RECORD *)&rec;
|
|
||||||
+ DWORD MS_VC_EXCEPTION = 0x406D1388;
|
|
||||||
RaiseException (MS_VC_EXCEPTION, 0,
|
|
||||||
- sizeof (thread_info) / sizeof (ULONG_PTR),
|
|
||||||
- (ULONG_PTR *) &thread_info);
|
|
||||||
- }
|
|
||||||
- __except (EXCEPTION_CONTINUE_EXECUTION) {
|
|
||||||
- }
|
|
||||||
-#pragma warning(pop)
|
|
||||||
+ sizeof (thread_info) / sizeof (ULONG_PTR),
|
|
||||||
+ (ULONG_PTR *) &thread_info);
|
|
||||||
+ tib->ExceptionList = (_EXCEPTION_REGISTRATION_RECORD *)(((MY_EXCEPTION_REGISTRATION_RECORD *)tib->ExceptionList)->Next);
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif defined ZMQ_HAVE_VXWORKS
|
|
|
@ -1,43 +0,0 @@
|
||||||
diff --git a/RELICENSE/tomzbench.md b/RELICENSE/tomzbench.md
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000..1cbcc4fdb
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/RELICENSE/tomzbench.md
|
|
||||||
@@ -0,0 +1,14 @@
|
|
||||||
+# Permission to Relicense under MPLv2
|
|
||||||
+
|
|
||||||
+This is a statement by Thomas Chiantia
|
|
||||||
+that grants permission to relicense its copyrights in the libzmq C++
|
|
||||||
+library (ZeroMQ) under the Mozilla Public License v2 (MPLv2).
|
|
||||||
+
|
|
||||||
+A portion of the commits made by the Github handle "tomzbench", with
|
|
||||||
+commit author "Thomas<Thomas@Altronix.com>", are copyright of
|
|
||||||
+Thomas Chiantia.
|
|
||||||
+This document hereby grants the libzmq project team to relicense libzmq,
|
|
||||||
+including all past, present and future contributions of the author listed above.
|
|
||||||
+
|
|
||||||
+Thomas Chiantia
|
|
||||||
+2019/08/10
|
|
||||||
diff --git a/src/thread.cpp b/src/thread.cpp
|
|
||||||
index 2cad2adaa..6f07e9cee 100644
|
|
||||||
--- a/src/thread.cpp
|
|
||||||
+++ b/src/thread.cpp
|
|
||||||
@@ -117,11 +117,14 @@ struct thread_info_t
|
|
||||||
#pragma pack(pop)
|
|
||||||
}
|
|
||||||
|
|
||||||
-typedef struct _MY_EXCEPTION_REGISTRATION_RECORD
|
|
||||||
+struct MY_EXCEPTION_REGISTRATION_RECORD
|
|
||||||
{
|
|
||||||
- struct _MY_EXCEPTION_REGISTRATION_RECORD *Next;
|
|
||||||
- void *Handler;
|
|
||||||
-} MY_EXCEPTION_REGISTRATION_RECORD;
|
|
||||||
+ typedef EXCEPTION_DISPOSITION (NTAPI *HandlerFunctionType) (
|
|
||||||
+ EXCEPTION_RECORD *, void *, CONTEXT *, void *);
|
|
||||||
+
|
|
||||||
+ MY_EXCEPTION_REGISTRATION_RECORD *Next;
|
|
||||||
+ HandlerFunctionType Handler;
|
|
||||||
+};
|
|
||||||
|
|
||||||
static EXCEPTION_DISPOSITION NTAPI continue_execution (EXCEPTION_RECORD *rec,
|
|
||||||
void *frame,
|
|
Loading…
Reference in a new issue