aboutsummaryrefslogtreecommitdiff
path: root/src/platform/windows
diff options
context:
space:
mode:
authorAlexander Pickering <alex@cogarr.net>2019-02-15 11:21:40 -0500
committerGarrett D'Amore <garrett@damore.org>2019-02-15 10:37:51 -0800
commitca655b9db689ee0e655248b1a9f166b8db6cc984 (patch)
tree29933eed07adb318fc36819336f8d33021b0f97d /src/platform/windows
parent1f39e05e8bf38ca3b107c9ac983392707239bc77 (diff)
downloadnng-ca655b9db689ee0e655248b1a9f166b8db6cc984.tar.gz
nng-ca655b9db689ee0e655248b1a9f166b8db6cc984.tar.bz2
nng-ca655b9db689ee0e655248b1a9f166b8db6cc984.zip
Fix bug #868
Define a InterlockedAddNoFence64() function using gcc's atomics on mingw(32|64) (https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html)
Diffstat (limited to 'src/platform/windows')
-rw-r--r--src/platform/windows/win_thread.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/platform/windows/win_thread.c b/src/platform/windows/win_thread.c
index 3ba143bf..f9037f7d 100644
--- a/src/platform/windows/win_thread.c
+++ b/src/platform/windows/win_thread.c
@@ -14,6 +14,11 @@
#ifdef NNG_PLATFORM_WINDOWS
+//mingw does not define InterlockedAddNoFence64, use the mingw equivelent
+#ifdef __MINGW32__ || __MINGW64__
+#define InterlockedAddNoFence64(a,b) __atomic_add_fetch(a,b,__ATOMIC_RELAXED)
+#endif
+
#include <stdlib.h>
void *