summaryrefslogtreecommitdiff
path: root/ruby_atomic.h
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_atomic.h')
-rw-r--r--ruby_atomic.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/ruby_atomic.h b/ruby_atomic.h
index 4bc9f37e0d..52b93efbd1 100644
--- a/ruby_atomic.h
+++ b/ruby_atomic.h
@@ -42,6 +42,7 @@ typedef unsigned int rb_atomic_t; /* Anything OK */
#pragma intrinsic(_InterlockedOr)
#endif
typedef LONG rb_atomic_t;
+#define SIZEOF_ATOMIC_T SIZEOF_LONG
# define ATOMIC_SET(var, val) InterlockedExchange(&(var), (val))
# define ATOMIC_INC(var) InterlockedIncrement(&(var))
@@ -143,6 +144,10 @@ ruby_atomic_size_exchange(size_t *ptr, size_t val)
}
#endif
+#ifndef SIZEOF_ATOMIC_T
+#define SIZEOF_ATOMIC_T SIZEOF_INT
+#endif
+
#ifndef ATOMIC_SIZE_INC
# define ATOMIC_SIZE_INC(var) ATOMIC_INC(var)
#endif