Skip to content

Conversation

@wmamrak
Copy link

@wmamrak wmamrak commented Oct 1, 2019

No description provided.

@brianGriifin114
Copy link

I also encountered this problem, and a similar patch solved it. But no one in the development team seems to be taking care of this issue.

--- a/include/eathread/internal/eathread_atomic_standalone_msvc.h
+++ b/include/eathread/internal/eathread_atomic_standalone_msvc.h
@@ -65,6 +65,12 @@
 	#endif
 
 	#if defined(EA_PROCESSOR_X86)
+        extern "C" int64_t _InterlockedExchange64_INLINE(int64_t volatile* Target, int64_t Value);
+        extern "C" int64_t _InterlockedExchangeAdd64_INLINE(int64_t volatile* Addend, int64_t Value);
+        extern "C" int64_t _InterlockedAnd64_INLINE(int64_t volatile* Target, int64_t Value);
+        extern "C" int64_t _InterlockedOr64_INLINE(int64_t volatile* Target, int64_t Value);
+        extern "C" int64_t _InterlockedXor64_INLINE(int64_t volatile* Target, int64_t Value);
+	
 		#define _InterlockedExchange64		_InterlockedExchange64_INLINE
 		#define _InterlockedExchangeAdd64	_InterlockedExchangeAdd64_INLINE
 		#define _InterlockedAnd64			_InterlockedAnd64_INLINE

For the new EASTL, EAThread is no longer integrated with it, but downloads dependencies from eabase, so I can't apply the patch locally.Now we can only wait that the development team adopts this fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants