summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/ruby/atomic.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/ruby/atomic.h b/include/ruby/atomic.h
index d786df20c9..18072f4810 100644
--- a/include/ruby/atomic.h
+++ b/include/ruby/atomic.h
@@ -72,6 +72,8 @@ typedef unsigned int rb_atomic_t;
#elif defined(HAVE_GCC_SYNC_BUILTINS)
typedef unsigned int rb_atomic_t;
#elif defined(_WIN32)
+# include <winsock2.h> // to prevent macro redefinitions
+# include <windows.h> // for `LONG` and `Interlocked` functions
typedef LONG rb_atomic_t;
#elif defined(__sun) && defined(HAVE_ATOMIC_H)
typedef unsigned int rb_atomic_t;